Skip to main content
Skip table of contents

[POST] Sincronizar agrupamentos de usuários de filas de impressão

Este endpoint sincroniza agrupamentos de usuários, mantendo a base de agrupamentos de usuários no portal NDD Orbix consistente com a base de origem da qual a API está conectada:

  • Agrupamentos e/ou usuários inexistentes serão criados no portal.

  • Agrupamentos e/ou usuários existentes serão atualizados no portal.

  • Agrupamentos ausentes na base de origem serão excluídos do portal.

  • Usuários desvinculados do agrupamento na base de origem também serão desvinculados do agrupamento no portal.

Caso não exista nenhum agrupamento com o mesmo GroupName, um novo agrupamento será criado. Se já houver um agrupamento cadastrado com o mesmo GroupName, mas com informações diferentes de GroupDescription, o agrupamento será atualizado.

Caso não exista nenhum usuário com o mesmo Logon e Domain, um novo usuário será criado e vinculado automaticamente ao agrupamento. Se já houver um usuário cadastrado com o mesmo Logon e Domain, mas com informações diferentes de Name e/ou Email, o usuário será atualizado.

Chamada

POST /v1/groups/users-sync

Cabeçalho (header)

Parâmetro

Descrição

Tipo

Obrigatório

Tenant

Nome do provedor.

Para obter essa informação, acesse a documentação: Menus do portal.

string

Sim

Authorization

Token de autenticação obtido.

string

Sim

Corpo (body)

Parâmetro

Descrição

Tipo

Obrigatório

Client

Nome do cliente, conforme cadastrado no portal NDD Orbix.

string

Sim

Groups

Lista de agrupamentos.

array

Sim

GroupName

Nome que identificará o agrupamento.

string

Sim

GroupDescription

Breve descrição sobre o objetivo do agrupamento.

string

Não

Users

Lista de usuários.

array

Sim

Logon

Identificação de acesso do usuário.

Não utilize acentos, símbolos e espaços.

string

Sim

Domain

Domínio ao qual o usuário pertence.

Não utilize acentos, símbolos e espaços.

string

Sim

Name

Nome completo do usuário.

string

Não

Email

E-mail do usuário.

Exemplo: abc@abc.com.

string

Não

Exemplo de requisição

Sincronizar dois agrupamentos com dois usuários cada:

CODE
curl -L -X POST 'https://developer.nddorbix.com/printqueue-external-integration-api/v1/groups/users-sync' \
-H 'Tenant: {tenant}' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/json' \
--data-raw '{
    "Client": "ABC",
    "Groups": [
        {
            "GroupName": "Group 1",
            "GroupDescription": "Group 1 description",
            "Users": [
                {
                    "Logon": "carlos.silva",
                    "Domain": "NDD",
                    "Name": "Carlos Silva",
                    "Email": "carlos.silva@ndd.tech"
                },
                {
                    "Logon": "joao.souza",
                    "Domain": "NDD",
                    "Name": "João Souza"
                }
            ]
        },
        {
            "GroupName": "Group 2",
            "GroupDescription": "Group 2 description",
            "Users": [
                {
                    "Logon": "maria.oliveira",
                    "Domain": "NDD",
                    "Email": "maria.oliveira@ndd.tech"
                },
                {
                    "Logon": "joana.pereira",
                    "Domain": "NDD",
                    "Name": "Joana Pereira",
                    "Email": "joana.pereira@ndd.tech"
                }
            ]
        }
    ]
}'

Em uma mesma requisição, é possível sincronizar até 5 agrupamentos com 1.000 usuários cada.

Para a sincronia de mais de 5 agrupamentos, realize mais de uma requisição.

Exemplo de resposta

A resposta de código 201 indica que:

  • todos os agrupamentos foram criados, atualizados ou excluídos com sucesso e retornará o seguinte JSON:

CODE
[]

ou

  • houve falha parcial na criação, atualização ou exclusão de alguns agrupamentos, e retornará, em JSON, o motivo da falha:

CODE
[
    {
        "groupName": "GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest GroupTest",
        "users": [
            {
                "user": "NDD//João Souza",
                "errorMessage": "Logon is not valid."
            }
        ],
        "errorMessage": "Group Name is too long."
    },
    {
        "groupName": "Group 2",
        "users": [
            {
                "user": "NDD//joana.pereira",
                "errorMessage": "E-mail is not valid."
            }
        ],
        "errorMessage": ""
    }
]

A resposta de código 400 indica que houve falha na criação, atualização ou exclusão de todos os agrupamentos e retornará o seguinte JSON:

CODE
{
    "errors": {
        "3400": [
            "All groups are invalid."
        ]
    },
    "title": "BadRequest",
    "status": 400,
    "detail": "BusinessException",
    "instance": "/v1/groups/users-sync"
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.