Exportar Chats

Aquí encontrarás cómo exportar la informacion de tus chats por un contacto específico utilizando filtros y formatos de busquedas que faciliten y optimicen la implementacion.

Este servicio es muy útil si deseas tener la información de los chats en tu CRM, ERP o sistemas propios que te permitan analizar estos datos y tomar decisiones en base a ellos, esta información te permitirá, tener mensajes para poder analizarlos, realizar informes de atención o tiempos de respuesta, entender la necesidad del contacto, conocer la etapa en la que se encuentra el contacto, entre otras

A continuación conocerás mas a detalle la implementación del servicio.

Endpoint de exportación de chats

https://api.b2chat.io/chats/export

Exportar chats

GET https://api.b2chat.io/chats/export

Este servicio te permitirá extraer la información de los chats .

Headers

Request Body

{
    "chats": [
        {
            "agent": {
                "email": "moises@b2chat.io",
                "name": "support_b2chat_21",
                "username": "support_b2chat_21"
            },
            "alias": "Whatsapp2",
            "chat_id": "0384fd61-98a3-4e0e-a475-bffbeb5c575f",
            "closed_at": "2024-01-10 16:33:45",
            "contact": {
                "custom_attributes": null,
                "email": "Moises@mail.com",
                "id": 8887980,
                "identification": "123456789",
                "mobile_number": "+574123021322",
                "name": "Moises C",
                "phone_number": "123456789",
                "tags": null
            },
            "created_at": "2024-01-02 11:17:37",
            "department": "Rastreo",
            "duration": "08:05:16:07",
            "is_agent_available": true,
            "messages": [
                {
                    "body": "demo",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-02 11:17:19",
                    "incoming": true,
                    "location": null,
                    "type": "TEXT"
                },
                {
                    "body": "1",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-02 11:17:31",
                    "incoming": true,
                    "location": null,
                    "type": "TEXT"
                },
                {
                    "body": "El link para completar tu pedido es el siguiente: XXXXXXXXX",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-02 12:17:48",
                    "incoming": false,
                    "location": null,
                    "type": "TEXT"
                },
                {
                    "body": "Hola",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-10 15:38:52",
                    "incoming": false,
                    "location": null,
                    "type": "TEXT"
                },
                {
                    "body": "Mensaje",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-10 16:29:39",
                    "incoming": false,
                    "location": null,
                    "type": "TEXT"
                },
                {
                    "body": "a\n",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-10 16:31:08",
                    "incoming": false,
                    "location": null,
                    "type": "TEXT"
                },
                {
                    "body": "e",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-10 16:32:51",
                    "incoming": false,
                    "location": null,
                    "type": "TEXT"
                }
            ],
            "opened_at": "2024-01-02 11:17:37",
            "picked_up_at": "2024-01-02 11:17:48",
            "provider": "WHATSAPPOFF",
            "responded_at": "2024-01-02 12:17:48",
            "status": "CLOSED",
            "tags": [
                "calidad",
                "entregado",
                "prospecto"
            ],
            "viewer_url": "https://app.b2chat.io/viewer/0384fd61-98a3-4e0e-a475-bffbeb5c575f/051b4c01-d8fa-4df6-ae90-b6c555c719a4"
        },
        {
            "agent": {
                "email": "moises@b2chat.io",
                "name": "support_b2chat_21",
                "username": "support_b2chat_21"
            },
            "alias": "Whatsapp off 2",
            "chat_id": "d3d4e148-f7b1-4b53-81d2-d59bbe2809c1",
            "closed_at": "2024-01-02 11:17:14",
            "contact": {
                "custom_attributes": null,
                "email": "Moises@mail.com",
                "id": 8887980,
                "identification": "123456789",
                "mobile_number": "+574123021322",
                "name": "Moises C",
                "phone_number": "123456789",
                "tags": null
            },
            "created_at": "2024-01-02 09:51:44",
            "department": "Rastreo",
            "duration": "00:01:25:29",
            "is_agent_available": true,
            "messages": [
                {
                    "body": "Hola",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-02 09:51:33",
                    "incoming": true,
                    "location": null,
                    "type": "TEXT"
                },
                {
                    "body": "1",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-02 09:51:38",
                    "incoming": true,
                    "location": null,
                    "type": "TEXT"
                },
                {
                    "body": "HOLA SEGUIMOS ATENTOS 🤠\n",
                    "broadcasted": false,
                    "caption": null,
                    "created_at": "2024-01-02 10:58:45",
                    "incoming": false,
                    "location": null,
                    "type": "TEXT"
                }
            ],
            "opened_at": "2024-01-02 09:51:44",
            "picked_up_at": "2024-01-02 10:57:35",
            "provider": "WHATSAPPOFF",
            "responded_at": null,
            "status": "CLOSED",
            "tags": [],
            "viewer_url": "https://app.b2chat.io/viewer/d3d4e148-f7b1-4b53-81d2-d59bbe2809c1/051b4c01-d8fa-4df6-ae90-b6c555c719a4"
        }
    ],
    "exported": 2,
    "message": "2 chats were exported",
    "total": 2
}

Ejemplo de llamado JSON

curl --location --request GET 'https://api.b2chat.io/chats/export' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{,
	"contact_lookup": "John Wick",
	"messaging_type": "whatsapp",
	"date_range": {"from": "2020-01-01", "to": "2020-01-02"},
	"agent_lookup": "Agent Carter",
	"chat_id": "2342342342-234234234-234234234",
	"email_recipient": "recipient@mail.net",
	"is_agent_available": true,
	"limit": 1000
}'

Paginación para exportar mas de 1000 chats:

Dado que cada solicitud al API tiene un límite de 1000 registros por respuesta, existe un mecanismo de paginación para acceder a un mayor número de registros. Esto se logra mediante dos parámetros: offset y total, incluidos en el request y respuesta del servicio.

Por ejemplo: Si desea exportar 5000 chats desde B2Chat a través del API, comience realizando una solicitud inicial con order_dir establecido en DESC y limit en 1000. Esta acción le proporcionará los primeros 1000 chats.

En la respuesta, encontrará un campo llamado Total, que indica el número total de registros disponibles, que en este caso serían 5000. Divida este total por el límite máximo de registros por página para determinar el número total de solicitudes necesarias para recuperar todos los datos.

Sabiendo ya que necesita realizar 5 consultas, para las siguientes solicitudes, ajuste el parámetro offset al número del registro que inicia la siguiente página, en este caso, 1001. De esta manera, podrá recuperar todos los registros en 5 llamadas, cada una solicitando 1000 registros.

  • Ejemplo 1: Trae hasta 999 chats. Como no se especifica rango de fecha se entregan los registros ordenados por fecha de creación en orden DESC (Trae los últimos 999 contactos creados)

curl --location --request GET 'https://api.b2chat.io/chats/export' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{
  "filters": {
    "limit": 999,
    
	}
}'
  • Ejemplo 2: Trae 500 chats en orden ASC (Trae los primeros 500 contactos creados).

curl --location --request GET 'https://api.b2chat.io/chats/export' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{
	"filters": {
		"limit": 500,
	  	"order_dir": "asc"
  }
}'
  • Ejemplo 3: Trae 120 Contactos partiendo del registro 100.

curl --location --request GET 'https://api.b2chat.io/chats/export' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{
	"filters":{
		"limit": 120,
	  	"offset": 100
	}
}'

Otros ejemplos generales

Ejemplo 1: Exportar un chat por chat ID por query params

curl --location --request GET 'https://api.b2chat.io/chats/export?chat_id=54dc23df-5a79-466b-882c-161af6d0cdd2' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \

Ejemplo 2: Exportar un grupo de chats por rango de fecha y ordenado utilizando query params

curl --location --request GET 'https://api.b2chat.io/chats/export?date_range_from=2024-01-01&date_range_to=2024-01-22&order=desc' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \

Ejemplo 3: Exportar chats por correo especifico del contacto en formato JSON

curl --location --request GET 'https://api.b2chat.io/chats/export' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{,
	"contact_lookup": "user@mail.com"
}'

Otro ejemplo de respuesta exitosa

	
#200
{
  "message": "You should receive an email at user@mail.net anytime soon with the results download link"
}

Last updated