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":"*************"
}
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",
}
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",
}
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¶llel_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¶llel_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¶llel_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>¶llel_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>¶llel_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>¶llel_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 'list'</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 'send_mail'</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 |
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 |
✔ | 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 |
✔ | 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. |