Saltar a contenido

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.
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.
config.columns.id Código de identificación de la columna en la lista de contacto.
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.
config.columns.type Tipo de dato de la columna. Ver Tipos de datos.
config.columns.order Orden o prioridad de la columna. Si la lista tiene más de una columna, este campo es requerido.
config.columns.source_name Nombre de la columna cuando el archivo posee encabezados. No
config.columns.target_name Nombre asignado a la columna.
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.
email 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.

Pruébalo en Postman

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.

Pruébalo en Postman

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"
        }
    ]
}

Pruébalo en Postman

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.

Pruébalo en Postman

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}}

Pruébalo en Postman

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}}

Pruébalo en Postman

  • 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}}

Pruébalo en Postman

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

Pruébalo en Postman

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

Pruébalo en Postman

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}}

Pruébalo en Postman

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.