Lista de contactos¶
Las listas de contactos permiten almacenar un conjunto de contactos que comparten alguna característica.
Los datos son dinámicos y el cliente puede guardar cualquier campo asociado a los contactos. Es obligatorio incluir al menos un campo para teléfono o un campo para email.
A continuación, se describen los endpoints relacionados con las listas de contactos.
Lista de contacto¶
Crear lista de contacto desde un archivo¶
POST https://api.obmessage.ai/api/v1/contact-list/upload
Authorization: Bearer {{JWT_TOKEN}}
{
"params": {
"skip_row_with_error": true
},
"info": {
"name": "string",
"description": "string",
"has_header": true,
"sheet": "string",
"encoding": "string",
"config": {
"columns": [
{
"index": 0,
"source_name": "string",
"target_name": "string",
"display_name": "string",
"order": 1,
"type": "string"
}
]
}
}
}
Este endpoint lee archivos .csv o .xlsx en formato de columnas de 0 a n.
Por ejemplo, se puede crear una lista de contacto llamada datos de prueba utilizando la primera columna del archivo filename.csv, y asignar a dicha columna el nombre name.
A continuación, se describe la estructura completa de la información de la lista de contacto:
| Campo | Descripción | Obligatorio |
|---|---|---|
| params | Parámetros adicionales de la carga. | No |
| params.skip_row_with_error | Indica si se deben omitir filas con errores durante la carga de la lista de contactos. | No |
| name | Nombre de la lista de contacto. | No |
| description | Descripción de la lista de contacto. | No |
| has_header | Indica si los datos del archivo poseen una fila de encabezados. | Sí |
| sheet | Hoja que se procesará en archivos .xlsx. | No |
| encoding | Encoding del archivo. Solo aplica para .csv. | No |
| config | Configuración de las columnas que posee la lista de contacto. | Sí |
| config.columns.id | Código de identificación de la columna en la lista de contacto. | Sí |
| config.columns.index | Índice de la columna en el archivo, de 0 a n. Si la lista tiene más de una columna, este campo es requerido. | Sí |
| config.columns.type | Tipo de dato de la columna. Ver Tipos de datos. | Sí |
| config.columns.order | Orden o prioridad de la columna. Si la lista tiene más de una columna, este campo es requerido. | Sí |
| config.columns.source_name | Nombre de la columna cuando el archivo posee encabezados. | No |
| config.columns.target_name | Nombre asignado a la columna. | Sí |
| config.columns.display_name | Nombre amigable de la columna. | No |
Tipos de datos¶
A continuación, se describen los tipos de datos soportados:
| Tipo de dato | Descripción |
|---|---|
| text | Cadena de longitud variable de letras, números y caracteres especiales. Longitud máxima: 255. |
| integer | Número entero con signo. |
| decimal | Número decimal de punto fijo con precisión (18, 2). |
| phone | Número telefónico compatible con la recomendación E.164. |
| Correo electrónico. | |
| date | Fecha en formato YYYY-MM-DD. |
| time | Hora en formato HH:mm:ss. |
| datetime | Fecha y hora en formato YYYY-MM-DD HH:mm:ss. |
Nota
Todos los tipos de datos son validados de acuerdo con estas especificaciones al momento de crear o actualizar la lista de contacto.
Actualizar los datos de una lista de contacto desde un archivo¶
PUT https://api.obmessage.ai/api/v1/contact-list/{UUID-cl}/upload
Authorization: Bearer {{JWT_TOKEN}}
{
"params": {
"append": true,
"skip_row_with_error": true
}
}
- UUID-cl: ID de la lista de contacto.
Este endpoint actualiza los datos de una lista de contacto desde un archivo.
Consultar listas de contactos¶
GET https://api.obmessage.ai/api/v1/contact-list
Authorization: Bearer {{JWT_TOKEN}}
Este endpoint permite visualizar las listas de contactos existentes. El resultado se entrega como una paginación de listas de contactos.
Este endpoint soporta los siguientes parámetros o filtros:
| Campo | Descripción |
|---|---|
| id | Código de identificación de la lista de contacto. |
| name | Nombre de la lista de contacto. |
| current_page | Página que se desea obtener. |
| items_per_page | Cantidad máxima de elementos por página. |
| desc | Orden de paginación de los datos. Por defecto es asc. |
| params.append | Indica si se debe realizar un append a la lista de contactos. Para más información sobre append, puede consultar este enlace. |
| params.skip_row_with_error | Indica si se deben omitir filas con errores durante la carga de la lista de contactos. |
Respuesta de ejemplo: 200 OK
{
"current_page": 1,
"items_per_page": 5,
"items": [
{
"id": "ece619cb-605e-4150-be72-3f3b920e0bd7",
"name": "test",
"description": "test",
"has_header": true,
"encoding": "",
"sheet": "",
"created_at": "2022-10-31T14:33:17.434Z"
}
]
}
Consultar una lista de contacto por ID¶
GET https://api.obmessage.ai/api/v1/contact-list/{UUID-cl}
Authorization: Bearer {{JWT_TOKEN}}
- UUID-cl: ID de la lista de contacto.
Respuesta de ejemplo: 200 OK
{
"id": "73143085-198c-4538-941b-45517077de67",
"name": "test",
"description": "test",
"has_header": true,
"encoding": "",
"sheet": "",
"created_at": "2022-10-31T14:33:17.434Z",
"updated_at": "2022-10-31T15:38:43.765Z",
"config": {
"columns": [
{
"id": "14af0d04-715b-432e-9550-a5736acf468c",
"index": 0,
"type": "text",
"order": 1,
"source_name": "test",
"target_name": "test",
"display_name": "test"
}
]
}
}
Actualizar una lista de contacto¶
PUT https://api.obmessage.ai/api/v1/contact-list/{UUID-cl}
Authorization: Bearer {{JWT_TOKEN}}
Content-Type: application/json
- UUID-cl: ID de la lista de contacto.
Este endpoint actualiza una lista de contacto por su ID.
Solo se pueden actualizar los siguientes campos:
- name
- description
Nota
Retorna la lista de contacto en formato JSON.
Eliminar una lista de contacto¶
DELETE https://api.obmessage.ai/api/v1/contact-list/{UUID-cl}
Authorization: Bearer {{JWT_TOKEN}}
Elimina una lista de contacto por su ID.
Contacto¶
Consultar contactos de una lista¶
GET https://api.obmessage.ai/api/v1/contact-list/{UUID-cl}/contact
Authorization: Bearer {{JWT_TOKEN}}
- UUID-cl: ID de la lista de contacto.
Este endpoint permite visualizar los datos de una lista de contacto determinada. El resultado se entrega como una paginación de contactos cuya data es dinámica.
Este endpoint soporta los siguientes parámetros o filtros:
| Campo | Descripción |
|---|---|
| pk_id | Código de identificación del contacto. |
| current_page | Página que se desea obtener. |
| items_per_page | Cantidad máxima de elementos por página. |
| desc | Orden de paginación de los datos. Por defecto es asc. |
Respuesta de ejemplo: 200 OK
{
"current_page": 1,
"items_per_page": 10,
"items": [
{
"contact_id": "71088a9d-7aa3-4736-8e17-383a4a567b9b",
"id": 1,
"nombre": "juan perez",
"telefono": "+18099999999",
"email": "test@test.com",
"columna1": "1",
"columna2": "2"
}
]
}
Consultar un contacto por ID¶
GET https://api.obmessage.ai/api/v1/contact-list/{UUID-cl}/contact/{UUID-contact}
Authorization: Bearer {{JWT_TOKEN}}
Este endpoint obtiene un contacto determinado por su ID.
| Campo | Descripción |
|---|---|
| UUID-cl | ID de la lista de contacto. |
| UUID-contact | ID del contacto. |
Respuesta de ejemplo: 200 OK
{
"contact_id": "71088a9d-7aa3-4736-8e17-383a4a567b9b",
"id": 1,
"nombre": "juan perez",
"telefono": "+18099999999",
"email": "test@correo.com",
"columna1": "1",
"columna2": "2"
}
Agregar un nuevo contacto¶
POST https://api.obmessage.ai/api/v1/contact-list/{UUID-cl}/contact
Authorization: Bearer {{JWT_TOKEN}}
Content-Type: application/json
Este endpoint agrega un nuevo contacto a una lista de contacto determinada.
| Campo | Descripción |
|---|---|
| UUID-cl | ID de la lista de contacto. |
Recibe una trama en formato JSON con los datos del nuevo contacto. Por ejemplo:
{
"name": "juan perez",
"tel": "+18099999999"
}
Actualizar parcialmente un contacto¶
PATCH https://api.obmessage.ai/api/v1/contact-list/{UUID-cl}/contact/{UUID-contact}
Authorization: Bearer {{JWT_TOKEN}}
Content-Type: application/json
Actualiza parcialmente un contacto de una lista de contacto determinada.
| Campo | Descripción |
|---|---|
| UUID-cl | ID de la lista de contacto. |
| UUID-contact | ID del contacto. |
Por ejemplo:
{
"name": "Juan Perez",
"phone": "+18099999999"
}
Eliminar un contacto¶
DELETE https://api.obmessage.ai/api/v1/contact-list/{UUID-cl}/contact/{UUID-contact}
Authorization: Bearer {{JWT_TOKEN}}
Elimina un contacto de una lista de contacto determinada.
| Campo | Descripción |
|---|---|
| UUID-cl | ID de la lista de contacto. |
| UUID-contact | ID del contacto. |