API oficial de OneChat
OneChat ahora permite a sus usuarios acceder a sus diversas funciones y herramientas mediante una amplia variedad de endpoints de API disponibles, a los que se puede acceder usando protocolos REST API.
Los endpoints usan un token Bearer para la autorización y operan sobre el protocolo https.
Cómo crear tu token de API
Desde el panel de tu workspace, haz clic en el menú desplegable de la esquina superior derecha, junto a tu perfil de usuario, y luego haz clic en la pestaña API keys.
Desde ahí, puedes ingresar el nombre de tu token, seleccionar el workspace y el bot para el que deseas crear el token, y administrar los permisos. Una vez hecho esto, copia tu token.
URL y autenticación
La URL base para todos los endpoints de la API será:
https://www.onechat.com.au/api
Para partners, la URL base será:
https://[Partner Custom Domain]/api
Por ejemplo, si el dominio personalizado es "app.testagency.ai", la URL base será "https://app.testagency.ai/api"
De igual forma, se puede acceder a todos los endpoints aquí:
https://www.onechat.com.au/api#/
Para partners, la URL white label será:
https://[Partner Custom Domain]/api
OneChat usa Bearer Token como protocolo de autorización, por lo tanto se debe enviar el siguiente encabezado en todas las llamadas a la API para autenticación:
Authorization: Bearer {access token}
Endpoints de API
| ### Flow |
| /flow/subflows |
| Se usa para obtener todos los subflows presentes en un bot |
| /flow/bot-users-count |
| Proporciona el conteo de todos los usuarios del bot presentes en el bot |
| /flow/agents |
| Obtiene una lista de todos los agentes disponibles en el workspace |
| ### Flow Tag |
| /flow/tags |
| Obtiene una lista de todos los tags disponibles en el bot |
| /flow/create-tag |
| Crea un nuevo tag |
| /flow/delete-tag |
| Elimina un tag existente usando tag NS |
| /flow/delete-tag-by-name |
| Elimina un tag existente usando el nombre del tag |
| ### Flow User Field |
| /flow/user-fields |
| Obtiene todos los user fields disponibles en el bot |
| /flow/create-user-field |
| Crea un nuevo userfield |
| /flow/delete-user-field |
| Elimina un user field usando varNS |
| /flow/delete-user-field-by-name |
| Elimina un user field usando el nombre del userfield |
| ### Flow Bot Field |
| /flow/bot-fields |
| Obtiene todos los bot fields disponibles en el bot |
| /flow/create-bot-field |
| Crea un nuevo botfield |
| /flow/set-bot-field |
| Actualiza el valor de un botfield usando varNS |
| /flow/set-bot-field-by-name |
| Actualiza el valor de un botfield usando el nombre del botfield |
| /flow/set-bot-fields |
| Actualiza múltiples bot fields usando varNS |
| /flow/set-bot-fields-by-name |
| Actualiza múltiples botfields usando los nombres de botfield |
| /flow/delete-bot-field |
| Elimina un botfield existente |
| /flow/delete-bot-field-by-name |
| Elimina un botfield existente usando el nombre del botfield |
| ### Flow Segments |
| /flow/segments |
| Obtiene una lista de todos los segments disponibles en un flow de un bot |
| ### Flow Custom Event |
| /flow/custom-events |
| Obtiene una lista de todos los custom events en un bot |
| /flow/custom-events/summary |
| Proporciona un resumen de todos los custom events |
| ### Flow Conversation | |
| /flow/conversations/data |
| Obtiene datos de conversación para un flow (asignaciones de agente, número de aperturas, cierres, etc.) |
| ### Whatsapp Template |
| /whatsapp-template/list |
| Obtiene una lista de todos los templates de Whatsapp disponibles |
| /whatsapp-template/create |
| Crea un nuevo template de whatsapp |
| /whatsapp-template/delete |
| Elimina un template existente |
| /whatsapp-template/sync |
| Sincroniza todos los templates desde Business Manager con OneChat |
| ### Subscriber |
| /subscribers |
| Obtiene una lista de todos los usuarios del bot suscritos |
| /subscriber/get-info |
| Obtiene un usuario del bot suscrito específico usando UserNS |
| /subscriber/get-info-by-user-id |
| Obtiene un usuario del bot suscrito específico usando User ID |
| /subscriber/create |
| Crea un usuario del bot |
| /subscriber/update |
| Actualiza un usuario del bot |
| /subscriber/delete |
| Elimina un usuario del bot |
| /subscriber/add-tag |
| Agrega un tag a un usuario del bot |
| /subscriber/add-tags |
| Agrega múltiples tags a un usuario del bot |
| /subscriber/add-tag-by-name |
| Agrega un tag por nombre a un usuario del bot |
| /subscriber/add-tags-by-name |
| Agrega múltiples tags por nombre a un usuario del bot |
| /subscriber/remove-tag |
| Elimina un tag de un usuario del bot |
| /subscriber/remove-tags |
| Elimina múltiples tags de un usuario del bot |
| /subscriber/remove-tag-by-name |
| Elimina un tag por nombre de un usuario del bot |
| /subscriber/remove-tags-by-name |
| Elimina múltiples tags por nombre de un usuario del bot |
| /subscriber/add-labels-by-name |
| Agrega múltiples labels por nombre a un usuario del bot |
| /subscriber/remove-labels-by-name |
| Elimina múltiples labels por nombre de un usuario del bot |
| /subscriber/set-user-field |
| Actualiza un userfield para un usuario del bot |
| /subscriber/set-user-fields |
| Actualiza múltiples user fields para un usuario del bot |
| /subscriber/set-user-field-by-name |
| Actualiza un user field por nombre para un usuario del bot |
| /subscriber/set-user-fields-by-name |
| Actualiza múltiples user fields por nombre para un usuario del bot |
| /subscriber/clear-user-field |
| Limpia un userfield para un usuario del bot |
| /subscriber/clear-user-fields |
| Limpia múltiples user fields para un usuario del bot |
| /subscriber/clear-user-field-by-name |
| Limpia un user field por nombre para un usuario del bot |
| /subscriber/clear-user-fields-by-name |
| Limpia múltiples user fields por nombre para un usuario del bot |
| /subscriber/pause-bot |
| Pausa la automatización para un usuario del bot |
| /subscriber/resume-bot |
| Reanuda la automatización para un usuario del bot |
| /subscriber/move-chat-to |
| Cambia el estado de la conversación de un usuario del bot (done, pending, etc.) |
| /subscriber/assign-agent |
| Asigna un agente al usuario del bot |
| /subscriber/unassign-agent |
| Quita un agente de un usuario del bot |
| /subscriber/log-custom-event |
| Registra un custom event para el usuario del bot |
| /subscriber/chat-messages |
| Obtiene todos los mensajes de chat de un usuario del bot |
| /subscriber/chat-messages-by-mids |
| Obtiene todos los mensajes de chat por mids para un usuario del bot |
| ### Sending |
| /subscriber/send-main-flow |
| Envía el flow principal a un usuario del bot |
| /subscriber/send-sub-flow |
| Envía un subflow a un usuario del bot |
| /subscriber/send-sub-flow-by-flow-name |
| Envía un subflow por nombre a un usuario del bot |
| /subscriber/send-sub-flow-by-user-id |
| Envía un subflow a un usuario del bot usando su User ID |
| /subscriber/broadcast |
| Envía una difusión a los usuarios del bot |
| /subscriber/broadcast-by-user-id |
| Envía una difusión por User IDs de usuarios del bot |
| /subscriber/broadcast-by-tag |
| Envía una difusión a todos los usuarios con un tag específico |
| /subscriber/broadcast-by-segment |
| Envía una difusión a todos los usuarios con un segment específico |
| /subscriber/send-content |
| Envía contenido a un usuario del bot |
| /subscriber/send-text |
| Envía un mensaje de texto a un usuario del bot |
| /subscriber/send-sms |
| Envía un SMS a un usuario del bot |
| /subscriber/send-node |
| Envía un nodo a un usuario del bot |
| /subscriber/send-whatsapp-template |
| Envía un template de whatsapp a un usuario del bot |
| /subscriber/send-whatsapp-template-by-user-id |
| Envía un template de whatsapp a un usuario del bot usando User ID (número de Whatsapp) |
| ### Mini Apps |
| /subscriber/app-trigger |
| Activa una acción trigger de una miniapp instalada |
| ### Ecommerce |
| /subscriber/cart |
| Obtiene el carrito de un usuario del bot |
| /subscriber/empty-cart |
| Vacía el carrito de un usuario del bot |
| /subscriber/add-to-cart |
| Agrega un producto al carrito de un usuario del bot |
| /subscriber/remove-from-cart |
| Elimina un producto del carrito de un usuario del bot |
| /subscriber/cart-paid |
| Marca como pagado el carrito de un usuario del bot |
| /subscriber/update-order-status |
| Actualiza el estado del pedido de un usuario del bot |
| /shop/discount-codes |
| Obtiene todos los descuentos |
| /shop/discount-codes/{codeId}/get-info |
| Obtiene un descuento específico |
| /shop/discount-codes/get-info-by-code |
| Obtiene un descuento específico por código |
| /shop/discount-codes/create |
| Crea un nuevo código de descuento |
| /shop/discount-codes/{codeId}/update |
| Actualiza un código de descuento |
| /shop/discount-codes/{codeId}/delete |
| Elimina un código de descuento |
| /shop/discount-codes/delete-by-code |
| Elimina un código de descuento por código |
| /shop/orders |
| Obtiene todos los pedidos |
| /shop/orders/{orderId}/get-info |
| Obtiene un pedido específico |
| /shop/products |
| Obtiene todos los productos |
| /shop/products/{productId}/get-info |
| Obtiene un producto específico |
| /shop/products/create |
| Crea un producto |
| /shop/products/{productId}/update |
| Actualiza un producto específico |
| /shop/products/{productId}/delete |
| Elimina un producto específico |
| /shop/product-tags |
| Obtiene todos los tags de producto |
| /shop/product-tags/{tagId}/get-info |
| Obtiene un tag de producto específico |
| /shop/product-tags/create |
| Crea un tag de producto específico |
| /shop/product-types/{typeId}/update |
| Actualiza un tipo de producto |
| /shop/product-types/{typeId}/delete |
| Elimina un tipo de producto |
| /shop/product-vendors |
| Obtiene todos los proveedores de producto |
| /shop/product-vendors/{vendorId}/get-info |
| Obtiene un proveedor específico |
| /shop/product-vendors/create |
| Crea un proveedor |
| /shop/product-vendors/{vendorId}/update |
| Actualiza un proveedor específico |
| /shop/product-vendors/{vendorId}/delete |
| Elimina un proveedor específico |
| /shop/locations |
| Obtiene todas las ubicaciones |
| /shop/locations/{locationId}/get-info |
| Obtiene una ubicación específica |
| /shop/locations/create |
| Crea una ubicación |
| /shop/locations/{locationId}/update |
| Actualiza una ubicación |
| /shop/locations/{locationId}/delete |
| Elimina una ubicación |
| /shop/products/{productId}/variants |
| Obtiene las variantes de un producto específico |
| /shop/products/{productId}/variants/{variantId}/get-info |
| Obtiene una variante específica de un producto específico |
| /shop/products/{productId}/variants/{variantId}/update |
| Actualiza una variante específica de un producto específico |
| /shop/products/{productId}/variants/{variantId}/delete |
| Elimina una variante específica de un producto específico |
| ### Templates |
| /templates |
| Obtiene todos los templates de flow |
| /template/{templateNs}/generate-one-time-link |
| Genera un enlace de un solo uso para un template |
| ### Team Label |
| /team/labels |
| Obtiene todos los labels |
| /flow/create-label |
| Crea un nuevo label |
| /team/delete-label |
| Elimina un label existente |
| /team/delete-label-by-name |
| Elimina un label existente por nombre |
| ### Ticket Lists |
| /team/ticket-lists |
| Obtiene una lista de todas las ticket lists disponibles |
| /team/ticket-lists/{listId}/fields |
| Obtiene una lista de todos los fields disponibles dentro de una lista específica |
| /team/ticket-lists/{listId}/items |
| Obtiene una lista de todos los ítems/tickets actualmente en una lista específica |
| /team/ticket-lists/{listId}/log-data |
| Obtiene los datos de todos los cambios por los que pasó la lista (entrada/salida de ítems, etc.) |
| /team/ticket-lists/{listId}/create |
| Crea un ticket dentro de una lista |
| /team/ticket-lists/{listId}/update/{listItemId} |
| Actualiza un ticket dentro de una lista |
| /team/ticket-lists/{listId}/delete/{listItemId} |
| Elimina un ticket dentro de una lista |
| ### Integration |
| /integration/shopify |
| Obtiene, configura o elimina una integración de shopify |
| /integration/woocommerce |
| Obtiene, configura o elimina una integración de woocommerce |
| /integration/openai |
| Obtiene, configura o elimina una integración de OpenAI |
| /integration/s3storage |
| Obtiene, configura o elimina una integración de S3 Storage |
| ### Open AI |
| /openai-embeddings |
| Obtiene todos los embeddings |
| /openai-embeddings/{id}/get-info |
| Obtiene un embedding específico |
| /openai-embeddings/create |
| Crea un nuevo embedding |
| /openai-embeddings/{id}/update |
| Actualiza un embedding nuevo |
| /openai-embeddings/{id}/delete |
| Elimina un embedding existente |
| /openai-embeddings/import |
| Importa embeddings |
| /openai-embeddings/generate |
| Genera embeddings |
| ### Workspace |
| /flow-summary |
| Obtiene el resumen de flows (usuarios, analíticas) |
| /flow-agent-summary |
| Obtiene el resumen de agentes (analíticas) |
| /team-bot-users |
| Obtiene usuarios del bot independientemente del bot dentro del workspace |
| /team-flows |
| Obtiene una lista de bots en el workspace |
| /team-members |
| Obtiene una lista de miembros en el workspace |
| ### User |
| /me |
| Obtiene el usuario actual que generó el token |
Límites
La API tiene límites de 1000 llamadas por hora.