Esta API (sigla en inglés de Interfaz de Programación de Aplicaciones) permite la integración entre sus aplicaciones con la administración de clientes de Atom. Esta API permite:
- Crear o Actualizar un cliente.
- Obtener un listado de clientes.
- Ver datos de un cliente a través de su ID.
- Ver datos de un cliente a través de su número de teléfono
Endpoint: Create client - Crear/Actualizar Cliente
Este servicio permite la creación o actualización de un cliente en Atom.
Parámetros
A continuación describimos los parámetros que se deben incluir dentro de la petición de manera obligatoria, y otros que se pueden agregar opcionalmente:
Nombre del Parámetro |
Descripción |
Tipo de Dato |
Requerido |
name |
Nombre del cliente |
string |
Sí |
phone |
Número telefónico del cliente. Se debe anteponer el código del país, sin utilizar el signo + Correcto: 50755667788 ✅ Incorrecto: +50555667788 ❌ Incorrecto: 55667788 ❌ |
string |
Sí |
|
Email del cliente |
string |
Opcional. |
optionals |
Parámetros adicionales para hacer el mapeo de los campos de información asociados al cliente, los valores se escriben a modo de {key: value} |
object |
Si |
tags |
Etiquetas para el cliente |
string |
Opcional. |
La petición para realizar la creación de un cliente utilizando la API de AtomChat, se realiza de la siguiente manera:
Tipo de Conexión |
Acceso público por Internet |
Endpoint |
https://us-central1-atomchat-io.cloudfunctions.net/clients |
Método |
POST |
Encabezados |
Content-type: application/json Charset: utf-8 Authorization: Bearer (token público) |
Cuerpo |
{ “name”: “nombre_del_cliente”, “phone”: “numero_de_telefono”, “email”: “email_del_cliente”, “optionals”: { “option1”: “valor”, “option2”: “valor ”, … }, “tags”: [“tag 1”, “tag2”] } |
Respuestas
Las respuestas esperadas para la petición realizada, son las siguientes:
Escenario |
Código de Respuesta |
Cuerpo de la Respuesta |
Cliente nuevo |
200 |
{ "client":"clientID" } |
Token incorrecto |
400 |
{ "context": { "key": "Authorization", "label": "headers.authorization", "value": Bearer }, "message": "Cannot find a channel associated with the public token Bearer", "path": [ "headers.authorization" ], "type": "Bad format" } |
No se pudo crear el cliente |
500 |
{ message: "Cannot perform the creation of the client at ${new Date()}" } |
No se pudo actualizar el cliente |
500 |
{ message: "Cannot perform the update of the client" } |
No se pudo actualizar el cliente |
500 |
{ message: "Cannot perform the update of the client at ${new Date()}" } |
Endpoint: Client list - Obtener listado de clientes
Este servicio permite obtener un listado de todos los clientes.
Parámetros
A continuación explicamos los parámetros que se deben incluir dentro de la petición de manera obligatoria, y otros que se pueden agregar opcionalmente
Nombre del Parámetro |
Descripción |
Tipo de Dato |
Requerido |
page |
Indicador de la página sobre la cual se desea obtener los registros. Default: 1 |
string |
NO. Por defecto 1 |
size |
Cantidad de registros a recuperar. Default: 10 |
string |
NO. Por defecto 10 |
tags |
Etiquetas para filtrar, opcionales |
string |
NO |
sort |
Orden de los resultados. Valores aceptados: asc | desc. Default: asc |
string |
NO |
La petición para realizar la recepción de listado de clientes utilizando la API de AtomChat, se realiza de la siguiente manera:
Tipo de Conexión |
Acceso público por Internet |
Endpoint |
https://us-central1-atomchat-io.cloudfunctions.net/clients?page={string}&size={string}&sort={string} |
Método |
GET |
Encabezados |
Content-type: application/json Charset: utf-8 Authorization: Bearer (token público) |
Respuestas
Las respuestas esperadas para la petición realizada, son las siguientes:
Escenario |
Código de Respuesta |
Cuerpo de la Respuesta |
Listar clientes |
200 |
{ length: int, page: int, items: [ { id: string, name: string, email: string, optionals: [clave: valor] phone: string, tags: [], user: { id: string, name: string }, updatedAt: Date, createdAt: Date }, ] } |
No hay lista de clientes |
500 |
{ message: "Something went wrong while the operation was being performed" } |
Token incorrecto |
400 |
{ "context": { "key": "Authorization", "label": "headers.authorization", "value": Bearer }, "message": "Cannot find a channel associated with the public token Bearer", "path": [ "headers.authorization" ], "type": "Bad format" } |
Ejemplo de estructura JSON
{
"page": 1,
"length": 1,
"items": [
{
"id": "V2EON8A6SPwC2VudgFbp",
"name": "Silvio Nicole Carballo",
"email": null,
"optionals": {
"texto 3": "Excelente",
"texto 1": "¡Excelente!",
"texto 9": "Hola",
"texto 8": "1",
"dos": "¡Excelente! 🤩 ",
"nuevo4": "martillo",
"Monto": "21",
"Referido1": "123123",
"texto 5": "asesor",
"texto 2": "asesor",
"referido2": "Silvio"
},
"phone": "50588541975",
"tags": [
null,
"test-label-2sss",
null
],
"user": {
"id": "qa-sinsa-ni-qchsjn",
"name": "Develop - Sinsa QA"
},
"updatedAt": "2022-04-22T13:26:31.139Z",
"createdAt": "2022-08-15T22:18:05.683Z"
}
]
}
Endpoint: Get Client by ID - Ver datos de un cliente
Este servicio permite obtener los detalles pertenecientes a un cliente en particular a través de su ID.
La petición para realizar la recepción de los datos de un cliente utilizando la API de AtomChat, se realiza de la siguiente manera:
Tipo de Conexión |
Acceso público por Internet |
Endpoint |
https://us-central1-atomchat-io.cloudfunctions.net/clients?id={clientId} |
Método |
GET |
Encabezados |
Content-type: application/json Charset: utf-8 Authorization: Bearer (token público) |
Respuestas
Las respuestas esperadas para la petición realizada, son las siguientes:
Escenario |
Código de Respuesta |
Cuerpo de la Respuesta |
Cliente recuperado |
200 |
{ id: string, name: string, email: string, optionals: [clave: valor] phone: string, tags: [], user: { id: string, name: string }, updatedAt: Date, createdAt: Date }, |
Cliente inexistente |
404 |
{ message: "Cannot find the client - companyId ${companyId} - phone ${phone}" } |
Token incorrecto |
400 |
{ "context": { "key": "Authorization", "label": "headers.authorization", "value": Bearer }, "message": "Cannot find a channel associated with the public token Bearer", "path": [ "headers.authorization" ], "type": "Bad format" } |
Error genérico |
500 |
{ message: "Something went wrong while the operation was being performed } |
Ejemplo de estructura JSON
{
"id": "V2EON8A6SPwC2VudgFbp",
"name": "Silvio Nicole Carballo",
"email": null,
"optionals": {
"texto 1": "¡Excelente!",
"texto 9": "Hola",
"Monto": "21",
"texto 5": "asesor",
"texto 3": "Excelente",
"Referido1": "123123",
"nuevo4": "martillo",
"dos": "¡Excelente! 🤩 ",
"referido2": "Silvio",
"texto 8": "1",
"texto 2": "asesor"
},
"phone": "50588541975",
"tags": [
null,
"test-label-2sss",
null
],
"user": {
"id": "qa-sinsa-ni-qchsjn",
"name": "Develop - Sinsa QA"
},
"updatedAt": "2022-04-22T13:26:31.139Z",
"createdAt": "2022-08-15T22:18:05.683Z"
}
Endpoint: Get Client by Phone - Ver datos de un cliente
Este servicio permite obtener los detalles pertenecientes a un cliente en particular a través de su número de teléfono.
La petición para realizar la recepción de los datos de un cliente utilizando la API de AtomChat, se realiza de la siguiente manera:
Tipo de Conexión |
Acceso público por Internet |
Endpoint |
https://us-central1-atomchat-io.cloudfunctions.net/clients?phone={phoneNumber} |
Método |
GET |
Encabezados |
Content-type: application/json Charset: utf-8 Authorization: Bearer (token público) |
Respuestas
Las respuestas esperadas para la petición realizada, son las siguientes:
Escenario |
Código de Respuesta |
Cuerpo de la Respuesta |
Cliente recuperado |
200 |
{ id: string, name: string, email: string, optionals: [clave: valor] phone: string, tags: [], user: { id: string, name: string }, updatedAt: Date, createdAt: Date }, |
Cliente inexistente |
404 |
{ message: "Cannot find the client - companyId ${companyId} - phone ${phone}" } |
Token incorrecto |
400 |
{ "context": { "key": "Authorization", "label": "headers.authorization", "value": Bearer }, "message": "Cannot find a channel associated with the public token Bearer", "path": [ "headers.authorization" ], "type": "Bad format" } |
Error genérico |
500 |
{ message: "Something went wrong while the operation was being performed } |
Ejemplo de estructura JSON
{
"id": "V2EON8A6SPwC2VudgFbp",
"name": "Silvio Nicole Carballo",
"email": null,
"optionals": {
"texto 1": "¡Excelente!",
"texto 9": "Hola",
"Monto": "21",
"texto 5": "asesor",
"texto 3": "Excelente",
"Referido1": "123123",
"nuevo4": "martillo",
"dos": "¡Excelente! 🤩 ",
"referido2": "Silvio",
"texto 8": "1",
"texto 2": "asesor"
},
"phone": "50588541975",
"tags": [
null,
"test-label-2sss",
null
],
"user": {
"id": "qa-sinsa-ni-qchsjn",
"name": "Develop - Sinsa QA"
},
"updatedAt": "2022-04-22T13:26:31.139Z",
"createdAt": "2022-08-15T22:18:05.683Z"
}