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, siendo obligatorio uno campo para teléfono o un campo para email.

A continuación, se describen todos los endpoints relacionados con las listas de contactos:

Lista de contacto

Crear lista de contacto desde un archivo

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
POST https://obm-api.ofimatic.net/api/v1/contact-list/upload
Authorization: Bearer {{JWT_TOKEN}}
form file = string 
params = 
{
    "skip_row_with_error" = boolean
}
form info = 
{
   "name": string,
   "description": string,
   "has_header": boolean,
   "sheet": string,
   "encoding":string,
   "config":{
      "columns":[
         {
            "index": int,
            "source_name": string,
            "target_name": string,
            "display_name": string,
            "order": int,
            "type": string
         }
      ]
   }
}
Este endpoint lee archivos .csv o .xlsx en formato de columna de 0-n. En este caso se está creando una lista de contacto llamada datos de prueba con la primera columna del archivo filename.csv, dicha columna se llamará name.

A continuación se describe la estructura completa de la información de la lista de contacto:

Campo Descripción Obligatorio
params En este apartado se agrega el caso de que exista algún parámetro NO
params.skip_row_with_error En este apartado de que exista algún error en 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 en el archivo posee una fila de encabezados. SI
sheet Indica la hoja que se procesara en archivos .xlsx. NO
encoding Indica el encoding del archivo. Solo aplica a .csv. NO
config Especifica la configuración de las columnas que posee la lista de contacto. SI
config.columns.id Código de identificación de la columna en la lista de contacto. SI
config.columns.index Indica el índice de la columna en el archivo de 0 a n. En caso de que la lista de contactos tenga mas de una columna, este sera requerido. SI
config.columns.type Indica el tipo de datos de la columna. Véase Tipos de datos. SI
config.columns.order Indica el orden o prioridad de la columna. En caso de que la lista de contactos tenga mas de una columna, este sera requerido. SI
config.columns.source_name Especifica el nombre de la columna en caso de que el archivo posea encabezados. NO
config.columns.target_name Especifica el nombre asignado a la columna. SI
config.columns.display_name Especifica un nombre friendly para la columna. NO

Tipos de datos

A continuación se describe cada uno de los tipos de datos soportados:

Tipo de datos 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 e164.
email Correo electrónico.
date Especifica una fecha en formato YYYY-MM-DD.
time Especifica una hora o tiempo en formato HH:mm:ss.
datetime Especifica fecha y hora en formato YYYY-MM-DD HH:mm:ss.

Nota

Todos los tipos de datos son validados de acuerdo a estas especificaciones al momento de crear o actualizar la lista de contacto.

Pruebalo en Postman

Actualizar los datos de una lista de Contacto desde un Archivo

1
2
3
4
5
6
7
8
PUT https://obm-api.ofimatic.net/api/{UUID-cl}/upload
Authorization: Bearer {{JWT_TOKEN}}
file= "filename.csv"
params = 
{   
    "append": boolean,
    "skip_row_with_error": boolean
}
  • UUID-cl: Este es el id de la lista de contacto.

Pruebalo en Postman

Este endpoint actualiza los datos de una lista de contacto desde un archivo. En este caso la información de la lista de contacto corresponde al id enviado en la url.

1
GET https://obm-api.ofimatic.net/api/v1/contact-list

Este endpoint es para visualizar las listas de contactos existentes. El resultado es una paginación de lista 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 Especifica la página que se desea obtener.
items_per_page Especifica la cantidad máxima de elemento que debe tener la página.
desc Especifica el orden en que se deben paginar los datos. Por defecto es asc.
params Especifica si es necesario que se utilicen los parámetros mencionados anteriormente
params.append Este parámetro realiza un append a la lista de contactos. Para mas información sobre que es un append puede ver este enlace.
params.skip_row_with_error Este parámetro especifica si en la lista de contactos que se esta cargando existe algún error y por ende este lo revisa y lo omite.

Respuesta de ejemplo (success): 200 OK

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
    "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"
        }
    ]
}
  • UUID: es el id de la lista de contacto.

Pruebalo en Postman

Respuesta de ejemplo (success): 200 OK

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
    "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"
            }
        ]
    }
}
1
PUT https://obm-api.ofimatic.net/api/v1/contact-list/{UUID-cl}
  • UUID-cl: es el id de la lista de contacto.

Pruebalo en Postman

Este endpoint actualiza una determinada lista de contacto por su id. Solo se pueden actualizar los siguientes campos:

  • name
  • description

Nota

Retorna la lista de contacto en formato JSON.

1
DELETE https://obm-api.ofimatic.net/api/v1/contact-list/{UUID-cl}

Pruebalo en Postman

Elimina una determinada lista de contacto por su id.

Contacto

1
GET https://obm-api.ofimatic.net/api/v1/contact-list/{UUID-cl}/contact

Pruebalo en Postman

  • UUID-cl: es el id de la lista de contacto.

Este endpoint es para visualizar los datos de una determinada lista de contacto. El resultado es 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 especifica la página que se desea obtener.
items_per_page especifica la cantidad máxima de elemento que debe tener la página.
desc especifica el orden en que se deben paginar los datos. Por defecto es asc.

Respuesta de ejemplo (success): 200 OK

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
    "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"
        }
    ]
}
Pruebalo en Postman

1
GET https://obm-api.ofimatic.net/api/v1/contact-list/{UUID-cl}/contact/{UUID-contact}

Pruebalo en Postman

Este endpoint obtiene un determinado contacto por su id.

Campo Descripción
UUID-contact-list Este es el id de la lista de contacto.
UUID-contact Este es el id del contacto.

Respuesta de ejemplo (success): 200 OK

1
2
3
4
5
6
7
8
9
{
    "contact_id": "71088a9d-7aa3-4736-8e17-383a4a567b9b",
    "id": 1,
    "nombre": "juan perez",
    "telefono": "+18099999999",
    "email": "test@correo.com",
    "columna1": "1",
    "columna2": "2"
}

Pruebalo en Postman

1
POST https://obm-api.ofimatic.net/api/v1/contact-list/{UUID-cl}/contact
Pruebalo en Postman

Este endpoint agrega un nuevo contacto a una determinada lista de contacto.

Campo Descripción
UUID-cl Este es el id de la lista de contacto.

Recibe una trama en formato JSON con los datos del nuevo contacto. Por ejemplo:

1
2
3
4
5
6
7
POST https://obm-api.ofimatic.net/api/v1/contact-list/a9c48a82-2ad6-4273-b51d-8e3738a45b50/contact
Authorization: Bearer {{JWT_TOKEN}}
Content-Type: application/json
{
    "name": "juan perez",
    "tel": "+18099999999"
}
1
PATCH https://obm-api.ofimatic.net/api/v1/contact-list/{UUID-cl}/contact/{UUID-contact}

Pruebalo en Postman

Actualizar parcialmente un contacto de una determinada lista de contacto.

Campo Descripción
UUID-cl Este es el id de la lista de contacto.
UUID-contact Este es el id del contacto.

Por ejemplo:

1
2
3
4
5
6
7
PATCH https://obm-api.ofimatic.net/api/v1/contact-list/551b7dd0-d6d9-4ed5-8b69-ee60a260277e/contact/c64a64e3-521f-4120-8898-f9ef23cf5871
Authorization: Bearer {{JWT_TOKEN}}
Content-Type: application/json
{
    "name": "Juan Perez",
    "phone": "+18099999999"
}

1
DELETE https://obm-api.ofimatic.net/api/v1/contact-list/{UUID-cl}/contact/{UUID-contact}
Pruebalo en Postman

Elimina un contacto de una determinada lista de contacto.

Campo Descripción
UUID-cl Este es el id de la lista de contacto.
UUID-contact Este es el id del contacto.