{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"3662db5d-5420-49d2-b837-09eba945998d","name":"API Cxpress","description":"[Versión en portugués (BR)](https://documenter.getpostman.com/view/45421173/2sB2qi8HcV)\n\n[Versión en inglés (GB)](https://documenter.getpostman.com/view/45421173/2sB2x6msBP)\n\nBienvenido a la documentación de la API de integración de Cxpress\n\nEste documento presenta la especificación técnica de las solicitudes disponibles para interactuar con la API, permitiendo realizar consultas y modificaciones desde aplicaciones externas. También se incluyen las instrucciones para la generación del token de autenticación, esencial para garantizar el acceso seguro a los endpoints. Este guía tiene como objetivo proporcionar toda la información necesaria para un consumo eficiente, estructurado y confiable de la API, facilitando la integración con sistemas externos de forma segura y estandarizada.\n\n### **Estructura**\n\n1. La documentación está organizada por versiones, dando prioridad a la versión más reciente de la API.\n    \n2. En caso de que un determinado endpoint no esté documentado en la versión más actual, se debe utilizar el endpoint disponible en la versión más reciente en la que esté documentado.\n    \n3. La API de Cxpress tiene un límite de 300 solicitudes por minuto por dirección IP. Si este límite se excede dentro de un período de 60 segundos, se aplicará automáticamente un bloqueo de seguridad de 10 minutos a la dirección IP responsable de las solicitudes.\n    \n\n# **Generación de una entidad de integración**\n\nPara crear una nueva entidad de integración, el usuario con perfil de **PROPIETARIO** de la empresa debe seguir la siguiente ruta dentro de la plataforma:\n\n**Menú lateral → Configuraciones → Empresa → API**\n\n<img src=\"https://content.pstmn.io/9c7d8f42-3f94-4d63-8fc2-e5bc580c3d68/aW1hZ2UucG5n\" width=\"531\" height=\"301\">\n\nStartFragmentEn la pantalla de API\n\nHaz clic en el botón ubicado en la esquina superior de la interfaz:\n\n<img src=\"https://content.pstmn.io/1c362fd5-a4b0-401d-8e6b-30553a97e8c6/aW1hZ2UucG5n\" width=\"113\" height=\"50\">\n\nAl presionar ese botón, se mostrará un modal donde se deberán completar los siguientes datos:\n\n- **Nombre:** Nombre identificador de la entidad de integración.\n    \n- **Permisos:** Selección de los endpoints a los que el token podrá acceder.\n    \n\n<img src=\"https://content.pstmn.io/650d309b-6260-420e-952c-d9216bf1648d/aW1hZ2UucG5n\" width=\"610\" height=\"515\">\n\nUna vez creada la entidad de integración, se generarán y se entregarán al usuario el **API Token** y el **Refresh Token**. Estos tokens permiten autenticar solicitudes y realizar modificaciones en la plataforma Cxpress a través de la integración con sistemas externos.\n\n⚠️ **Importante:** Los tokens se muestran solamente una vez después de su creación. Asegúrate de guardarlos en un lugar seguro.\n\n<img src=\"https://content.pstmn.io/23b63344-f4e6-4011-99f6-869eb9f69fd6/aW1hZ2UucG5n\" width=\"604\" height=\"444\">\n\n#### Validez y gestión de tokens\n\n- El **API Token** tiene una validez de **1 hora**. Pasado este tiempo, queda automáticamente invalidado.\n    \n- El **Refresh Token** tiene una validez de **168 horas (7 días)**. Una vez vencido, ya no será posible generar nuevos tokens de acceso a partir de él.\n    \n\nEl Token de Integración aparecerá en la lista de la interfaz, pero **no podrá ser editado**.\n\nSi es necesario cambiar los permisos de acceso, el usuario deberá crear un nuevo token y establecer los permisos deseados en el momento de su creación.\n\n<img src=\"https://content.pstmn.io/cb6cb517-4ef2-4d76-91df-a35bf8109281/aW1hZ2UucG5n\" width=\"545\" height=\"305\">\n\nEn la sección **Endpoints 1.0** de este documento se detallan las respuestas de todos los endpoints accesibles mediante un Token de Integración, así como las instrucciones para su utilización.\n\n# Configuración de Webhook\n\nLa funcionalidad de **webhook** permite que sistemas externos sean notificados automáticamente cada vez que ocurran determinados eventos en la plataforma de Cxpress.\n\nEn la pantalla de API, haz clic en el botón ubicado encima del listado de Tokens:\n\n<img src=\"https://content.pstmn.io/63a9800e-9bd9-44ee-a1b6-bbd8a278f3b4/aW1hZ2UucG5n\" width=\"281\" height=\"111\">\n\n### Campos de Configuración\n\nAl presionar este botón, se mostrará un modal donde se deberán completar las siguientes informaciones:\n\n- **Endpoint:** URL de destino a la cual se enviarán las notificaciones de eventos. Es la dirección configurada para recibir las solicitudes HTTP generadas por el mecanismo de webhook.\n    \n- **Eventos:** Permite seleccionar los eventos que deben activar notificaciones hacia el endpoint configurado. Es posible habilitar individualmente los siguientes tipos de eventos:\n    \n    - **Creación (create):** Se dispara cuando una de las entidades disponibles es creada en Cxpress.\n        \n    - **Actualización (update):** Se dispara cuando una de las entidades disponibles es modificada en Cxpress.\n        \n\n<img src=\"https://content.pstmn.io/07be41ab-6312-41cb-bdaa-54db27043b0b/aW1hZ2UucG5n\" width=\"619\" height=\"439\">\n\n### Entidades Disponibles\n\nLas notificaciones de webhook abarcan los eventos ocurridos para los siguientes tipos de entidades:\n\n- Consumidor\n    \n- Ticket\n    \n- Tarea\n    \n- Sector\n    \n- Etiquetas de Tickets\n    \n- Etiquetas de Consumidores\n    \n- Campos Personalizados\n    \n\n### Funcionamiento\n\nAl activar un tipo de evento (Creación o Actualización), el sistema enviará automáticamente una notificación **HTTP POST** al endpoint configurado cada vez que se produzca la acción correspondiente en una de las entidades disponibles.\n\nEl **payload** de la solicitud incluirá los datos actualizados o recién creados de la entidad, permitiendo que el sistema externo reaccione en tiempo real a los cambios.\n\n### Ejemplo de Caso de Uso\n\nAl habilitar el evento de **creación (create)**, el endpoint configurado será activado cada vez que una de las entidades disponibles sea creada en el sistema. La solicitud enviada al endpoint contendrá, en el cuerpo (**payload**), los datos de la entidad recién creada.\n\nPor ejemplo, en el caso del evento de creación de la entidad **Sector**, el cuerpo de la solicitud tendrá la siguiente estructura:\n\n``` json\n{\n  \"entity\": \"sector\",\n  \"type\": \"create\",\n  \"data\": {\n    \"id\": \"4f36f4aa-78do-462d-bcoa-a74beb69452b\",\n    \"company id\": \"G6cce6aBge-Oaeo-4e4c-Seac-e7d5ecaafaa7\",\n    \"name\": \"Setor teste\",\n    \"updated at\": \"2025-05-08T16:02:37.5692\",\n    \"deleted at\": null,\n    \"active\": true,\n    \"created at\": \"2025-05-08T16:02:37.5692\",\n    \"employees user ids\": [\n      \"981c9949-2327-4fO0e-98d2-2a61f7ecbeaf\",\n      \"feda355a-a75b-4a8a-b599-e2do2c23f983\"\n    ],  \n    \"key words\": [\n      \"teste\"\n    ]\n  }\n}\n\n ```","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"45421173","collectionId":"3662db5d-5420-49d2-b837-09eba945998d","publishedId":"2sB2x6mXha","public":true,"publicUrl":"https://documenter-api.postman.tech/view/45421173/2sB2x6mXha","privateUrl":"https://go.postman.co/documentation/45421173-3662db5d-5420-49d2-b837-09eba945998d","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"232960"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/03f8f76e-6d21-470c-a672-7b395401b4db/Q1hwcmVzcy1sb2dvLXdodC5wbmc=","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"232960"}},{"name":"light","logo":"https://content.pstmn.io/9fcdce97-5537-41c8-aab5-a2c516e4b3e8/Q1hwcmVzcy1sb2dvICgyKS5wbmc=","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"232960"}}]}},"version":"8.10.0","publishDate":"2025-06-13T13:30:57.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/9fcdce97-5537-41c8-aab5-a2c516e4b3e8/Q1hwcmVzcy1sb2dvICgyKS5wbmc=","logoDark":"https://content.pstmn.io/03f8f76e-6d21-470c-a672-7b395401b4db/Q1hwcmVzcy1sb2dvLXdodC5wbmc="}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sB2x6mXha"}