Skip to main content
Skip table of contents

[POST] Sincronizar agrupaciones de usuarios de cola de impresión

Este endpoint sincroniza las agrupaciones de usuarios, manteniendo la base de agrupaciones de usuarios en el portal de NDD Orbix consistente con la base de origen desde la que se conecta la API:

  • Las agrupaciones y/o usuarios no existentes se crearán en el portal.

  • Las agrupaciones y/o usuarios existentes se actualizarán en el portal.

  • Las agrupaciones que falten en la base de origen se eliminarán del portal.

  • Los usuarios desvinculados de la agrupación en la base de datos de origen también se desvincularán de la agrupación en el portal.

Si no hay ninguna agrupación con el mismo GroupName, se creará una nueva agrupación. Si ya existe una agrupación registrada con el mismo GroupName, pero con información GroupDescription diferente, se actualizará la agrupación.

Si no hay ningún usuario con el mismo Logon y Domain, se creará un nuevo usuario. Si ya hay un usuario registrado con el mismo Logon y Domain, pero con información diferente de Name y/o Email, se actualizará el usuario.

Llamada

POST /v1/groups/users-sync

Cabecera (header)

Parámetro

Descripción

Tipo

Obligatorio

Tenant

Nombre del distribuidor.

Para obtener esta información, consulte la documentación: Menús del portal.

string

Authorization

Token de autenticación obtenido.

string

Cuerpo (body)

Parámetro

Descripción

Tipo

Obligatorio

Client

Nombre del cliente, tal y como está registrado en el portal NDD Orbix.

string

Groups

Lista de agrupaciones.

array

GroupName

Nombre que identificará a la agrupación.

string

GroupDescription

Breve descripción del objetivo de la agrupación.

string

No

Users

Lista de usuarios.

array

Logon

Identificación de acceso del usuario.

No utilice acentos, símbolos y espacios.

string

Domain

Dominio al que pertenece el usuario.

No utilice acentos, símbolos y espacios.

string

Name

Nombre completo del usuario.

string

No

Email

Dirección de correo electrónico del usuario.

Ejemplo: abc@abc.com.

string

No

Ejemplo de solicitud

Sincronizar dos agrupaciones con dos usuarios cada una:

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"
                }
            ]
        }
    ]
}'

En una única solicitud puede sincronizar hasta 5 agrupaciones con 1.000 usuarios cada una.

Para sincronizar más de 5 agrupaciones, realice más de una solicitud.

Ejemplo de respuesta

El código de respuesta 201 indica que:

  • todas las agrupaciones han sido creadas, actualizadas o eliminadas correctamente y devolverá el siguiente JSON:

CODE
[]

o

  • se ha producido un fallo parcial en la creación, actualización o eliminación de algunas agrupaciones y devolverá el motivo del fallo en JSON:

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": ""
    }
]

La respuesta de código 400 indica que hubo un fallo al crear, actualizar o eliminar todas las agrupaciones y devolverá el siguiente 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.