NAV Navbar
shell

Introducción

¡Bienvenido a la API de Webdox! En Webdox proporcionamos una API RESTful simple y robusta que permite que cualquier servicio integre nuestros servicios.

A través de la API de Webdox, puede administrar fácilmente documentos, workflow y firmas electrónicas dentro de su cuenta de Webdox.

Tenemos enlaces de idiomas en Shel! Puede ver ejemplos de código a la derecha.

VERSIONES DE API

Todas las llamadas a la API están versionadas, y la API actual de Webdox es v2.0. Nunca introduciremos cambios que puedan ocasionar errores en ninguna versión, pero es posible que agreguemos nuevas funciones y mejoras de vez en cuando.

Para comenzar a usar la API, primero debe solicitar una cuenta en www.webdoxclm.com

Autorización

Flujo de Autorización de OAuth2

Credenciales por Contraseña

curl --location --request POST 'https://app.webdoxclm.com/api/v2/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode '[email protected]' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'password=********'

El comando anterior devuelve JSON estructurado así:

{
    "access_token": "0662c5785ac175d804dc38b181d33824da4225730aa76664910cbe49a6ecce5f",
    "token_type": "Bearer",
    "expires_in": 7200,
    "refresh_token": "7e0250b86bee383eff63b6e433d6623faa50d4ae06a68d4d5928a1e03104b865",
    "created_at": 1614948612
}

Se obtiene un nuevo token de acceso con las credenciales básicas de autenticación. El valor predeterminado de expiración de token es de 120 minutos (2 horas).

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/oauth/token

Ejemplo de cuerpo

{ "grant_type":"password", "username":"[email protected]", "password":"*************" }

Postman 4

Encabezado HTTP

Authorization: Bearer <Token>

Refrescar Token

curl --location --request POST 'https://app.webdoxclm.com/api/v2/oauth/token' \
--header 'Content-Type: application/json' \
--form 'token="17de2f1460c5bbba5524831e285a26ed65e710cbde77344e7a7711a317d86191"'

El comando anterior devuelve JSON estructurado así:

{}

Utiliza el token de refresco para solicitar un nuevo token sin utilizar las credenciales de usuario.

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/oauth/token

Ejemplo de cuerpo

{ "grant_type":"refresh_token", "refresh_token":"17de2f1460c5bbba5524831e285a26ed65e710cbde77344e7a7711a317d86191", }

Postman 6

Encabezado HTTP

Authorization: Bearer <Token>

Recordar cambiar el token de acceso en el encabezado para mantener la usabilidad de los endpoints.

Revocación de Token

curl --location --request POST 'https://app.webdoxclm.com/api/v2/oauth/revoke' \
--header 'Content-Type: application/json' \
--form 'token="17de2f1460c5bbba5524831e285a26ed65e710cbde77344e7a7711a317d86191"'

El comando anterior devuelve JSON estructurado así:

{}

Deshabilita completamente el token para su consumo en la api y solicitud de refresco.

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/oauth/revoke

Ejemplo de cuerpo

{ "token":"17de2f1460c5bbba5524831e285a26ed65e710cbde77344e7a7711a317d86191", }

Postman 5

Despues de completar esta acción no podrá refrescar el token.

Workflow

Los workflows son una funcionalidad estrella en Webdox, que le permite administrar fácilmente los procedimientos a seguir para una solicitud o flujo de firma de documentos dentro de su organización.

Listado de workflows

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows'
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": 27,
        "name": "WF 1",
        "status": "started",
        "current_step": [
            {
                "id_number": 2,
                "id_parallel_number": 0,
                "name": "Paso 2 nuevo",
                "step_type": null,
                "assigned_to": [
                    {
                        "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
                        "name": "Jane Doe"
                    }
                ],
                "created_at": "2021-03-02T19:14:35.423-03:00",
                "limit_date": "2021-03-04T19:17:53.192-03:00"
            }
        ]
    },
    {
        "id": 5,
        "name": "Workflow 2",
        "status": "started",
        "current_step": [
            {
                "id_number": 2,
                "id_parallel_number": 0,
                "name": "paso2",
                "step_type": null,
                "assigned_to": [
                    {
                        "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
                        "name": "Jane Doe"
                    }
                ],
                "created_at": "2021-01-27T15:28:50.092-03:00",
                "limit_date": "2021-01-28T15:29:04.426-03:00"
            }
        ]
    }
]

Este endpoint recupera todos los procesos que el usuario puede ver por filtros

GET https://app.webdoxclm.com/api/v2/decision_workflows

Para obetner los valores created_at y limit_date se debe usar el endpoint:

GET https://app.webdoxclm.com/api/v2/decision_workflows/index_with_limit

Parámetros cadena de consulta

GET https://app.webdoxclm.com/api/v2/decision_workflows?page=1&filters[decision_name]=test

Valor Descripción  Tipo
page Pagina a ver  Numerico
per_page Cantidad de elementos por página  Numerico
search Filtro para buscar por un término  Texto
filters[xx] Filtros a aplicar  Texto

Los filtros pueden tomar los siguientes valores:

Valor Descripción  Tipo
decision_name Filtrar por el Nombre del Workflow (Debe ser exacto)  Texto
decision_workflow_template_id Filtrar por ID de la Plantilla de WF  Numerico
status Filtro por Estado del Workflow  Texto
correlative Filtrar por Correlativo  Numerico
request_form_name Filtrar por Nombre de Formulario de Solicitud  Texto
requester_id Filtrar por Solicitante  Numerico
assigned_id Filtar por Asignado en Solicitud  Numerico
initializer_id Filtrar Inicado por  Numerico
request_document_attribute_id Filtar por ID de un Atributo de Solicitud  Numerico
request_document_attribute_value Filtrar por valor del Atributo de Solicitud  Texto

Crear un workflow

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows' \
--header 'Authorization: Bearer 8f52e71903869cc8cf620831859074f43c91a1d3384fd348f1e3cf4864e46f64' \
--header 'Content-Type: application/json' \
--header 'Cookie: csrftoken=uxWx5huTKxYHq9gbcgXeDoLisd9lF1mqzyvzX7Ex62s99q7OE5ByyLTbbD3E4ld7' \
--data-raw '{
    "decision_name": "Workflow creation test",
    "decision_workflow_template_id": "9e0b12b0-e0ed-4493-8182-d00c0c9a9667"
}'

El comando anterior devuelve JSON estructurado así:

{
    "id": 98,
    "name": "Workflow creation test",
    "template_id": "9e0b12b0-e0ed-4493-8182-d00c0c9a9667"
}

Este endpoint crea un workflow desde la plantilla

Formatos admitidos

[JSON]

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/decision_workflows

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
decision_name Debe ser una cadena Nombre del nuevo workflow
decision_workflow_template_id Debe ser un número entero ID de plantilla para usar en la creación de un nuevo workflow

Ejemplo de cuerpo

{ "decision_name": "Test 1", "decision_workflow_template_id": "08559ee4-62df-42e0-b95d-c2f75984db7f", }

Información de un Workflow

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/1' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

El comando anterior devuelve JSON estructurado así:

{
    "id": 78,
    "name": "Workflow name",
    "decision_name": "test workflow",
    "status": "started",
    "current_step_type": null,
    "current_step": {
        "id_number": 1,
        "id_parallel": 0,
        "name": "1",
        "id_workflow": 78,
        "assigned_to": [
            {
                "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
                "name": "John Doe"
            }
        ],
        "step_type": null,
        "created_at": "2021-01-27T15:28:50.092-03:00",
        "limit_date": "2021-01-28T15:29:04.426-03:00"
    },
    "steps": [
        {
            "id_number": 1,
            "id_parallel": 0,
            "name": "1",
            "step_type": null,
            "created_at": "2021-01-27T15:28:50.092-03:00",
            "limit_date": "2021-01-28T15:29:04.426-03:00"
        },
        {
            "id_number": 2,
            "id_parallel": 0,
            "name": "2",
            "step_type": null,
            "created_at": "2021-01-27T15:28:50.092-03:00",
            "limit_date": null
        },
        {
            "id_number": 3,
            "id_parallel": 0,
            "name": "3",
            "step_type": null,
            "created_at": "2021-01-27T15:28:50.092-03:00",
            "limit_date": null
        }
    ],
    "documents": [
        {
            "id": "721111e8ba7847589648e0d2e4efe058",
            "name": "My-Documnet.pdf",
            "type": "document",
            "in_repository": true,
            "signable": true,
            "signed": false,
            "created_at": "2023-05-15T15:53:35.768-04:00"
        }
    ]
}

Este endpoint devuelve la información de un proceso dado.

Formatos admitidos

[JSON]

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/decision_workflows/:id

Listar pasos

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id_number": 1,
        "id_parallel": 0,
        "name": "Electronic Signature",
        "id_workflow": 94,
        "assigned_to": [
            {
                "id": "7faf7ca5-46a7-4ad2-a283-cecb5dd78566",
                "name": "John Doe"
            }
        ],
        "step_attributes": [],
        "step_type": "signature",
        "is_signature_step": true,
        "created_at": "2021-01-27T15:28:50.092-03:00",
        "limit_date": null
    },
    {
        "id_number": 2,
        "id_parallel": 0,
        "name": "Cassification",
        "id_workflow": 94,
        "assigned_to": [],
        "step_attributes": [],
        "step_type": null,
        "created_at": "2021-01-27T15:28:50.092-03:00",
        "limit_date": null
    },
    ...
]

Este endpoint permite listar los pasos de un workflow

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps

Parámetros de URL

Parámetro Descripción
ID Id del workflow

Obtener paso

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps/<STEP_ID>' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

El comando anterior devuelve JSON estructurado así:

{
    "id_number": 1,
    "id_parallel": 0,
    "name": "paso firma",
    "id_workflow": 94,
    "assigned_to": [
        {
            "id": "7faf7ca5-46a7-4ad2-a283-cecb5dd78566",
            "name": "Test Satrang Anveshtest"
        }
    ],
    "step_attributes": [],
    "step_type": "signature"
}

Este endpoint permite obtener el detalle de un paso de workflow

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps/<STEP_ID>?parallel_number=<P_N>

Parámetros de URL

Parámetro Descripción
ID Id del workflow
STEP_ID Número del paso
P_N El numero del paso paralelo

Cancelar un workflow

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/1/cancel' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99' \
--header 'Content-Type: application/json' \
--data-raw '{
    "cancellation_reasons": "other reason"
}'

El comando anterior devuelve JSON estructurado así:

{
  "success": true
}

Este endpoint cancela un workflow, junto a un motivo de cancelación

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/decision_workflows/:id/cancel

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
cancellation_reasons Debe ser una cadena de texto Razón de cancelación

Ejemplo de cuerpo

{ "cancellation_reasons": "reason" }

Asignar un usuario

Este endpoint asigna un usuario dado a un paso del proceso

Formatos admitidos

[JSON]

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/:id/assign_step_users' \
--header 'Authorization: Bearer b74a2aeab29c311b95e99307bfa833f9b2171a098207bb648808529ef3c8756b' \
--header 'Content-Type: application/json' \
--data-raw '{
    "step_id": 1,
    "assigned_ids": ["e1c6f251-5efc-410f-924f-8cbba1ff7f15",
                    "59db41d9-bcf4-4e7c-9330-830d1ca95c52"]
}'

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/decision_workflows/:id/assign_step_users

El comando anterior devuelve JSON estructurado así:

{
    "step": {
        "id_number": 1,
        "id_parallel": 0,
        "name": "1",
        "id_workflow": 79,
        "assigned_to": [
            {
                "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
                "name": "John Doe"
            },
            {
                "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
                "name": "Jane Doe"
            }
        ],
        "step_type": null
    }
}

Parámetros de URL

Parámetro Descripción
step_id El ID del paso
assigned_ids Los Ids de usuarios asignados

Usuarios y grupos que puedo asignar

Este endpoint retorna todos los usuarios y grupos que puedo asignar en un paso dado

Formatos admitidos

[JSON]

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/decision_workflows/:id/users_can_assign

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/1/users_can_assign.json?number=2&parallel_number=0' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

El comando anterior devuelve JSON estructurado así:

{
    "users": [
        {
            "id": 1,
            "first_name": "Jhon",
            "last_name": "Smith",
            "email": "[email protected]"
        },
        {
            "id": 2,
            "first_name": "John",
            "last_name": "Doe",
            "email": "[email protected]"
        }
    ],
    "jobs": [
        {
            "id": 1,
            "name": "Ejecutivo"
        },
        {
            "id": 2,
            "name": "Subgerente"
        }
    ]
}

Parámetros de URL

Parámetro Descripción
number Número del Paso
parallel_number Número Paraleo del Paso

Si no se envían los parámetros se obtiene la información del paso actual

Obtener url de firma

Este endpoint permite obtener la url de firma en un paso de firma dado para el usuario logueado.

Formatos admitidos

[JSON]

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/decision_workflows/:id/sign_url

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/42/sign_url?number=2&parallel_number=0' \
--header 'Authorization: Bearer <TOKEN>'

El comando anterior devuelve JSON estructurado así:

{
    "url": "https://signature.webdoxclm.com/s/ebf65056-5c09-4c50-9cea-93db8753ce7f"
}

Parámetros de URL

Parámetro Descripción
number Número del Paso
parallel_number Número Paraleo del Paso

Si no se envían los parámetros se obtiene la información del paso actual

Validar un Paso

Este endpoint valida un paso de un proceso

Formatos admitidos

[JSON]

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/11/validate?number=1&parallel_number=0' \
--header 'Authorization: Bearer 30fc661152f2090f1abcfb54ef8393d3639b37efdb5d577ba3df7eb6b9573a2f' \
--data-raw '{
    "comment": "Validado"
}'

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/decision_workflows/<ID_DW>/validate?number=<N>&parallel_number=<P_N>

El comando anterior devuelve JSON estructurado así:

{
    "success": true,
    "step": {
        "id_number": 1,
        "id_parallel": 0,
        "id_workflow": 11,
        "assigned_to": [
            {
                "id": "040b0e08-deb7-41af-9af8-b4dc24830e68",
                "name": "User Test"
            }
        ],
        "step_type": null
    }
}

Parámetros de URL

Parámetro Descripción
ID_DW El ID del proceso
N El numero del paso
P_N El numero del paso paralelo

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
comment Cadena opcional Comentario de usuario validado

Retornar paso anterior

Este endpoint permite retornar el workflow al paso anterior.

Formatos admitidos

[JSON]

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/11/return_step?number=2' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/decision_workflows/<ID_DW>/return_step?number=<N>&parallel_number=<P_N>

El comando anterior devuelve JSON estructurado así:

{
    "success": true,
    "status": 200
}

Parámetros de URL

Parámetro Descripción
ID_DW El ID del proceso
N El numero del paso
P_N El numero del paso paralelo

Agregar documento a paso de redacción

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/documents?number=<STEP_NUMBER>' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--form 'origin="pc"' \
--form 'attachment=@"/Users/webdox-dev12/Documents/important_document.pdf"'

El comando anterior devuelve JSON estructurado así:

{
    "document": {
        "id": 44,
        "name": "important_document.pdf",
        "type": "document"
    }
}

Formatos admitidos

[JSON]

Este endpoint permite agregar documentos a pasos de redacción.

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/documents?number=<STEP_NUMBER>&parallel_number=<PARALLEL_NUMBER>

Parámetros de URL

Parámetro Descripción
WF_ID El ID del proceso
STEP_NUMBER El numero del paso
PARALLEL_NUMBER El numero del paso paralelo

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
origin Debe ser una cadena de texto Origen del documento a subir (template, pc)
word_template_id Opcional numero entero (debe usarse si origin es template) Corresponde a la ID de la plantilla word
attachment Opcional ID (debe usarse si origin es pc) Corresponde al documento que se quiere cargar
versioned_document Opcional booleano (debe usarse si origin es pc) Debe enviarse para cargar documentos pdf

Ejemplo de cuerpo

{ "origin": "template", "word_template_id": 1 }

Listar documentos del paso

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_ID>/documents' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "93ac84fea5be4e2a8455bff497654f46",
        "name": "annex_services.docx",
        "created_at": "2021-04-23T13:30:17.431-05:00",
        "updated_at": "2021-04-23T13:30:24.623-05:00",
        "modified_at": "2021-04-23T13:30:17.471-05:00",
        "attachment_file_size": 20513,
        "created_by": "fdsf234fsdf345gsf59a170b0dc536c",
        "creator_name": "Jane Doe",
        "extension": null,
        "file_ext": "docx",
        "last_office_document_version_user": "--",
        "office_document_version_number": [],
        "download_url": "document url"
    },
    {
        "id": "981f194d0fc14c2a98decead4756823c",
        "name": "original_contract.pdf",
        "created_at": "2021-04-26T12:19:01.823-05:00",
        "updated_at": "2021-04-26T12:19:06.726-05:00",
        "modified_at": "2021-04-26T12:19:04.785-05:00",
        "attachment_file_size": 74725,
        "created_by": "95edb20421294b60bb59a170b0dc536c",
        "creator_name": "John Doe",
        "extension": null,
        "file_ext": "pdf",
        "last_office_document_version_user": "--",
        "office_document_version_number": [],
        "last_office_document_version_url": "last version url"
        "download_url": "main document url"
    },
    ...
]

Permite mostrar los documentos subidos al paso del workflow

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_ID>/documents

Parámetros de URL

Parámetro Descripción
ID Id del workflow
STEP_ID Número del paso

Actualizar campos del formulario

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps/<STEP_ID>/attributes' \
--header 'Authorization: Bearer bf18538228e7ca15ce4224c8de8241f825dd2cd5a5495abdbb698684bf86ec39' \
--header 'Content-Type: application/json' \
--data-raw '{
    "parallel_number": 0,
    "step_attributes":{
        "f0cf1399-55bb-47e9-a6ab-459df2f2f628": "Contract 1",
        "b4869bdf-ede3-4057-845a-5ab3558289d2": "Annex",
        "5a75371d-775f-4c9e-8704-13d5ec53d0eb": "555123123",
        "1e1aab9c-4e0b-47e9-a45f-7306b9e4b14f": "true",
        "c1ed8ce0-9c4e-4ba5-8b6f-a50bcb744f55": "Santiago",
        "643fc63f-c34b-4ea5-a243-6a5173a97ed0": "2021-05-26"
    }
}'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "f0cf1399-55bb-47e9-a6ab-459df2f2f628",
        "attribute_options": [],
        "value": "Contract 1",
        "name": "nombre",
        "position": 0,
        "required": false,
        "type": "string"
    },
    {
        "id": "b4869bdf-ede3-4057-845a-5ab3558289d2",
        "attribute_options": [
            {
                "id": "de64fced-622a-4043-b835-19025236c0bf",
                "value": "asignacion"
            },
            {
                "id": "aa8c26f4-558c-4376-9e7e-01c541862c51",
                "value": "creacion"
            }
        ],
        "value": "asignacion",
        "name": "tipo",
        "position": 1,
        "required": true,
        "type": "list"
    },
    {
        "id": "5a75371d-775f-4c9e-8704-13d5ec53d0eb",
        "attribute_options": [],
        "value": "555123123",
        "name": "telefono",
        "position": 3,
        "required": false,
        "type": "numeric"
    },
    {
        "id": "1e1aab9c-4e0b-47e9-a45f-7306b9e4b14f",
        "attribute_options": [],
        "value": "true",
        "name": "acepta",
        "position": 4,
        "required": false,
        "type": "boolean"
    },
    {
        "id": "c1ed8ce0-9c4e-4ba5-8b6f-a50bcb744f55",
        "attribute_options": [
            {
                "id": "15",
                "value": "Arica y Parinacota",
                "communes": [
                    {
                        "id": "15101",
                        "value": "Arica"
                    },
                    {
                        "id": "15102",
                        "value": "Camarones"
                    },
                    {
                        "id": "15202",
                        "value": "General Lagos"
                    },
                    {
                        "id": "15201",
                        "value": "Putre"
                    }
                ]
            },
            ...
        ],
        "value": "Santiago",
        "name": "comuna",
        "position": 5,
        "required": false,
        "type": "chilean_commune"
    },
    {
        "id": "643fc63f-c34b-4ea5-a243-6a5173a97ed0",
        "attribute_options": [],
        "value": "2021-05-26",
        "name": "fecha proceso",
        "position": 2,
        "required": true,
        "type": "date"
    }

Este endpoint permite cambiar el valor de los campos del formulario del paso

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps/<STEP_ID>/attributes

Parámetros de URL

Parámetro Descripción
ID Id del workflow
STEP_ID Número del paso

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
parallel_number Debe ser número entero Número paralelo del paso
step_attributes Arreglo de Hash Contiene los atributos a actualizar emparejado por id del campo y su valor

Descargar documentos

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/documents' \
--header 'Authorization: Bearer 0a85e789058d46209f150b2e697f87d7aa94e88d031aebe8d780e50c2b6ea54c' \

El comando anterior devuelve JSON estructurado así:

[
    {
        "f0cf1399-55bb-47e9-a6ab-459df2f2f628": "document_url"
    },
    {
        "5a75371d-775f-4c9e-8704-13d5ec53d0eb": "document_url"
    },
    {
        "643fc63f-c34b-4ea5-a243-6a5173a97ed0": "document_url"
    }
]

Este endpoint permite obtener los enlaces de los documentos del workflow para su descarga

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/documents

Asignar documento a firma

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/set_signable_document' \
--header 'Authorization: Bearer 3bd551464fcb353322e3fca4f9004f3ed3984e4d3d46dffc787b40dc00ad275f' \
--header 'Content-Type: application/json' \
--data-raw '{
    "document_id": "6c4ddb4be5c34467b5c0bf0ca9bba3fc",
    "number": "1"
}'

El comando anterior devuelve JSON estructurado así:

success

Este endpoint permite asignar los documentos que serán firmados

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/set_signable_document

Parámetros de URL

Parámetro Descripción
WF_ID Id del workflow

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
document_id ID Id del documento a asignar
number Entero Número del paso de firma

Borrar documento

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/documents/<DOC_ID>' \
--header 'Authorization: Bearer 3bd551464fcb353322e3fca4f9004f3ed3984e4d3d46dffc787b40dc00ad275f' \

El comando anterior devuelve JSON estructurado así:

Documento eliminado(a)

Este endpoint permite borrar un documento del proceso. Sirve también para borrar documentos del paso

Solicitud HTTP

DELETE https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/documents/<DOC_ID>

Parámetros de URL

Parámetro Descripción
ID Id del workflow
DOC_ID Id del documento

Plantillas de Workflows

Estas plantillas se utilizan para crear nuevos workflow.

Obtener todas las plantillas de workflow

curl --location --request GET 'https://app.webdoxclm.com/api/v2/templates' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "b9edf969-a6c6-43cc-a4c0-70f52f4ba24d",
        "name": "Wf decisiones"
    },
    {
        "id": "dc1d668c-c182-487b-8adc-91ba0159d66a",
        "name": "new name 2"
    },
    {
        "id": "02376bd8-2048-4976-9211-cd6d78b6adb6",
        "name": "test run"
    }
]

Este endpoint recupera todas las plantillas de Workflow.

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/templates

Editar Plantilla de Workflow

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/templates/a5cb38c8-8a9f-4190-9e3b-c7c9fb596b66' \
--header 'Authorization: Bearer c472ca4f32df9ea4645ebc8334f7e328ab841d34c4db2330bf6d90a1abc1cf77' \
--header 'Content-Type: application/json' \
--data-raw '{
    "decision_workflow_template":{
        "name":"hello world"
    }
}'

El comando anterior devuelve JSON estructurado así:

Permite editar la plantilla de workflow seleccionada


{
    "id": "a5cb38c8-8a9f-4190-9e3b-c7c9fb596b66",
    "name": "hello world",
    "draft": false
}

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/templates/:ID

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser texto Nombre de plantilla

Ejemplo de cuerpo

{ "decision_workflow_template":{ "name":"hello world" } }

Obtener la plantilla seleccionada.

curl --location --request GET 'https://app.webdoxclm.com/api/v2/templates/a5cb38c8-8a9f-4190-9e3b-c7c9fb596b66' \
--header 'Authorization: Bearer 20a27f01382eb430c9a0993d08b2abe9ba80b1c65eface47c31c614838ed3ed1'

El comando anterior devuelve JSON estructurado así:

{
    "id": "a5cb38c8-8a9f-4190-9e3b-c7c9fb596b66",
    "name": "Workflow enero 29 2021, 3:48:58 p1231m",
    "draft": false
}

Este endpoint permite obtener los datos de la plantilla de workflow.

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/templates/:ID

Crear una plantilla de workflow

curl --location --request POST 'https://app.webdoxclm.com/api/v2/templates' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99' \
--header 'Content-Type: application/json' \
--data-raw '{
    "decision_workflow_template":  {
        "name": "test"
    }
}'

El comando anterior devuelve JSON estructurado así:

{
    "id": "08559ee4-62df-42e0-b95d-c2f75984db7f",
    "name": "Plantilla generica",
    "draft": false
}

Este endpoint permite crear una Plantilla de Workflow con un nombre dado

Formatos admitidos

[JSON]

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/templates

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser una cadena y único Nombre

Listar pasos de workflows

curl --location --request GET 'https://app.webdoxclm.com/api/v2/templates/483b86f9-f1ce-438a-9a9a-b0619e06ba0b/steps' \
--header 'Authorization: Bearer c38b2bebf4aa0e76d3729080fd77e8a48d982a6c346a1bdd90522c3ad3ecbcc2' \
--header 'Cookie: csrftoken=uxWx5huTKxYHq9gbcgXeDoLisd9lF1mqzyvzX7Ex62s99q7OE5ByyLTbbD3E4ld7'

El comando anterior devuelve JSON estructurado así:

[
    {
        "name": "Step 1",
        "number": 1,
        "parallel_number": 0,
        "kind": "form",
        "limit_time_number": 2,
        "limit_time_units": "days",
        "text_description": "Step 1 creation",
        "user_ids": [],
        "job_ids": [],
        "signers": null,
        "conditions": [],
        "triggers": [],
        "attributes": []
    },
    {
        "name": "Step 2",
        "number": 2,
        "parallel_number": 0,
        "kind": "signature",
        "limit_time_number": 2,
        "limit_time_units": "days",
        "text_description": "Step 2 creation",
        "user_ids": [],
        "job_ids": [],
        "signers": null,
        "conditions": [],
        "triggers": [],
        "attributes": []
    },
    ...
]

Permite listar los pasos de una plantilla de workflow

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/templates/<TEMPLATE_ID>/steps

Obtener detalle de paso de plantilla

curl --location --request GET 'https://app.webdoxclm.com/api/v2/templates/483b86f9-f1ce-438a-9a9a-b0619e06ba0b/steps/2' \
--header 'Authorization: Bearer c38b2bebf4aa0e76d3729080fd77e8a48d982a6c346a1bdd90522c3ad3ecbcc2' \
--header 'Cookie: csrftoken=uxWx5huTKxYHq9gbcgXeDoLisd9lF1mqzyvzX7Ex62s99q7OE5ByyLTbbD3E4ld7' \
--form 'decision_workflow_template_step[parallel_number]="0"'

El comando anterior devuelve JSON estructurado así:

{
    "name": "Step 2",
    "number": 2,
    "parallel_number": 0,
    "kind": "form",
    "limit_time_number": 2,
    "limit_time_units": "days",
    "text_description": "Step 2 creation",
    "user_ids": [],
    "job_ids": [],
    "signers": null,
    "conditions": [],
    "triggers": [],
    "attributes": []
}

Permite obtener el detalle de un paso de plantilla

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/templates/<TEMPLATE_ID>/steps/<STEP_NUMBER>

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
decision_workflow_template_step Debe ser un hash Especifica si es un paso paralelo o principal
parallel_number Debe ser un entero Indica el numero del paso paralelo

Crear pasos de plantilla de workflow

curl --location --request POST 'https://app.webdoxclm.com/api/v2/templates/<DWT_ID>/steps' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'
--data-raw '{
    "decision_workflow_template_step": {
        "name": "Paso 8",
        "text_description": "Descripcion paso 8",
        "number": 8,
        "parallel_number": 0,
        "limit_time_units": "days",
        "limit_time_number": 2,
        "kind": "validation",
        "triggers": [
            {
                "type": "approval_apply",
                "target_action": {}
            }
        ],
        "form":[
            {
              "name":"Tipo texto 1",
              "type":"string",
              "required":false
            },
            {
              "name":"opcion1",
              "type":"list",
              "required":false,
              "options":[
                {"value":"nombre campo 1"},
                {"value":"nombre campo 2"}
              ]
            },
            {
              "name":"numero 1",
              "type":"numeric",
              "required":false,
            },
            {
              "name":"fecha",
              "type":"date",
              "required":false,
            }
        ]
    }
}'

El comando anterior devuelve JSON estructurado así:

{
    "name": "Paso 9",
    "number": 9,
    "parallel_number": 0,
    "kind": "validation",
    "text_description": "Descripcion paso 9",
    "user_ids": [],
    "job_ids": [],
    "signers": null,
    "conditions": [],
    "triggers": [
        {
            "type": "approval_apply",
            "target_action": {}
        }
    ],
    "attributes": [
        {
            "id": "dfa3e4dd-7389-44f7-b54a-a9eb24d80e5e",
            "name": "Tipo texto 1",
            "type": "string",
            "required": false,
            "position": 0,
            "options": []
        },
        {
            "id": "e7693da7-bb2b-4b6d-93e2-8ef528a085b0",
            "name": "opcion1",
            "type": "list",
            "required": false,
            "position": 1,
            "options": [
                {
                    "id": 12,
                    "value": "nombre campo 1",
                    "tag": null,
                    "customer_id": 1
                },
                {
                    "id": 13,
                    "value": "nombre campo 2",
                    "tag": null,
                    "customer_id": 1
                }
            ]
        },
        {
            "id": "644ecb7a-6e09-4b3d-980e-8e1ce997e8d7",
            "name": "numero 1",
            "type": "numeric",
            "required": false,
            "position": 2,
            "options": []
        },
        {
            "id": "4481f206-d14f-4f9f-b580-48b3dd1a3c96",
            "name": "fecha",
            "type": "date",
            "required": false,
            "position": 3,
            "options": []
        }
    ]
}

Permite crear pasos en plantillas de workflows

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/templates/<DWT_ID>/steps

Parámetros de URL

Parámetro Descripción
DWT_ID Id de la plantilla de workflow

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
decision_workflow_template_step Debe ser un hash Nombre del paso
name Debe ser una cadena de texto Número de paso
number Debe ser un número entero Número de paso paralelo
parallel_number Debe ser un número entero Valor de tiempo limite de paso
limit_time_number Debe ser un número entero Unidad de tiempo
limit_time_units Debe ser una cadena de texto Tipo de unidad
kind Debe ser una cadena de texto Tipo de paso
text_description Debe ser una cadena de texto Descripcion del paso
user_ids Debe ser un arreglo de números enteros Usuarios asignados al paso
job_ids Debe ser un arreglo de números enteros Grupos asignados al paso
conditions Debe ser un arreglo de hashes Decisiones del paso
left_value Debe ser una cadena de texto Campo del formulario
right_value Debe ser una cadena de texto Valor del campo que gatilla la acción
true_step_number Debe ser un número entero Paso al que se dirigirá el workflow de cumplirse la condición
form Debe ser un arreglo de hashes Formulario del paso
name Debe ser una cadena de texto Nombre del campo
type Debe ser una cadena de texto Tipo de campo
required debe ser true o false Obligatoriedad del campo
options Debe ser un arreglo de hashes Opciones para campo tipo 'list'
value Puede ser texto o número Valor de la opción
triggers Debe ser un arreglo de hashes Acciones
trigger_action Debe ser un arreglo de hashes Tipo de acción
message Debe ser una cadena de texto Mensaje para accion de tipo 'send_mail'
reciever Debe ser una cadena de texto Destinatario de mensaje
subject Debe ser una cadena de texto Asunto del mensaje

Actualizar paso de plantilla de workflow

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/templates/<DWT_ID>/steps/<STEP_NUMBER>' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'
--data-raw '{

    "decision_workflow_template_step": {
        "name": "Paso 6",
        "number": 6,
        "parallel_number": 0,
        "kind": "signature",
        "text_description": "Descripcion paso 6 actualizada por api",
        "user_ids": [],
        "job_ids": [
            2
        ],
        "signers": null,
        "conditions": [],
        "triggers": [],
        "attributes": [
            {
                "id": "2d9bb273-bda0-4fac-9262-45a31c02bbc2",
                "name": "Nombre 6",
                "type": "date",
                "required": true,
                "position": 0,
                "options": []
            }
        ]
    }
}
  '

El comando anterior devuelve JSON estructurado así:

{
    "decision_workflow_template_step": {
        "name": "Paso 6",
        "number": 6,
        "parallel_number": 0,
        "kind": "signature",
        "text_description": "Descripcion paso 6 actualizada por api",
        "user_ids": [],
        "job_ids": [
            2
        ],
        "signers": null,
        "conditions": [
          {
            left_value: "   ",
            right_value: "   ",
            role: "dynamic_attribute",
            true_step_number: 1,
            type: "=="
            }
          ],
        "triggers": [],
        "attributes": [
            {
                "id": "2d9bb273-bda0-4fac-9262-45a31c02bbc2",
                "name": "Nombre 6",
                "type": "date",
                "required": true,
                "position": 0,
                "options": []
            }
        ]
    }
}

Permite cambiar pasos de una plantilla de workflows

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/decision_workflow_template_steps/<DWT_ID>/steps/<STEP_NUMBER>

Parámetros de URL

Parámetro Descripción
DWT_ID Id de la plantilla de workflow
STEP_NUMBER Step number

<h3 id='parametros-del-cuerpo'>Parámetros del cuerpo</h3>
<table><thead>
<tr>
<th>Parámetro</th>
<th>Requerido</th>
<th>Validación</th>
<th>Descripción</th>
</tr>
</thead><tbody>
<tr>
<td>decision_workflow_template_step</td>
<td>✔</td>
<td>Debe ser un hash</td>
<td>Nombre del paso</td>
</tr>
<tr>
<td>name</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Número de paso</td>
</tr>
<tr>
<td>number</td>
<td>✔</td>
<td>Debe ser un número entero</td>
<td>Número de paso paralelo</td>
</tr>
<tr>
<td>parallel_number</td>
<td>✔</td>
<td>Debe ser un número entero</td>
<td>Valor de tiempo limite de paso</td>
</tr>
<tr>
<td>limit_time_number</td>
<td>✔</td>
<td>Debe ser un número entero</td>
<td>Unidad de tiempo</td>
</tr>
<tr>
<td>limit_time_units</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Tipo de unidad</td>
</tr>
<tr>
<td>kind</td>
<td></td>
<td>Debe ser una cadena de texto</td>
<td>Tipo de paso</td>
</tr>
<tr>
<td>text_description</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Descripcion del paso</td>
</tr>
<tr>
<td>user_ids</td>
<td></td>
<td>Debe ser un arreglo de números enteros</td>
<td>Usuarios asignados al paso</td>
</tr>
<tr>
<td>job_ids</td>
<td>✔</td>
<td>Debe ser un arreglo de números enteros</td>
<td>Grupos asignados al paso</td>
</tr>
<tr>
<td>conditions</td>
<td></td>
<td>Debe ser un arreglo de hashes</td>
<td>Decisiones del paso</td>
</tr>
<tr>
<td>left_value</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Campo del formulario</td>
</tr>
<tr>
<td>right_value</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Valor del campo que gatilla la acción</td>
</tr>
<tr>
<td>true_step_number</td>
<td>✔</td>
<td>Debe ser un número entero</td>
<td>Paso al que se dirigirá el workflow de cumplirse la condición</td>
</tr>
<tr>
<td>form</td>
<td></td>
<td>Debe ser un arreglo de hashes</td>
<td>Formulario del paso</td>
</tr>
<tr>
<td>name</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Nombre del campo</td>
</tr>
<tr>
<td>type</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Tipo de campo</td>
</tr>
<tr>
<td>required</td>
<td>✔</td>
<td>debe ser true o false</td>
<td>Obligatoriedad del campo</td>
</tr>
<tr>
<td>options</td>
<td>✔</td>
<td>Debe ser un arreglo de hashes</td>
<td>Opciones para campo tipo &#39;list&#39;</td>
</tr>
<tr>
<td>value</td>
<td>✔</td>
<td>Puede ser texto o número</td>
<td>Valor de la opción</td>
</tr>
<tr>
<td>triggers</td>
<td></td>
<td>Debe ser un arreglo de hashes</td>
<td>Acciones</td>
</tr>
<tr>
<td>trigger_action</td>
<td>✔</td>
<td>Debe ser un arreglo de hashes</td>
<td>Tipo de acción</td>
</tr>
<tr>
<td>message</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Mensaje para accion de tipo &#39;send_mail&#39;</td>
</tr>
<tr>
<td>reciever</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Destinatario de mensaje</td>
</tr>
<tr>
<td>subject</td>
<td>✔</td>
<td>Debe ser una cadena de texto</td>
<td>Asunto del mensaje</td>
</tr>
</tbody></table>

Valores posibles para campo kind

Valor Descripción
redaction redacción
validation validación
signature firma
form formulario

Valores posibles para campo type

Valor Descripción
numeric numérico
string texto
date fecha
list lista
boolean verdadero o falso
email email
rut rut
text párrafo
chilean_region región chilena
chilean_commune comuna chilena

Valores posibles para campo trigger_action

Valor Descripción
send_email enviar correo
approval_apply aplicar visto bueno

Firmantes

Estos endpoints se utilizan para gestionar firmantes a los documentos.

Obtener listado de firmantes

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Bearer [ACCESS_TOKEN]"'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "c1c86feb-f806-4897-b8e5-5360b00f5302",
        "step_number": 1,
        "step_parallel_number": 0,
        "kind": "external",
        "status": "pending",
        "user_id": null,
        "country_code": "CHL",
        "name": "Sample User",
        "email": "[email protected]",
        "national_identification_number": "20000000-1",
        "national_identification_kind_id": "94bfbabc-9971-4cc8-bb6b-80c62aa2887d",
        "signature_id": null,
        "envelope_id": 8,
        "signed_at": null,
        "signed_difference": null,
        "phone_number": null,
        "has_valid_positioned_signatures": false,
        "cc_email": null,
        "use_notification_method_whatsapp": false
    }
]

Obtiene los firmantes de un paso de firma de workflow

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>

Crear firmante

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Bearer [ACCESS_TOKEN]"'
--data-raw '{
  "signer": {
    "kind": "external",
    "user_id": null,
    "country_code": "CHL",
    "name": "Sample name",
    "email": "[email protected]",
    "national_identification_number": "20000000-1"
    "national_identification_kind_id": "94bfbabc-9971-4cc8-bb6b-80c62aa2887d",
    "cc_email": "[email protected]",
    "use_notification_method_whatsapp": true
  }
}'
curl --location 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer [ACCESS_TOKEN]' \
--data '{
    "signer": {
        "kind": "internal",
        "user_id": "c6971fd6-f571-47aa-b53a-9cb84bb37500",
        "use_notification_method_whatsapp": true
    }
}'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "c1c86feb-f806-4897-b8e5-5360b00f5302",
        "step_number": 1,
        "step_parallel_number": 0,
        "kind": "external",
        "status": "pending",
        "user_id": null,
        "country_code": "CHL",
        "name": "Sample name",
        "email": "[email protected]",
        "national_identification_number": "20000000-1",
        "national_identification_kind_id": "94bfbabc-9971-4cc8-bb6b-80c62aa2887d",
        "signature_id": null,
        "envelope_id": 8,
        "signed_at": null,
        "signed_difference": null,
        "phone_number": null,
        "has_valid_positioned_signatures": false,
        "cc_email": null,
        "use_notification_method_whatsapp": true
    }
]

En este endpoint se pueden crear firmantes en el paso

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
kind Debe ser un texto Tipo de firmante
user_id Debe ser un texto Id del usuario interno
country_code Debe ser un texto Código ISO del país
name Debe ser un texto Nombre del firmante
email Debe ser un texto Email del firmante
national_identification_number Debe ser un texto Número de identificación nacional del firmante
national_identification_kind_id Debe ser un UUID Id del tipo de documento del país del firmante. Solo es requerido cuando el país cuenta con varios tipos de documento de identidad. La Id puede ser obtenida a través del endpoint de Tipos de Documento del País.
cc_email Debe ser un texto CC o Copia de carbón
use_notification_method_whatsapp Debe ser un booleano (true o false) Notificar al firmante por Whatsapp (donde esté disponible)
phone_number Debe ser un texto Número de teléfono del firmante (incluye código de país Ej. +56932104567)
Valor Descripción
internal interno
external externo

Actualizar firmante

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers<SIGNER_ID>?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Bearer [ACCESS_TOKEN]"'
--data-raw '{
  "signer": {
    "kind": "external",
    "user_id": null,
    "country_code": "CHL",
    "name": "Sample name",
    "email": "[email protected]",
    "national_identification_number": "20000000-1",
    "cc_email": "[email protected]",
    "use_notification_method_whatsapp": false
  }
}'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "c1c86feb-f806-4897-b8e5-5360b00f5302",
        "step_number": 1,
        "step_parallel_number": 0,
        "kind": "external",
        "status": "pending",
        "user_id": null,
        "country_code": "CHL",
        "name": "Sample name",
        "email": "[email protected]",
        "national_identification_number": "20000000-1",
        "signature_id": null,
        "envelope_id": 8,
        "signed_at": null,
        "signed_difference": null,
        "phone_number": null,
        "has_valid_positioned_signatures": false,
        "cc_email": null,
        "use_notification_method_whatsapp": false
    }
]

Endpoint para actualizar datos de un firmante

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/<SIGNER_ID>?parallel_number=<PARALLEL_STEP_NUMBER>

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
kind Debe ser un texto Tipo de firmante
user_id Debe ser un texto Id del usuario interno
country_code Debe ser un texto Código ISO del país
name Debe ser un texto Nombre del firmante
body_parameter_name Debe ser un texto Email del firmante
body_parameter_name Debe ser un texto Número de identificación nacional del firmante
national_identification_kind_id Debe ser un UUID Id del tipo de documento del país del firmante. Solo es requerido cuando el país cuenta con varios tipos de documento de identidad. La Id puede ser obtenida a través del endpoint de Tipos de Documento del País.
cc_email Debe ser un texto CC o Copia de carbón
use_notification_method_whatsapp Debe ser un booleano (true o false) Notificar al firmante por Whatsapp (donde esté disponible)
phone_number Debe ser un texto Número de teléfono del firmante (incluye código de país Ej. +56932104567)

Borrar firmante

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/<SIGNER_ID>?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99"'

El comando anterior devuelve JSON estructurado así:

{
    "id": "c1c86feb-f806-4897-b8e5-5360b00f5302",
    "step_number": 1,
    "step_parallel_number": 0,
    "kind": "external",
    "status": "pending",
    "user_id": null,
    "country_code": null,
    "name": "Sample user",
    "email": "[email protected]",
    "national_identification_number": "20000000-1",
    "signature_id": null,
    "envelope_id": 8,
    "signed_at": null,
    "signed_difference": null,
    "phone_number": null,
    "has_valid_positioned_signatures": false,
    "cc_email": null,
    "use_notification_method_whatsapp": false
}

Endpoint para eliminar un firmante del paso

Solicitud HTTP

DELETE https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/<SIGNER_ID>?parallel_number=<PARALLEL_STEP_NUMBER>

Obtener enlaces de firma

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/urls?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

El comando anterior devuelve JSON estructurado así:

[
    {
        "name": "John Doe",
        "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
        "url": "https://firma.webdox.cl/s/gres56w36gs-g43w65g-grstyuk-6476t"
    },
    {
        "name": "Jane Doe",
        "id": null,
        "url": "https://firma.webdox.cl/s/34242gfgf-rj847-jt675-tyjt6-34536h5787j"
    }
]

Este endpoint permite tener los enlaces de firma electronica de los firmantes de un workflow

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/urls?parallel_number=<PARALLEL_STEP_NUMBER>'

Parámetros de URL

Parámetro Descripción
WF_ID Id del workflow
STEP-NUMBER Número del paso
PARALLEL_STEP_NUMBER Numero paralelo del paso

Reenviar los correos a los firmantes pendientes

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/resend_emails' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

El comando anterior devuelve JSON estructurado así:

{
    "success": true
}

Endpoint que envia recordatorios a los correos electrónicos de firmantes pendientes

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/resend_emails

Parámetros de URL

Parámetro Descripción
WF_ID Id del workflow
STEP-NUMBER Número del paso

Solicitudes

En Webdox se pueden crear solicitudes para iniciar procesos (Workflows)

Listar solicitudes

curl --location --request GET 'https://app.webdoxclm.com/api/v2/workflow_requests?page=1&per_page=10&filters[status]=requested' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": 39,
        "title": "Test 1",
        "description": "First Request",
        "status": "requested",
        "request_form_name": "Solicitud Contrato",
        "requester": {
            "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
            "first_name": "Jane",
            "last_name": "Doe"
        },
        "assigned": {
            "id": "22e159d7-81fc-4259-981a-ae784b37ecbe",
            "first_name": "John",
            "last_name": "Doe"
        },
        "created_at": "2024-07-31T14:58:33.673-04:00"
    },
    ...
]

Obtenga el listado de solicitudes de su cuenta

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/workflow_requests

Valor Descripción  Tipo
page Número de página  Numerico
per_page Cantidad de elementos por página  Numerico
filters Filtros a aplicar  Texto

Los filtros pueden tomar los siguientes valores:

Valor Descripción  Tipo
status Estado de la solicitud, puede ser "requested", "rejected", "taken", "finished", "canceled", "under_modification" o "in_review"  Texto
created_start_date Inicio de fecha de creación de la solicitud en formato ISO 8601  Texto
created_end_date Fin de fecha de creación de la solicitud en formato ISO 8601  Texto

Obtener datos de solicitud

curl --location --request GET 'https://app.webdoxclm.com/api/v2/workflow_requests/<ID>' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

El comando anterior devuelve JSON estructurado así:

{
    "id": 39,
    "title": "Request example",
    "description": "description here",
    "status": "requested",
    "created_at": "2021-03-13T21:43:30.601-03:00",
    "attachments": [],
    "requester": {
        "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
        "first_name": "Jane",
        "last_name": "Doe"
    },
    "assigned": {
        "id": "22e159d7-81fc-4259-981a-ae784b37ecbe",
        "first_name": "John",
        "last_name": "Doe"
    },
    "request_form_attributes": [
        {
            "attribute_id": "d7e08f85-92e1-45e2-a6ed-d897867e5feb",
            "attribute_name": "Mode",
            "attribute_value": "1"
        },
        {
            "attribute_id": "2d8cd8d3-35c7-4270-9417-aac4af23d4f3",
            "attribute_name": "Amount of the contract",
            "attribute_value": "1.000 USD"
        },
        {
            "attribute_id": "c12eddd1-1303-4ddb-a050-63dee79a3236",
            "attribute_name": "Starting date",
            "attribute_value": "2021-03-13"
        }
    ]
}

Permite obtener los campos de una solicitud y sus atributos

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/workflow_requests/<ID>

Crear Solicitud

curl --location --request POST 'https://app.webdoxclm.com/api/v2/workflow_requests' \
--header 'Authorization: Bearer 28fe7240a5a69cdac997b2f498aec9aacb9f8f53eeac6a79b503ce976789983c' \
--header 'Content-Type: application/json' \
--data-raw '{
    "workflow_request" :
    {
        "title": "Request",
        "description": "Description",
        "request_form_id": "e4b53c61-8fba-4f85-bea9-a7c5a5b6975a"
    },
    "request_form_attribute": {
        "c9fa5502-2778-49b6-9d45-c54787b1a95f": "Arica",
        "ac06e7fa-9036-4d05-8465-0b9b81b22990": @"/Users/webdox-dev-2/Downloads/DOC-39-38763151.pdf"
    },
    "synchronous_doc_creation": true
}'

El comando anterior devuelve JSON estructurado así:

{
    "workflow_request": {
        "id": 74,
        "title": "Request",
        "description": "Description",
        "status": "requested",
        "created_at": "2021-03-26T14:53:08.092-03:00",
        "attachments": [],
        "requester": {
            "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
            "first_name": "John",
            "last_name": "Doe"
        },
        "assigned": null,
        "request_form_attributes": [
            {
                "attribute_id": "c9fa5502-2778-49b6-9d45-c54787b1a95f",
                "attribute_name": "Comuna",
                "attribute_value": "Arica"
            },
            {
                "attribute_id": "ac06e7fa-9036-4d05-8465-0b9b81b22990",
                "attribute_name": "Archivo",
                "attribute_value": null
            }
        ]
    },
    "success": true
}

Permite generar solicitudes en Webdox

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/workflow_requests

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
workflow_request Debe ser un hash
title Debe ser una cadena de texto Nombre de la solicitud
description Debe ser una cadena de texto (255) Texto que describe el motivo de la solicitud
request_form_id Debe ser un numero entero Id del formulario de solicitud
draft Puede ser true o false Permite crear una solicitud como borrador (con estado 'under_modification')
synchronous_doc_creation Debe ser true o false Permite cambiar la forma en que se procesan los documentos de la plantilla de solicitud
request_form_attribute Debe ser un hash Campos del formulario de solicitud
request_form_attribute[ID] Debe ser una cadena de texto (255) ID es el identificador del campo de la solicitud, mientras que el texto sera su valor

Estado de una solicitud

curl --location --request GET 'https://app.webdoxclm.com/api/v2/workflow_requests/<ID>/get_status' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

El comando anterior devuelve JSON estructurado así:

{
    "status_index": 0,
    "status": "requested"
}

Se obtiene el estado de una solicitud

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/workflow_requests/<ID>/get_status

Parámetros de URL

Parámetro Descripción
ID La id de la solicitud

Asignar un usuario a la solicitud

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/workflow_requests/<ID>/change_taker' \
--header 'Authorization: Token token="[TOKEN]"' \
--form 'user_id= \'

El comando anterior devuelve JSON estructurado así:

{
    "success": true,
    "assigned": {
        "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
        "first_name": "John",
        "last_name": "Doe"
    }
}

Permite asignar un usuario que se encarge de dar curso a la solicitud

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/workflow_requests/<ID>/change_taker

Parámetros de URL

Parámetro Descripción
ID Id de la solicitud

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
user_id Debe ser un número entero Id del usuario asignado

Formularios de solicitud

Son plantillas que permiten generar las solicitudes de Webdox. Aqui se configuran los campos que tendrá la solicitud

Obtener listado de formularios de solicitud

curl --location --request GET 'https://app.webdoxclm.com/api/v2/request_forms?page=1&per_page=15?filters[status]=published' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "3ae23c04-ecf9-4448-8f7d-d253d4a95eba",
        "name": "Solicitud Anexo de Contrato",
        "description": "",
        "rjob_ids": [
            "46896f04-1217-476a-87fa-3c6fc50ae936"
        ],
        "creator": "John Doe",
        "created_at": "2021-03-17T19:24:42.455-03:00",
        "last_activity": {
            "timestamp_str": "2021-03-17T19:24:42.455-03:00",
            "responsible": "John Doe"
        },
        "status": "published"
    },
    {
        "id": "e4b53c61-8fba-4f85-bea9-a7c5a5b6975a",
        "name": "Solicitud Compra de Insumos",
        "description": "",
        "rjob_ids": [],
        "creator": "Jane Doe",
        "created_at": "2021-01-22T14:13:26.528-03:00",
        "last_activity": {
            "timestamp_str": "2021-01-22T14:13:26.528-03:00",
            "responsible": "Jane Dow"
        },
        "status": "published"
    },
    ...
]

Permite obtener listado de todos los formularios de solicitud

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/request_forms?page=1&per_page=15

Valor Descripción  Tipo
page Número de página  Numerico
per_page Cantidad de elementos por página  Numerico
filters Filtros a aplicar  Texto

Los filtros pueden tomar los siguientes valores:

Valor Descripción  Tipo
status Estado del formulario de solicitud, puede ser "draft" o "published"  Texto
created_start_date Inicio de fecha de creación de la solicitud en formato ISO 8601  Texto
created_end_date Fin de fecha de creación de la solicitud en formato ISO 8601  Texto

Obtener detalle de formulario de solicitud

curl --location --request GET 'https://app.webdoxclm.com/api/v2/request_forms/<ID>' \
--header 'Authorization: Bearer 84afea467c63de04ccbe6f8f4859aad7f4ec8a60430046f96b5af601724f9cbf' \

El comando anterior devuelve JSON estructurado así:

{
    "id": "3ae23c04-ecf9-4448-8f7d-d253d4a95eba",
    "name": "Prueba distribuidor de carga obligatorio",
    "description": "",
    "job_ids": [
        "15f91198-0708-41e8-9659-935cf9f85251"
    ],
    "rjob_ids": [
        "15f91198-0708-41e8-9659-935cf9f85251",
        "7390fd91-f3dc-43f8-a786-033c314ad0bd",
        "3ff03eb9-a5cd-4cfe-b21b-59463b1c3ad1"
    ],
    "assignable_ids": [
        "7390fd91-f3dc-43f8-a786-033c314ad0bd"
    ],
    "require_assignation": true,
    "cc_user_ids": [],
    "firm_attribute_ids": [],
    "attributes": [
        {
            "id": "60320a40-66ec-41e1-a388-0adf018d4fa5",
            "name": "Nombre Empresa",
            "type_cd": 1,
            "type": "string",
            "required": true,
            "description": null,
            "options": [],
            "position": 0,
            "token_name": ""
        }
    ],
    "enable_automatic_name": false,
    "name_attribute_ids": [],
    "timestamp_on_name": false,
    "start_decision_workflow_trigger": false,
    "sla_request_units": 7,
    "creator": "John Doe",
    "last_activity": {
        "timestamp_str": "2021-03-26T14:28:37.537-03:00",
        "responsible": "John Doe"
    },
    "status": "published",
    "word_template_ids": [],
    "has_template": false
}

Permite obtener el detalle de un formulario de solicitud

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/request_forms/<ID>

Parámetros de URL

Parámetro Descripción
ID Id del formulario de solicitud

Asignar grupo solicitante

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/request_forms/7994f6b6-bd85-4350-95c5-3fab4ae496ed/assign_requester_job' \
--header 'Authorization: Bearer 84afea467c63de04ccbe6f8f4859aad7f4ec8a60430046f96b5af601724f9cbf' \
--header 'Content-Type: application/json' \
--data-raw '{
    "rjob_ids": ["46896f04-1217-476a-87fa-3c6fc50ae936", "15f91198-0708-41e8-9659-935cf9f85251"]
}'

El comando anterior devuelve JSON estructurado así:

{
    "id": "7994f6b6-bd85-4350-95c5-3fab4ae496ed",
    "name": "prueba asignacion 4",
    "description": "mismo grupo asigna y atiende, solo distribuidor debe asignar",
    "job_ids": [
        "46896f04-1217-476a-87fa-3c6fc50ae936"
    ],
    "rjob_ids": [
        "46896f04-1217-476a-87fa-3c6fc50ae936",
        "15f91198-0708-41e8-9659-935cf9f85251"
    ],
    "assignable_ids": [
        "7390fd91-f3dc-43f8-a786-033c314ad0bd"
    ],
    "require_assignation": true,
    "cc_user_ids": [],
    "firm_attribute_ids": [],
    "attributes": [],
    "enable_automatic_name": false,
    "name_attribute_ids": [],
    "timestamp_on_name": false,
    "start_decision_workflow_trigger": false,
    "sla_request_units": 7,
    "creator": "John Doe",
    "last_activity": {
        "timestamp_str": "2021-03-26T14:27:49.665-03:00",
        "responsible": "John Doe"
    },
    "status": "published",
    "word_template_ids": [],
    "has_template": false
}

Permite asignar a la plantilla los grupos de usuarios que podrán usar el formulario para crear solicitudes

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/request_forms/<ID>/assign_requester_job

Parámetros de URL

Parámetro Descripción
ID Id del formulario de solicitud

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
rjob_ids Debe ser cadena de caracteres IDs de los grupos solicitantes separados por coma (,)

Generación de procesos masivos de Firma

Listar procesos de firma masiva

Este endpoint permite obtener todos los procesos de firma masiva

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures?page=1&per_page=3'
--header 'Authorization: Bearer [TOKEN]'

El comando anterior devuelve JSON estructurado así:

{
    "data": [
        {
            "id": "ee6bc581-0263-4238-8090-9c2bf7ae32e8",
            "type": "batch_signature",
            "attributes": {
                "name": "Prueba 1 batch api",
                "status": "draft",
                "started_at": null,
                "created_at": "2023-11-18T13:25:59.883-03:00",
                "finished_at": null,
                "owner_name": "Felipe Gonzalez",
                "owner_company_area": ""
            },
            "relationships": {
                "batch_signature_approvals": {
                    "data": []
                }
            }
        },
        {
            "id": "e40e8856-876a-4e79-8efb-f576e98da4a6",
            "type": "batch_signature",
            "attributes": {
                "name": "Prueba 6 batch api",
                "status": "draft",
                "started_at": null,
                "created_at": "2023-11-18T16:20:10.002-03:00",
                "finished_at": null,
                "owner_name": "Felipe Gonzalez",
                "owner_company_area": ""
            },
            "relationships": {
                "batch_signature_approvals": {
                    "data": []
                }
            }
        },
        {
            "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
            "type": "batch_signature",
            "attributes": {
                "name": "Prueba 7 batch api",
                "status": "draft",
                "started_at": null,
                "created_at": "2023-11-18T16:26:50.186-03:00",
                "finished_at": null,
                "owner_name": "Felipe Gonzalez",
                "owner_company_area": ""
            },
            "relationships": {
                "batch_signature_approvals": {
                    "data": [
                        {
                            "id": "15",
                            "type": "batch_signature_approval"
                        }
                    ]
                }
            }
        }
    ],
    "meta": {
        "page": {
            "page": 1,
            "per_page": 20,
            "total_pages": 1,
            "total": 10
        }
    }
}

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/batch_signatures?page=1&per_page=3

Parámetros de URL

Parámetro Descripción
page Número de página
per_page Cantidad de elementos por página

Crear proceso de firma masiva

Este endpoint permite crear un procesos de firma masiva

Formatos admitidos

[JSON]

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json'
--data '{
    "batch_signature": {
        "name": "Prueba batch api",
        "signers_count": 1,
        "handwritten_enabled": false,
        "word_template_ids": ["a676f9b2-57da-405f-9c68-30617c5e730f"]
    }
}'

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/batch_signatures

El comando anterior devuelve JSON estructurado así:

{
    "data": {
        "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
        "type": "batch_signature",
        "attributes": {
            "name": "Prueba batch api",
            "status": "draft",
            "started_at": null,
            "created_at": "2023-11-18T16:26:50.186-03:00",
            "finished_at": null,
            "owner_name": "Felipe Gonzalez",
            "owner_company_area": ""
        },
        "relationships": {
            "batch_signature_approvals": {
                "data": [{}]
            }
        }
    }
}

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser una cadena de texto Nombre
signers_count Debe ser un entero Cantidad de firmantes
handwritten_enabled Booleano Habilita firma dibujada
word_template_ids Lista de ids Id plantillas de word

Ejemplo de cuerpo

{ "batch_signature": { "name": "Prueba batch api", "signers_count": 1, "handwritten_enabled": false, "word_template_ids": ["a676f9b2-57da-405f-9c68-30617c5e730f"] } }

Obtener un proceso de firma masiva

Este endpoint permite ver el detalle de un proceso de firma masiva

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/<ID>' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json'

El comando anterior devuelve JSON estructurado así:

{
    "data": {
        "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
        "type": "batch_signature",
        "attributes": {
            "name": "Prueba batch api",
            "status": "draft",
            "started_at": null,
            "created_at": "2023-11-18T16:26:50.186-03:00",
            "finished_at": null,
            "owner_name": "Felipe Gonzalez",
            "owner_company_area": ""
        },
        "relationships": {
            "batch_signature_approvals": {
                "data": [
                    {
                        "id": "15",
                        "type": "batch_signature_approval"
                    }
                ]
            }
        }
    }
}

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

Obtener plantilla para agregar firmantes

Este endpoint permite obtener una plantilla en formato excel para agregar la información de los firmantes

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/get_signers_template' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/get_signers_template

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

El comando anterior devuelve JSON estructurado así:

Agregar plantilla con información de firmantes

Este endpoint permite agregar un archivo(binario) en formato excel con la información de los firmantes

Formatos admitidos

[JSON]

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/add_signers_template' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/add_signers_template

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

El comando anterior devuelve JSON estructurado así:

{
    "data": {
        "id": "268",
        "type": "attachment",
        "attributes": {
            "id": 268,
            "metadata": {
                "sheets": [
                    {
                        "total": 2
                    }
                ]
            },
            "attachable_type": "BatchSignature",
            "created_at": "2023-11-21T15:22:46.715-03:00"
        }
    }
}

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
attachment Debe ser un archivo de tipo excel Archivo

Validar creación de ceremonias

Este endpoint permite validar si se crearon los objetos correspondientes a las ceremonias para todos los firmantes

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/create_envelopes_status' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/create_envelopes_status

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

El comando anterior devuelve JSON estructurado así:

{
    "status": "successful"
}

Iniciar ceremonias de firma masiva

Este endpoint permite dar inicio al proceso de firma masiva

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/start' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/start

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

El comando anterior devuelve JSON estructurado así:

{
    "data": {
        "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
        "type": "batch_signature",
        "attributes": {
            "name": "Prueba batch api",
            "status": "approved",
            "started_at": null,
            "created_at": "2023-11-20T13:07:32.240-03:00",
            "finished_at": null,
            "owner_name": "Felipe Gonzalez",
            "owner_company_area": ""
        },
        "relationships": {
            "batch_signature_approvals": {
                "data": [
                    {
                        "id": "14",
                        "type": "batch_signature_approval"
                    }
                ]
            }
        }
    }
}

Cancelar ceremonias de firma masiva

Este endpoint permite todas las ceremonias de firma de un proceso

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/cancel_ceremonies' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/cancel_ceremonies

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

El comando anterior devuelve JSON estructurado así:

{
    "data": {
        "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
        "type": "batch_signature",
        "attributes": {
            "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
            "name": "Prueba api",
            "status": "completed",
            "started_at": "2023-11-21T15:34:41.173-03:00",
            "created_at": "2023-11-21T15:18:03.762-03:00",
            "finished_at": null,
            "owner_name": "User Prueba",
            "owner_company_area": "",
            "word_template_ids": [
                "01ec9e7a-4138-4d67-81ef-514304ffd0e4"
            ]
        },
        "relationships": {
            "batch_signature_approvals": {
                "data": [
                    {
                        "id": "f749005c-c24c-472a-a935-69cbd6bd15a9",
                        "type": "batch_signature_approval"
                    }
                ]
            }
        }
    }
}

Listado de firmantes

Este endpoint permite obtener una lista de los firmantes de un proceso

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/signers'
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/signers

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

El comando anterior devuelve JSON estructurado así:

{
    "data": [
        {
            "id": "a3f860cc-f88a-4f56-bfc8-c22725f5ac89",
            "type": "signer",
            "attributes": {
                "status": "pending",
                "name": "User",
                "email": "[email protected]",
                "national_identification_number": "1000000000",
                "country_code": "CHL"
            }
        }
    ]
}

Eliminar todos los firmantes

Este endpoint permite eliminar la lista de firmantes de un proceso

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/signers/clear'
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/signers/clear

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

El comando anterior devuelve JSON estructurado así:

{
    "data": [
        {
            "id": "a3f860cc-f88a-4f56-bfc8-c22725f5ac89",
            "type": "signer",
            "attributes": {
                "status": "pending",
                "name": "User",
                "email": "[email protected]",
                "national_identification_number": "1000000000",
                "country_code": "CHL"
            }
        }
    ]
}

Listar los aprobadores de un proceso

Este endpoint permite ver el listado de aprobadores de un proceso

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/approvers'
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

El comando anterior devuelve JSON estructurado así:

{
    "data": [
        {
            "id": "f8d9b427-31d9-4df9-af13-c19115eac50f",
            "type": "batch_signature_approval",
            "attributes": {
                "id": "f8d9b427-31d9-4df9-af13-c19115eac50f",
                "user_id": "fc83d1a7-059f-4f02-a85b-38da6666359d",
                "batch_signature_id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
                "status": "pending",
                "reject_reason": null,
                "has_unattended_signature": true
            }
        }
    ]
}

Crear aprobador de un proceso

Este endpoint permite crear un aprobador a un proceso y tiene la opción de indicar que sea un firmante desatendido

Formatos admitidos

[JSON]

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/44e75911-f288-42a6-a55c-970e4e26f0fe/approvers' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'
--data '{
    "batch_approver": {
        "user_id": "fc83d1a7-059f-4f02-a85b-38da6666359d",
        "has_unattended_signature": true
    }
}'

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo

El comando anterior devuelve JSON estructurado así:

{
    "data": {
        "id": "f8d9b427-31d9-4df9-af13-c19115eac50f",
        "type": "batch_signature_approval",
        "attributes": {
            "id": "f8d9b427-31d9-4df9-af13-c19115eac50f",
            "user_id": "fc83d1a7-059f-4f02-a85b-38da6666359d",
            "batch_signature_id": "44e75911-f288-42a6-a55c-970e4e26f0fe",
            "status": "pending",
            "reject_reason": null,
            "has_unattended_signature": true
        }
    }
}

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
user_id Id de usuario creado en la plataforma con número de identificación Id de usuario aprobador
has_unattended_signature Booleano Firmante desatendido

Ejemplo de cuerpo

{ "batch_approver": { "user_id": "fc83d1a7-059f-4f02-a85b-38da6666359d", "has_unattended_signature": true } }

Eliminar un aprobador

Este endpoint permite eliminar un aprobador de un proceso

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/batch_signatures/44e75911-f288-42a6-a55c-970e4e26f0fe/approvers/f8d9b427-31d9-4df9-af13-c19115eac50f' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

Solicitud HTTP

DELETE https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers/<ID_APPROVER>

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo
ID_APPROVER Id del aprobador

Aprobar un proceso de firma masiva

Este endpoint permite aprobar un proceso de firma masiva

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/44e75911-f288-42a6-a55c-970e4e26f0fe/approvers/f8d9b427-31d9-4df9-af13-c19115eac50f/approve_batch' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers/<ID_APPROVER>/approve_batch

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo
ID_APPROVER Id del aprobador

Rechazar un proceso de firma masiva

Este endpoint permite rechazar un proceso de firma masiva

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/44e75911-f288-42a6-a55c-970e4e26f0fe/approvers/f8d9b427-31d9-4df9-af13-c19115eac50f/reject_batch' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers/<ID_APPROVER>/reject_batch

Parámetros de URL

Parámetro Descripción
ID Identificador del proceso masivo
ID_APPROVER Id del aprobador

Proveedores de Firma

Proveedores de firma disponibles para el cliente

Obtener todos los proveedores de firma.

curl --location --request GET 'https://app.webdoxclm.com/api/v2/signature_providers' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": 1,
        "name": "portal"
    }
]

Lista todos los proveedores de firma activos para el cliente

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/signature_providers

Documento

Webdox ofrece una excelente gestión de documentos, todos estos endpoints están relacionados con la visualización y creación de estos.

Obtener documentos

curl --location --request GET 'https://app.webdoxclm.com/api/v2/documents' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "c2fa25ce9e7a46a9838cdedfd8912ad0",
        "name": "verPdf.pdf",
        "created_at": "2021-03-05T18:44:24.425-03:00",
        "updated_at": "2021-03-05T18:44:25.457-03:00",
        "document_end_date": null,
        "modified_at": "2021-03-05T18:44:24.481-03:00"
    }
]

Este endpoint recupera todos los documentos que el usuario puede ver por filtros

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/documents?page=1&per_page=10&filters[subject_name]=Word

Parámetros cadena de consulta

Los filtros pueden tomar los siguientes valores:

Valor Descripción  Tipo
name Nombre documento  Texto
client_name Persona Jurídica  Texto
subject_name Tipo de documento  Texto
topic_name Asunto  Texto
dynamic_attribute_XXX XXX debe ser document attribute id  Texto
folio Folio  Numerico
creator_name Usuario que creo documento  Texto
created_at_before Creado antes de [YYYY-mm-dd]  Fecha
created_at_after Creado después de [YYYY-mm-dd]  Fecha

Obtener documento específico

curl --location --request GET 'https://app.webdoxclm.com/api/v2/documents/c2fa25ce9e7a46a9838cdedfd8912ad0' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

El comando anterior devuelve JSON estructurado así:

{
    "id": "c2fa25ce9e7a46a9838cdedfd8912ad0",
    "name": "verPdf.pdf",
    "folio": 2,
    "created_at": "2021-03-05T18:44:24.425-03:00",
    "updated_at": "2021-03-05T18:44:25.457-03:00",
    "document_end_date": null,
    "modified_at": "2021-03-05T18:44:25.464-03:00",
    "attachment_file_name": "document_1614980664.pdf",
    "attachment_file_size": 57826,
    "created_by": "676c632216094123a65b9de68a672be3",
    "creator_name": "Felipe Gonzalez",
    "extension": null,
    "file_ext": "pdf",
    "container_name": "TMP",
    "client_name": null,
    "topic_name": null,
    "subject_name": null,
    "last_office_document_version_user": "--",
    "office_document_version_number": [],
    "expiring_status": "no_expiring",
    "dynamic_attributes": [
        {
            "id": 1,
            "name": "Nuevo document attribute",
            "value": null
        }
    ],
    "collaborators": [],
    "office_document_versions": [],
    "last_office_document_version_number": null,
    "observations": null,
    "workflow_id": null
}

Este endpoint recupera un documento específico

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/documents/<ID>

Parámetros de URL

Parámetro Descripción
ID El ID del documento a recuperar

Crear documento

curl --location --request POST 'https://app.webdoxclm.com/api/v2/documents' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"' \
--form 'document[name]="doc prueba 2"' \
--form 'document[topic_id]="1"' \
--form 'document[subject_id]="1"' \
--form 'document[creator_name]="Jane Doe"' \
--form 'document[in_repository]="true"' \
--form 'document[status]="versioning"' \
--form 'document[attachment]=@"/Users/JohnDoe/Downloads/doc prueba carga.docx"'
curl --location --request POST 'https://app.webdoxclm.com/api/v2/documents' \
--header 'Authorization: Bearer 1a63f38c81240bbe2e07de5440ad19691cfef98b0dd4e24fd6f8bf454d66ff61' \
--form 'origin="template"' \
--form 'word_template_id="b4208b73-9aff-4a54-8ade-8ec792ee7835"'
--form 'document[name]="doc prueba 2"' \
--form 'document[topic_id]="1"' \
--form 'document[subject_id]="1"' \
--form 'document[creator_name]="Jane Doe"' \
--form 'document[in_repository]="true"' \
--form 'document[status]="versioning"' \
--form 'document[attachment]=@"/Users/JohnDoe/Downloads/doc prueba carga.docx"'

El comando anterior devuelve JSON estructurado así:

{
    "id": "7306db3b88a546c0a510a498bd2824c1",
    "name": "doc prueba 2",
    "folio": 17,
    "created_at": "2021-03-11T19:28:53.203-03:00",
    "updated_at": "2021-03-11T19:28:53.203-03:00",
    "document_end_date": null,
    "modified_at": "2021-03-11T19:28:53.261-03:00",
    "attachment_file_name": "document_1615501733.docx",
    "attachment_file_size": 23185,
    "created_by": "95edb20421294b60bb59a170b0dc536c",
    "creator_name": "John Doe",
    "extension": null,
    "file_ext": "docx",
    "container_name": "TMP",
    "client_name": null,
    "topic_name": "test asunto",
    "subject_name": "test1",
    "last_office_document_version_user": "John Doe",
    "office_document_version_number": [],
    "expiring_status": "no_expiring",
    "dynamic_attributes": [
        {
            "id": "29360fee-6f86-496d-8d65-9a3cbe5a0c6b",
            "name": "Nuevo document attribute",
            "value": null
        },
        {
            "id": "70004bc2-c09d-416a-822d-ef2d575713e5",
            "name": "atributo 2",
            "value": null
        }
    ],
    "collaborators": [],
    "office_document_versions": [
        {
            "id": "d8aac2835aed4db28a1d7a436cd180f2",
            "document_id": "7306db3b88a546c0a510a498bd2824c1",
            "user_id": 1,
            "created_at": "2021-03-11T19:28:55.155-03:00",
            "updated_at": "2021-03-11T19:28:55.155-03:00",
            "modified_at": "2021-03-11T19:28:55.191-03:00",
            "version_number": 1,
            "document_url": "https://preview.webdoxapis.com/webdav/9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/d8aac2835aed4db28a1d7a436cd180f2/fe1adfc23755724a65850698af3f6f56/office_document_17_version_1.docx",
            "file_ext": "docx",
            "file_in_process": true,
            "icon_file_class": "docx-file",
            "lock": null,
            "owner_id": "95edb20421294b60bb59a170b0dc536c",
            "owner_name": "John Doe",
            "url": "http://testserver:8080/9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/d8aac2835aed4db28a1d7a436cd180f2/office_document_17_version_1.docx",
            "ext": "docx",
            "pdf_file_file_name": null,
            "html_file_file_name": null,
            "collaborators": [
                {
                    "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
                    "first_name": "John",
                    "last_name": "Doe",
                    "email": "[email protected]",
                    "job_ids": [
                        2
                    ],
                    "blocked": false,
                    "external_id": ""
                }
            ],
            "is_deleted": false,
            "deleted_at": null,
            "webdav_document_url": "https://preview.webdoxapis.com/webdav//9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/d8aac2835aed4db28a1d7a436cd180f2/fe1adfc23755724a65850698af3f6f56/office_document_17_version_1.docx",
            "lawgeex_status": null
        }
    ],
    "last_office_document_version_number": 1,
    "observations": null,
    "workflow_id": null
}

Este endpoint crea un documento

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/documents

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
document Debe ser un hash
document[name] Cadena opcional Nombre del documento
document[attachment] Archivo opcional Archivo para cargar
document[client_id] Entero opcional Cliente ID del documento
document[topic_id] Entero opcional ID Tema del documento
document[subject_id] Entero opcional ID Asunto del documento
document[container_id] Entero opcional Contenedor ID del documento
document[dynamic_attribute_XXXX] Cadena opcional Atributo dinámico para el documento
document[document_date] Opcional DateTime Fecha del contrato
document[document_end_date] Opcional DateTime Fecha de caducidad
document[legal_name] Cadena opcional Nombre del contrato
document[folio] Entero opcional Folio de contrato
document[creator_name] Cadena opcional Usuario que creó el contrato
document[use_automatic_extension] Optional Boolean Extensión automática para contrato
document[automatic_finish] Opcional booleano Finalizar contrato automáticamente
document[status] Opcional ['versioning', 'versioned'] El documento podría estar 'versioning' o 'versioned'
document[in_repository] Booleano [true, false] Clasificar dentro del respositorio
document[observations] Cadena opcional Comentarios respecto al documento
document[workflow_id] Cadena opcional Especificar si se quiere asociar el documento a un workflow
document[word_template_id] Cadena opcional Para especificar el origen del documento (template, pc o new)

Ejemplo de cuerpo

form 'document[name]="doc prueba 2"' form 'document[topic_id]="1"' form 'document[subject_id]="1"' form 'document[creator_name]="Jane Doe"' form 'document[in_repository]="true"' form 'document[status]="versioning"' form 'document[attachment]=@"/Users/JohnDoe/Downloads/doc prueba carga.docx"'

Actualizar documento

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/documents/11' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"' \
--form 'document[name]=updated wololo' \
--form 'document[attachment]=Path_to_file/document.docx'

El comando anterior devuelve JSON estructurado así:

{
  "id": "d5eff4f9587040d88077963f34a58f78",
  "name": "INCORPORACIONES-EDITABLE-CONSORCIO (1).pdf",
  "folio": 4,
  "created_at": "2021-03-04T18:00:03.794-03:00",
  "updated_at": "2021-03-09T17:24:00.437-03:00",
  "document_end_date": null,
  "modified_at": "2021-03-09T17:24:00.228-03:00",
  "attachment_file_name": "document_1614891603.pdf",
  "attachment_file_size": 553857,
  "created_by": "95edb20421294b60bb59a170b0dc536c",
  "creator_name": "John Doe",
  "extension": null,
  "file_ext": "pdf",
  "container_name": "TMP",
  "client_name": null,
  "topic_name": null,
  "subject_name": null,
  "last_office_document_version_user": "--",
  "office_document_version_number": [],
  "expiring_status": "no_expiring",
  "dynamic_attributes": [
      {
          "id": "29360fee-6f86-496d-8d65-9a3cbe5a0c6b",
          "name": "Nuevo document attribute",
          "value": "Atributo 1"
      },
      {
          "id": "70004bc2-c09d-416a-822d-ef2d575713e5",
          "name": "atributo 2",
          "value": "it works!"
      }
  ],
  "collaborators": [],
  "office_document_versions": [],
  "last_office_document_version_number": null,
  "observations": null,
  "workflow_id": null
}

Este endpoint permite actualizar un documento

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/documents/<ID>

Parámetros de URL

Parámetro Descripción
ID El ID del documento

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
document Debe ser un hash
document[name] Cadena opcional Nombre del documento
document[attachment] Archivo opcional Archivo para cargar
document[client_id] Entero opcional Cliente ID del documento
document[topic_id] Entero opcional ID Tema del documento
document[subject_id] Entero opcional ID Asunto del documento
document[container_id] Entero opcional Contenedor ID del documento
document[dynamic_attribute_XXXX] Cadena opcional Atributo dinámico para el documento
document[document_date] Opcional DateTime Fecha del contrato
document[document_end_date] Opcional DateTime Fecha de caducidad
document[legal_name] Cadena opcional Nombre del contrato
document[folio] Entero opcional Folio de contrato
document[creator_name] Cadena opcional Usuario que creó el contrato
document[use_automatic_extension] Optional Boolean Extensión automática para contrato
document[automatic_finish] Opcional booleano Finalizar contrato automáticamente
document[status] Opcional ['versioning', 'versioned'] El documento podría estar 'versioning' o 'versioned'
document[in_repository] Booleano [true, false] Clasificar dentro del respositorio
document[observations] Cadena opcional Comentarios respecto al documento
document[word_template_id] Cadena opcional Para especificar el origen del documento (template, pc o new)

Descargar

curl --location --request GET 'https://app.webdoxclm.com/api/v2/documents/c2fa25ce9e7a46a9838cdedfd8912ad0/download' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

El comando anterior devuelve JSON estructurado así:

{
    "url": "https://storage.googleapis.com/webdox-portal-dev/documents/original_pdfs/000/000/004/original/document-4-original-pdf-file-d5eff4f9587040d88077963f34a58f78.pdf?GoogleAccessId=portal-dev-storage@webdox-build-dev.iam.gserviceaccount.com&Signature=nKLxJVjvID1VmBRxFuDontylL4H4hH%2FfsdfgdfgRr0mgWcpSum%2BsB%SDFHfgshsdh%0AtpOY2TPj8wwyI%2BtYfPybm34MwQw2DiLT6Mcrvj%2BSz%2Bz9dBixcIOym4qPYcLK%0ACNVGDj0evXLqcvlSLcoqatXCzcC%2BgTs4K9yBMAX0g1tzprfUYbi82fFoanNC%0AyYowEtnWF5iSoy5KbhFcutbugMb6nweyh1biYx4fIEMfPaGSC3JetCjvuZcC%0AmiiAXIAJgCj1pVq0mBcKAByG7OThJ2wtyh53sK4%2B5DAqOxpRqSV%2FPK4vdNqC%SDFGdsfg53q$%DFSGafgDAGFData%3D%3D&Expires=1615217786"
}

Devuelve el archivo de documento especificado como archivo o json según el tipo de contenido

Formatos admitidos

[JSON, HTML]

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/documents/<ID>/download

Parámetros de URL

Parámetro Descripción
ID El ID del documento

Obtenga todas las versiones de documentos de Office

curl --location --request GET 'https://app.webdoxclm.com/api/v2/documents/da80eb55260a4feba0ca63c02d5f7c44/versions' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "da80eb55260a4feba0ca63c02d5f7c44",
        "document_id": "fbfaf3be2a10443cbed2747c3022cce0",
        "user_id": 1,
        "created_at": "2021-03-11T17:09:51.603-03:00",
        "updated_at": "2021-03-11T17:10:14.696-03:00",
        "modified_at": "2021-03-11T17:09:51.919-03:00",
        "version_number": 1,
        "document_url": "https://preview.webdoxapis.com/webdav//9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/da80eb55260a4feba0ca63c02d5f7c44/1096c161c07ea46e80a917cc0e126df9/office_document_14_version_1.docx",
        "file_ext": "docx",
        "file_in_process": true,
        "icon_file_class": "docx-file",
        "lock": null,
        "owner_id": "95edb20421294b60bb59a170b0dc536c",
        "owner_name": "John Doe",
        "url": "http://localhost:8080/9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/da80eb55260a4feba0ca63c02d5f7c44/office_document_14_version_1.docx",
        "ext": "docx",
        "pdf_file_file_name": null,
        "html_file_file_name": null,
        "collaborators": [
            {
                "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
                "first_name": "John",
                "last_name": "Doe",
                "email": "[email protected]",
                "job_ids": [
                    2
                ],
                "blocked": false,
                "external_id": ""
            }
        ],
        "is_deleted": false,
        "deleted_at": null,
        "webdav_document_url": "https://preview.webdoxapis.com/webdav//9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/da80eb55260a4feba0ca63c02d5f7c44/1096c161c07ea46e80a917cc0e126df9/office_document_14_version_1.docx",
        "lawgeex_status": null
    },
    ...
]

Este endpoint recupera todas las versiones de documentos de Office para un documento

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/documents/<ID>/versions

Parámetros de URL

Parámetro Descripción
ID El ID del documento

Crear documento con tokens

curl --location 'https://app.webdoxclm.com/api/v2/documents/create_with_token' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
    "template_id": "<ID>",
    "tokens": [{"token": "document", "value": "Prueba"}, {"token": "achieve", "value": "Prueba2"}],
    "table_data": {
        "position": 0,
        "rows": [
            {"cells": ["4", "10", "2024", "Material", "10", "10", "10", "10", "10"]},
            {"cells": ["5", "20", "2024", "Material", "20", "520", "20", "20", "20"]},
            {"cells": ["", "", "", "", "", "", "", "Total", "2000"]}
            ]
    }
}'

El comando anterior devuelve JSON estructurado así:

{
    "id": "98e0eededd19468186da9dbf07c24e75",
    "name": "plantilla 1-2021-04-09T11-05-20-04-00.docx",
    "folio": 143,
    "created_at": "2021-04-09T11:05:21.049-04:00",
    "updated_at": "2021-04-09T11:05:22.901-04:00",
    "document_end_date": null,
    "modified_at": "2021-04-09T11:05:22.743-04:00",
    "attachment_file_size": 9721,
    "created_by": "95edb20421294b60bb59a170b0dc536c",
    "creator_name": "John Doe",
    "extension": null,
    "file_ext": "docx",
    "last_office_document_version_user": "John Doe",
    "office_document_version_number": [
        "98e0ee-v1"
    ],
    "last_office_document_version_url": "last version url"
    "download_url": "main document url"
}}

Permite crear documentos con valores predefinidos con tokens a partir de una plantilla y agregar filas a tablas en el documento

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/documents/create_with_token

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
template_id Cadena obligatoria Id de la plantilla a usar
tokens Arreglo de hashes Contiene los tokens y los valores a asignar
token Cadena obligatoria Nombre del token
value Cadena obligatoria Valor que se asignará al token en el documento
table_data Hash opcional Contiene la información de la tabla a modificar
position Entero obligatorio Número de la tabla. Inicia en 0
rows Arreglo de hashes Contiene las columnas de la tabla
cells Arreglo de cadenas obligatorio Contiene las filas que se agregarán a la tabla. Por cada texto separado por coma simple se agrega un valor a una columna

Relaciones

Permite relacionar documentos

Mostar relaciones

curl --location --request GET 'https://app.webdoxclm.com/api/v2/relations' \
--header 'Authorization: Bearer c3aee39ac76970dbe72ec2a2741158a536dfd945b81109abacdd9fcee4846c2b'

El comando anterior devuelve JSON estructurado así:

[
  {
    "id": "e612f52c-ebed-46e5-8a22-cccd63837bc8",
    "name": "Test Relation",
    "documents": [
      {
        "id": "f80f6d83143344c1b2223e5e97a4b5aa",
        "name": "Very_Important_Document.pdf",
        "type": "document"
      },
      {
        "id": "3bce892b3d5b4de7b6e0b32811e82fef",
        "name": "Very_Important_Annex.docx",
        "type": "document"
      }
    ]
  }
]

Muestra todas las relaciones

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/relations

Crear relaciones

curl --location --request POST 'https://app.webdoxclm.com/api/v2/relations' \
--header 'Authorization: Bearer 7825ba18963eacb0192363c68864587fe28b26ffeb0a7db09ffec7f2b54cbb21' \
--header 'Content-Type: application/json' \
--data '{
  "name": "Test Relation",
  "document_ids": ["f80f6d83143344c1b2223e5e97a4b5aa", "3bce892b3d5b4de7b6e0b32811e82fef"]
}'

El comando anterior devuelve JSON estructurado así:

{
  "id": "e612f52c-ebed-46e5-8a22-cccd63837bc8",
  "name": "Test Relation",
  "documents": [
    {
      "id": "f80f6d83143344c1b2223e5e97a4b5aa",
      "name": "Very_Important_Document.pdf",
      "type": "document"
    },
    {
      "id": "3bce892b3d5b4de7b6e0b32811e82fef",
      "name": "Very_Important_Annex.docx",
      "type": "document"
    }
  ]
}

Permite crear nuevas relaciones entre documentos

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/relations

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser una cadena de texto Nombre de la relación
document_ids Debe ser un array de ids Lista de IDs de documentos

Actualizar relaciones

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/relations/<ID>' \
--header 'Authorization: Bearer 7825ba18963eacb0192363c68864587fe28b26ffeb0a7db09ffec7f2b54cbb21' \
--header 'Content-Type: application/json' \
--data '{
  "name": "Test Relation Updated",
  "document_ids": ["f80f6d83143344c1b2223e5e97a4b5aa", "3bce892b3d5b4de7b6e0b32811e82fef", "81dc7999f1e04bc098b7a27765ef04c1"]
}'

El comando anterior devuelve JSON estructurado así:

{
  "id": "31a11a92-9698-4d25-8159-02d49a88a072",
  "name": "Test Relation Updated",
  "documents": [
    {
      "id": "f80f6d83143344c1b2223e5e97a4b5aa",
      "name": "Very_Important_Document.pdf",
      "type": "document"
    },
    {
      "id": "3bce892b3d5b4de7b6e0b32811e82fef",
      "name": "Very_Important_Annex.docx",
      "type": "document"
    },
    {
      "id": "81dc7999f1e04bc098b7a27765ef04c1",
      "name": "UPDATED_Very_Important_Document.pdf",
      "type": "document"
    }
  ]
}

Permite actualizar una relación

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/relations/<ID>

Parámetros de URL

Parámetro Descripción
ID Id. de la relación

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser una cadena de texto Nombre de la relación
document_ids Debe ser un array de ids Lista de IDs de documentos

Borrar relaciones

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/relations/<ID>' \
--header 'Authorization: Bearer 58ec42d67b888d6128ddbe6deecc6873fc4f878ea3882663ca40b9788e49b26b'

El comando anterior devuelve JSON estructurado así:

Relación eliminado(a). / Relation eliminated.

Permite eliminar relaciones

Solicitud HTTP

DELETE https://app.webdoxclm.com/api/v2/relations/<ID>

Parámetros de URL

Parámetro Descripción
ID Id. de la relación

Atributo del documento

Estos atributos se usan para agrupar documentos en carpetas. Referencia a Documento.

Obtener todos los atributos del documento

curl --location --request GET 'https://app.webdoxclm.com/api/v2/document_attributes' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "client_id",
        "name": "client",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "acbfa2c4-2b2a-4860-a55e-933a40596a46",
                "name": "client 1"
            },
            {
                "id": "6fc2a85c-092c-4cc6-970e-c6f75c78ce31",
                "name": "client 2"
            }
        ]
    },
    {
        "id": "topic_id",
        "name": "topic",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "18f102b0-2d2f-4a2c-a663-b278b887bdda",
                "name": "topic 1"
            }
        ]
    },
    {
        "id": "subject_id",
        "name": "subject",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "14bb6d9e-f335-4cdb-939f-90859f94ee97",
                "name": "subject 1"
            }
        ]
    },
    {
        "id": "container_id",
        "name": "container",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "be70f3ba-5a1d-49ae-9231-6746cb455356",
                "name": "TMP"
            },
            {
                "id": "4cf4310f-e8a8-4080-b534-30730fc6567b",
                "name": "2"
            }
        ]
    },
    {
        "id": "clause_type_id",
        "name": "clause_type",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "60e1f767-ed27-4511-9e48-2e79fe092aeb",
                "name": "1"
            }
        ]
    },
    {
        "id": "29360fee-6f86-496d-8d65-9a3cbe5a0c6b",
        "name": "New document attribute",
        "type_cd": 1,
        "type": "string",
        "static": false,
        "ners": [],
        "description": null,
        "classifiable": true
    }
]

Listar todos los atributos dinámicos para el usuario autenticado.

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/document_attributes?all=true

Parámetros de URL

Parámetro Descripción
all Traer todos los atributos, incluso los no clasificables

Crear un atributo de documento

curl --location --request POST 'https://app.webdoxclm.com/api/v2/document_attributes' \
--header 'Authorization: Bearer 30d417ada164f25a0d7e5bcfb9485c2d220d22d9a7ccb97cca4af8488f05d6d0' \
--header 'Content-Type: application/json' \
--data-raw '{
    "document_attribute": {
        "name": "tipo de contrato 2",
        "type_cd": "1"
    },
    "classifiable": true
}'

El comando anterior devuelve JSON estructurado así:

{
    "id": 1,
    "name": "tipo de contrato",
    "type_cd": 1,
    "type": "string",
    "static": false,
    "classifiable": true
}

Recibe los nuevos parámetros de atributos dinámicos y devuelve el atributo dinámico creado

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/document_attributes

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Cadena opcional Nombre del atributo del documento
type_cd Debe ser un entero entre 0 y 14 Ver Lista de parámetros admisibles abajo
classifiable Booleano opcional Se establece si el atributo es clasificable

Listado de parámetros admisibles

Parámetro Descripción
0 Numérico
1 Cadena
2 Fecha
3 Lista de valores
4 Booleano (true / false)
5 Múltiple
6 Estructura
7 Numérico
8 Archivo
9 Correo electrónico
10 RUT
11 Texto largo
12 Región Chilena
13 Región Chilena
14 Separador de campos ('coma', 'tabulador', 'símbolo de tubería')

Ejemplo de cuerpo

{ "name": "test api docs attributes", "type_cd": 1, "classifiable": true }

Actualizar atributo del documento

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/document_attributes/1' \
--header 'Authorization: Bearer 2b8fe65559196a24d1c39033bfad826b053f7d41167b2b439e711f7236dc23f0' \
--header 'Content-Type: application/json' \
--data-raw '{
    "document_attribute": {
        "name": "updated name",
        "type_cd": "1"
    }
}'

El comando anterior devuelve JSON estructurado así:

{
    "id": 1,
    "name": "updated name",
    "type_cd": 1,
    "type": "string",
    "static": false,
    "classifiable": true
}

Recibe un atributo dinámico y sus nuevos parámetros y devuelve el atributo dinámico actualizado

PUT https://app.webdoxclm.com/api/v2/document_attributes/:id

Parámetros de URL

Parámetro Descripción
ID El ID del atributo del documento

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Cadena opcional Nombre del atributo del documento
type_cd Debe ser un entero entre 0 y 14 Ver Lista de parámetros admisibles abajo

Listado de parámetros admisibles

Parámetro Descripción
0 Numérico
1 Cadena
2 Fecha
3 Lista de valores
4 Booleano (true / false)
5 Múltiple
6 Estructura
7 Numérico
8 Archivo
9 Correo electrónico
10 RUT
11 Texto largo
12 Región Chilena
13 Región Chilena
14 Separador de campos ('coma', 'tabulador', 'símbolo de tubería')

Ejemplo de cuerpo

{ "document_attribute": { "name": "update name" } }

Plantilla de Word

Estos se utilizan para iniciar nuevos documentos de Word con el formato de plantilla.

Obtener todas las plantillas de Word

curl --location --request GET 'https://app.webdoxclm.com/api/v2/word_templates'  \
 --header 'Authorization: Bearer 0b8ff3ad1b916144b9e1c7511b485396fce4b893e8c80d0cee763e764058bc38'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "2b3d767a-f695-4967-8c61-ba00c97e1ac4",
        "name": "token loreal",
        "subject_id": "bc1ed6d6-a645-4749-a32c-a292772f11fa",
        "tokens_json": [
            {
                "token": "Nombre Colaborador"
            },
            {
                "token": "RUT Colaborador"
            },
            {
                "token": "Mail Colaborador"
            },
            {
                "token": "Division"
            }
        ]
    },
    ...
]

Este endpoint recupera todas las plantillas de Word.

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/word_templates

Obtener Plantilla de Word

curl --location --request GET 'https://app.webdoxclm.com/api/v2/word_templates/<ID>' \
--header 'Authorization: Bearer 0b8ff3ad1b916144b9e1c7511b485396fce4b893e8c80d0cee763e764058bc38'

El comando anterior devuelve JSON estructurado así:

{
    "id": 1,
    "name": "Word Template",
    "subject_id": "bc1ed6d6-a645-4749-a32c-a292772f11fa",
    "tokens_json": [
        {
            "token": "Nombre Colaborador"
        },
        {
            "token": "RUT Colaborador"
        },
        {
            "token": "Mail Colaborador"
        },
        {
            "token": "Division"
        }
    ]
}

Este endpoint devuelve la información de una Plantilla de Word.

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/word_templates/ID

Crear plantillas de palabras

curl --location --request POST 'https://app.webdoxclm.com/api/v2/word_templates' \
--header 'Authorization: Bearer 0b8ff3ad1b916144b9e1c7511b485396fce4b893e8c80d0cee763e764058bc38' \
--form 'word_template[name]=TEmplate word' \
--form 'word_template[subject_id]=1' \
--form 'word_template[attachment]=Path_to_file/Template.docx'

El comando anterior devuelve JSON estructurado así:

{
    "id": "3714a6c8-f7e5-4e48-8cb8-9540156069bb",
    "name": "test",
    "subject_id": "bc1ed6d6-a645-4749-a32c-a292772f11fa",
    "tokens_json": [
        {
            "token": "Nombre Colaborador"
        },
        {
            "token": "RUT Colaborador"
        },
        {
            "token": "Mail Colaborador"
        },
        {
            "token": "Division"
        }
    ]
}

Este endpoint permite la creación de una nueva plantilla de palabras

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/word_templates

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
word_template Debe ser un hash
name Debe ser una cadena Nombre de la plantilla de palabras
subject_id Debe ser UUID ID del asunto para la plantilla de Word
attachment Debe ser un archivo Archivo de plantilla de Word

Ejemplo de cuerpo

--form 'word_template[name]=Template word' \ --form 'word_template[subject_id]=bc1ed6d6-a645-4749-a32c-a292772f11fa' \ --form 'word_template[attachment]=Path_to_file/Template.docx'

Eliminar plantilla de Word

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/word_templates/<ID>' \
--header 'Authorization: Bearer 0b8ff3ad1b916144b9e1c7511b485396fce4b893e8c80d0cee763e764058bc38'

Este endpoint permite eliminar una plantilla de Word

Solicitud HTTP

DELETE https://app.webdoxclm.com/api/v2/api/word_templates/<ID>

Grupo

Este recurso representa a los grupos.

Obtener grupos

curl --location --request GET 'https://app.webdoxclm.com/api/v2/groups' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": 2,
        "name": "all"
    },
    {
        "id": 3,
        "name": "new group"
    },
    ...
]

Este endpoint recupera todos los grupos.

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/groups

Crear Grupo

curl --location --request POST 'https://app.webdoxclm.com/api/v2/groups' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66' \
--header 'Content-Type: application/json' \
--data-raw '{"name": "new group 3"}'

El comando anterior devuelve JSON estructurado así:

{
    "id": 4,
    "name": "new group 3"
}

Este endpoint crea un grupo.

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/groups

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser una cadena Nombre del grupo

Ejemplo de cuerpo

{ "name": "new group" }

Obtener grupo

curl --location --request GET 'https://app.webdoxclm.com/api/v2/groups/ab4a4e02-c079-4671-aade-782d7faee5e4' \
--header 'Authorization: Bearer b8e267b3dcb49bff102151bf04c7250b9320865bbfc63f7a4328f317feb5845c'

El comando anterior devuelve JSON estructurado así:

{
    "group": {
        "id": "ab4a4e02-c079-4671-aade-782d7faee5e4",
        "name": "webdoxlocal"
    },
    "users": [
        {
            "id": "74d8dddb-fd1e-45d5-b90b-dac42f08a703",
            "first_name": "Felipe",
            "last_name": "Gonzalez",
            "email": "[email protected]"
        }
    ]
}

Este recurso obtiene el detalle del grupo

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/groups/<ID>

Parámetros de URL

Parámetro Descripción
ID ID del grupo a obtener.

Actualizar Grupo

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/groups' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66' \
--header 'Content-Type: application/json' \
--data-raw '{
    "group":
        {
            "name": "new group editado bbb",
            "user_ids": "77c5a0b5-4260-4922-8589-7a58c4467ba7,2125752d-39cc-4033-9964-1145a8c13db3,040b0e08-deb7-41af-9af8-b4dc24830e68"
        }
}'

El comando anterior devuelve JSON estructurado así:

{
    "group": {
        "id": "fe02ff6f-9fa2-4a72-a2e9-a817653f0626",
        "name": "new group editado bbb"
    },
    "users": [
        {
            "id": "040b0e08-deb7-41af-9af8-b4dc24830e68",
            "first_name": "User",
            "last_name": "Test",
            "email": "[email protected]"
        },
        {
            "id": "77c5a0b5-4260-4922-8589-7a58c4467ba7",
            "first_name": "luis",
            "last_name": "tapia",
            "email": "[email protected]"
        },
        {
            "id": "2125752d-39cc-4033-9964-1145a8c13db3",
            "first_name": "kuis",
            "last_name": "tapia",
            "email": "[email protected]"
        }
    ]
}

Este endpoint actualiza un grupo.

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/groups/<ID>

Parámetros de URL

Parámetro Descripción
ID El ID del grupo a actualizar

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser una cadena Nombre del grupo
user_ids Cadena opcional Ids de usuarios separados por coma

Ejemplo de cuerpo

{ "group": { "name": "new group editado bbb", "user_ids": "77c5a0b5-4260-4922-8589-7a58c4467ba7,2125752d-39cc-4033-9964-1145a8c13db3,040b0e08-deb7-41af-9af8-b4dc24830e68" } }

Asunto

Estos se utilizan para asignar un tipo a los documentos. Referencia a Documento.

Crear Asunto

curl --location --request POST 'https://app.webdoxclm.com/api/v2/subjects' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99"' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Subject Test Api",
}'

El comando anterior devuelve JSON estructurado así:

{
    "id": "9dad2f83-da6c-4010-9978-04fc5de779fb",
    "name": "Subject Test Api"
}

Este endpoint permite la creación de un nuevo sujeto

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/subjects

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser una cadena nombre del sujeto
tag Cadena opcional Etiqueta por tema

Este endpoint permite la creación de un nuevo sujeto

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/subjects

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser una cadena nombre del sujeto
tag Cadena opcional Etiqueta por tema

Ejemplo de cuerpo

{ "name": "subject test", "tag": "subj" }

Actualizar asunto

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/subjects/<ID>' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99"' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "subject test api 2"
}'

El comando anterior devuelve JSON estructurado así:

{
    "id": "9dad2f83-da6c-4010-9978-04fc5de779fb",
    "name": "Subject test api 2"
}

Este endpoint permite la actualización de un tema

PUT https://app.webdoxclm.com/api/v2/subjects/<ID>

Parámetros de URL

Parámetro Descripción
ID El ID del sujeto a actualizar

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
name Debe ser una cadena nombre del sujeto
tag Cadena opcional Etiqueta por tema

Usuario

Este recurso representa a los usuarios.

Obtener todos los usuarios

curl --location --request GET 'https://app.webdoxclm.com/api/v2/users' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
        "first_name": "John",
        "last_name": "Doe",
        "email": "[email protected]",
        "job_ids": [
            2
        ],
        "blocked": false,
        "external_id": "",
        "profile_ids": []
    },
    {
        "id": "ba902463-0c68-4c89-804f-1bd1952ab5f9",
        "first_name": "Jane",
        "last_name": "Doe",
        "email": "[email protected]",
        "job_ids": [],
        "blocked": false,
        "external_id": null,
        "profile_ids": []
    },
    ...
]

Listar todos los usuarios para la autenticación de usuario

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/users

Obtener información de usuario

curl --location --request GET 'https://app.webdoxclm.com/api/v2/users/<ID>' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

El comando anterior devuelve JSON estructurado así:

{
    "id": "ba902463-0c68-4c89-804f-1bd1952ab5f9",
    "first_name": "Jane",
    "last_name": "Doe",
    "email": "[email protected]",
    "job_ids": [],
    "blocked": false,
    "external_id": null,
    "profile_ids": []
}

Permite obtener los datos de un usuario específico

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/users/<ID>

Parámetros de URL

Parámetro Descripción
ID ID del usuario

Crear usuario

curl --location --request POST 'https://app.webdoxclm.com/api/v2/users \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66' \
--data-raw '{
    "user": {
        "first_name": "Jane",
        "last_name": "Doe",
        "email": "[email protected]"
        "external_id": 100,
        "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
    }
}'

El comando anterior devuelve JSON estructurado así:

{
  "id": "ba902463-0c68-4c89-804f-1bd1952ab5f9",
  "first_name": "Jane",
  "last_name": "Doe",
  "email": "[email protected]",
  "job_ids": [],
  "blocked": false,
  "external_id": "100",
  "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
}

Este endpoint permite la creación de un nuevo usuario para la cuenta que realiza la solicitud

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/users

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
user Debe ser un hash
user[external_id] Debe ser una cadena ID para endpoints externos
user[first_name] Debe ser una cadena Nombre del usuario
user[last_name] Debe ser una cadena Apellido del usuario
user[email] Debe ser una cadena Correo electrónico del usuario
user[job_ids] Arreglo de uuids Grupos que tiene el usuario
user[blocked] Booleano opcional Bloquea al usuario si es verdadero
user[profile_ids] Arreglo de uuids Perfil que tendrá el usuario
skip_confirmation Booleano opcional Permite evitar el envio de un correo de confirmacion al usuario

Ejemplo de cuerpo

{ "user": { "first_name": "Jane", "last_name": "Doe", "email": "[email protected]", "job_ids": ["15f91198-0708-41e8-9659-935cf9f85251"], "blocked": false, "external_id": "100" } skip_confirmation: false }

Actualizar usuario

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/users/<ID>' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66' \
--data-raw '{
    "user": {
        "first_name": "Test",
        "last_name": "User",
        "external_id": 150.
        "job_ids": ["15f91198-0708-41e8-9659-935cf9f85251"],
        "blocked": false,
        "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
    }
}'

El comando anterior devuelve JSON estructurado así:

{
    "id": "ba902463-0c68-4c89-804f-1bd1952ab5f9",
    "first_name": "Test",
    "last_name": "User",
    "email": "[email protected]",
    "job_ids": ["15f91198-0708-41e8-9659-935cf9f85251"],
    "blocked": false,
    "external_id": "150",
    "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
}

Este endpoint permite la actualización de los datos del usuario identificados con el ID suministrado

Solicitud HTTP

PUT https://app.webdoxclm.com/api/v2/users/<ID>

Parámetros de URL

Parámetro Descripción
ID ID del usuario

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
user Debe ser un hash
user[external_id] Debe ser una cadena ID para endpoints externos
user[first_name] Debe ser una cadena Nombre del usuario
user[last_name] Debe ser una cadena Apellido del usuario
user[email] Debe ser una cadena Correo electrónico del usuario
user[job_ids] Arreglo de uuids Grupos que tiene el usuario
user[blocked] Booleano opcional Bloquea al usuario si es verdadero
user[profile_ids] Arreglo de uuids Perfil que tendrá el usuario
skip_confirmation Booleano opcional Permite evitar el envio de un correo de confirmacion al usuario

Eliminar usuario

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/users/<ID>' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

El comando anterior devuelve JSON estructurado así:

{}

Este endpoint permite eliminar un usuario identificado con el ID suministrado

Solicitud HTTP

DELETE https://app.webdoxclm.com/api/v2/users/<ID>

Parámetros de URL

Parámetro Descripción
ID ID del usuario

Creación en masa

curl --location --request POST 'http://localhost:3000/api/v2/users/bulk_create' \
--header 'Authorization: Bearer f5b3dc826b8db21f5a6b58f3e13f5c167b90541235761caeaa577f0c5f3eca98' \
--header 'Content-Type: application/json' \
--header 'Cookie: csrftoken=uxWx5huTKxYHq9gbcgXeDoLisd9lF1mqzyvzX7Ex62s99q7OE5ByyLTbbD3E4ld7' \
--data-raw '{
    "users": [
    {
        "first_name": "Grai4g",
        "last_name": "Klempke34",
        "email": "[email protected]",
        "job_ids": ["46896f04-1217-476a-87fa-3c6fc50ae936"],
        "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
    },
    {
        "first_name": "Shellysheldon4",
        "last_name": "Koppen3",
        "email": "[email protected]",
        "job_ids": ["46896f04-1217-476a-87fa-3c6fc50ae936", "7390fd91-f3dc-43f8-a786-033c314ad0bd"]
    }]
}
'

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "6741a2e5-5710-4f7f-bb97-80d25ee5f31b",
        "first_name": "Grai4g",
        "last_name": "Klempke34",
        "email": "[email protected]",
        "job_ids": [
            "46896f04-1217-476a-87fa-3c6fc50ae936"
        ],
        "blocked": false,
        "external_id": null,
        "profile_ids": [
          "7a78a42f-0903-490e-92e2-109bce0ea225"
        ]
    },
    {
        "id": "1f0258cd-7c60-404c-a437-7a43b463f887",
        "first_name": "Shellysheldon4",
        "last_name": "Koppen3",
        "email": "[email protected]",
        "job_ids": [
            "46896f04-1217-476a-87fa-3c6fc50ae936",
            "7390fd91-f3dc-43f8-a786-033c314ad0bd"
        ],
        "blocked": false,
        "external_id": null
    }
]

Permite crear usuarios en masa usando un array de JSON

Solicitud HTTP

POST https://app.webdoxclm.com/api/v2/users/bulk_create

Parámetros del cuerpo

Parámetro Requerido Validación Descripción
users Arreglo de Hash Contiene los usuarios que serán cargados a la plataforma
first_name Debe ser una cadena Nombre del usuario
last_name Debe ser una cadena Apellido del usuario
email Debe ser una cadena Correo electrónico del usuario
job_ids Arreglo de uuids Grupos que tiene el usuario
blocked Booleano opcional Bloquea al usuario si es verdadero
profile_ids Arreglo de uuids Perfil que tendrá el usuario

Perfiles

Los perfiles definen los permisos de los usuarios asignados a ellos

Obtener listado de perfiles

curl --location --request GET 'https://app.webdoxclm.com/api/v2/profiles' \
--header 'Authorization: Bearer c3aee39ac76970dbe72ec2a2741158a536dfd945b81109abacdd9fcee4846c2b' \

El comando anterior devuelve JSON estructurado así:

[
    {
        "id": "bd188323-c086-4c3c-8373-a75bd74d2e72",
        "name": "Admin"
    },
    {
        "id": "7a78a42f-0903-490e-92e2-109bce0ea225",
        "name": "Usuario avanzado"
    }
]

Permite obtener el listado de perfiles de la cuenta

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/profiles

Auditoría

Este endpoint devuelve todas las actividades de forma paginada

Obtener actividades

curl --location --request GET 'https://app.webdoxclm.com/api/v2/audits' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99' \

El comando anterior devuelve JSON estructurado así:

{
    "data": [
        {
            "id": "5189",
            "type": "audit",
            "attributes": {
                "id": 5189,
                "action": "session_security_updated",
                "key": "customer.session_security_updated",
                "parameters": {
                    "changes": {
                        "timeout_in_unit_cd": [
                            1,
                            2
                        ],
                        "updated_at": [
                            "2023-09-06T14:51:08.956-03:00",
                            "2023-09-06T14:53:44.991-03:00"
                        ]
                    }
                },
                "trackable_id": 1,
                "trackable_type": "Customer",
                "owner_id": 1,
                "owner_type": "User",
                "customer_id": 1,
                "recipient_type": null,
                "recipient_id": null,
                "created_at": "2023-09-06T14:53:45-03:00",
                "updated_at": "2023-09-06T14:53:45-03:00",
                "deleted_at": null
            }
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 1,
        "total_elements": 4160
    }
}

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/audits?page=<Number>&per_page=<Number>

Tipos de Documentos de Identidad

Permite consultar los tipos de documentos de identidad disponibles por país

Listar tipos de documentos de identidad

curl --location --request GET 'https://app.webdoxclm.com/api/v2/national_identification_kinds' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

El comando anterior devuelve JSON estructurado así:

{
    "COL": [
    {
        "id": "bfbc6016-aab3-4508-a01d-64ffaeee96b4",
        "kind": "CC"
    },
    {
        "id": "cc6a114b-410d-4242-88fb-a3e7d834b22b",
        "kind": "CE"
    },
    {
        "id": "fc8c127f-7138-4d53-834e-060f952390da",
        "kind": "PEP"
    }
  ],
  "PER": [
    {
        "id": "94bfbabc-9971-4cc8-bb6b-80c62aa2887d",
        "kind": "DNI"
    },
    {
        "id": "0b6219c3-4b24-4f5c-804d-c89b65bf9225",
        "kind": "RUC"
    },
    {
        "id": "48a26347-9f64-4d26-bead-0c3f651ad079",
        "kind": "CE"
    }
  ],
  "ECU": [
    {
        "id": "71042c55-977d-4527-99ae-fb49ce922509",
        "kind": "CE"
    },
    {
        "id": "adc35bc0-957a-42d3-af9a-5ab798371364",
        "kind": "RUC"
    }
  ]
}

Solicitud HTTP

GET https://app.webdoxclm.com/api/v2/national_identification_kinds

Parámetros cadena de consulta

GET https://app.webdoxclm.com/api/v2/national_identification_kinds?country_code=PER

Parámetros de URL

Parámetro Descripción
country_code Código ISO 3166-1 alpha-3 del país por el cual filtrar

Errores

La API de Webdox utiliza los siguientes códigos de error:

Código de error Significado
400 Solicitud incorrecta: su solicitud no es válida.
401 No autorizado: su clave de API es incorrecta.
403 No autorizado.
404 No encontrado.
405 Método no permitido: intentó acceder a un gatito con un método no válido.
422 Entidad no procesable.
500 Error interno del servidor: tuvimos un problema con nuestro servidor. Vuelva a intentarlo más tarde.
503 Servicio no disponible: estamos temporalmente fuera de línea por mantenimiento. Vuelva a intentarlo más tarde.