Logo Site EngageLab Mark Colored Transparent
Documentación

Consultar conversaciones por identificador de contacto

Los sistemas externos pueden consultar los ID de las conversaciones normales asociadas a un contacto, sus fechas de creación y sus estados actuales mediante el identificador de negocio, la dirección de correo electrónico o el número de teléfono completo del contacto. Los ID de conversación devueltos se pueden utilizar directamente con las API V2 existentes para obtener detalles de conversaciones, mensajes y otros datos.

Método de solicitud

GET

URL de la solicitud

https://livedesk-api.engagelab.com/api/v2/accounts/conversations/lookup

Autenticación

Esta API utiliza autenticación HTTP Basic. Incluya Authorization en la cabecera de la solicitud, con la clave de API como nombre de usuario y el secreto de API como contraseña. El proyecto asociado a las credenciales define el ámbito de la consulta, por lo que no es necesario incluir el ID del proyecto en la ruta. Para obtener más información, consulte Descripción general de la API.

Si se incluye account_id en la solicitud, su valor debe coincidir con el proyecto asociado a las credenciales; de lo contrario, se devuelve 401.

Solicitud

Ejemplo de solicitud

curl -X GET 'https://livedesk-api.engagelab.com/api/v2/accounts/conversations/lookup?type=identifier&value=Customer_123&page=1&page_size=20' \ -H 'Content-Type: application/json' \ -H 'Authorization: Basic base64(api_key:api_secret)'
              
              curl -X GET 'https://livedesk-api.engagelab.com/api/v2/accounts/conversations/lookup?type=identifier&value=Customer_123&page=1&page_size=20' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic base64(api_key:api_secret)'

            
Este bloque de código se muestra en una ventana flotante

Al consultar por número de teléfono, + debe codificarse para URL:

GET /api/v2/accounts/conversations/lookup?type=phone&value=%2B15551234567
              
              GET /api/v2/accounts/conversations/lookup?type=phone&value=%2B15551234567

            
Este bloque de código se muestra en una ventana flotante

Parámetros de la cabecera de la solicitud

Campo Tipo Obligatorio Descripción
Authorization string Sí Autentíquese mediante Authorization: Basic base64(API Key:API Secret). Una la clave de API y el secreto de API con dos puntos y codifique el resultado en Base64.

Parámetros de consulta

Campo Tipo Obligatorio Descripción
type string Sí Tipo de atributo de consulta. Solo se permiten identifier, email y phone.
value string Sí Una cadena no vacía que se compara de forma exacta con el atributo del contacto correspondiente a type.
page integer No Un entero positivo. El valor predeterminado es 1.
page_size integer No Un entero positivo. El valor predeterminado es 20; los valores superiores a 50 se tratan como 50.
account_id integer No ID del proyecto. Normalmente no es necesario proporcionarlo. Si se proporciona, debe coincidir con el proyecto asociado a las credenciales; de lo contrario, se devuelve 401.

Reglas de coincidencia

  • identifier: Distingue entre mayúsculas y minúsculas. Se conserva el valor original y no se admiten coincidencias por subcadenas ni comodines.
  • email: Se eliminan los espacios en blanco iniciales y finales y se valida el formato del correo electrónico antes de realizar una coincidencia exacta que no distingue entre mayúsculas y minúsculas.
  • phone: Primero se eliminan los espacios en blanco iniciales y finales. El número debe estar completo, incluir + y el código de país, y coincidir con el formato de phone_number del contacto. La API no añade un código de país predeterminado ni admite coincidencias por los últimos dígitos de un número.
  • Los parámetros GET deben codificarse correctamente para URL. En particular, + en los números de teléfono debe codificarse como %2B.

Ámbito de consulta y ordenación

Los contactos y las conversaciones se consultan únicamente dentro del proyecto asociado a las credenciales. La API devuelve todas las conversaciones normales asociadas al contacto en todas las bandejas de entrada del proyecto (conversation_category=chat), excluidas las conversaciones de tickets y sin filtrar por el agente actual, el responsable asignado ni la bandeja de entrada.

Se devuelven las conversaciones normales en todos los estados: open, resolved, pending, snoozed y closed. Esta API no permite filtrar por estado; aunque se proporcione status, los resultados no se restringen.

Los resultados se ordenan por fecha de creación de la conversación en orden descendente. Cuando las fechas de creación son iguales, se ordenan por la clave primaria interna de la conversación en orden descendente. El orden de paginación permanece estable mientras los datos no cambien. La paginación por páginas no garantiza una instantánea coherente mientras se crean o eliminan conversaciones simultáneamente.

Respuesta

Respuesta correcta

HTTP 200:

{ "meta": { "count": 2, "current_page": 1, "page_size": 20, "total_pages": 1 }, "payload": [ { "id": 202609000000002, "created_at": 1788739200, "status": "closed", "inbox_id": 12, "contact_id": 901 }, { "id": 202609000000001, "created_at": 1788652800, "status": "open", "inbox_id": 10, "contact_id": 901 } ] }
              
              {
  "meta": {
    "count": 2,
    "current_page": 1,
    "page_size": 20,
    "total_pages": 1
  },
  "payload": [
    {
      "id": 202609000000002,
      "created_at": 1788739200,
      "status": "closed",
      "inbox_id": 12,
      "contact_id": 901
    },
    {
      "id": 202609000000001,
      "created_at": 1788652800,
      "status": "open",
      "inbox_id": 10,
      "contact_id": 901
    }
  ]
}

            
Este bloque de código se muestra en una ventana flotante

Parámetros de respuesta

Campo Tipo Descripción
meta object Metadatos de paginación.
count integer Número total de conversaciones normales coincidentes, incluidos todos los estados y sin verse afectado por la paginación.
current_page integer Número de la página actual.
page_size integer Número real de elementos por página; 50 cuando el valor solicitado es superior a 50.
total_pages integer Número total de páginas; 0 cuando no hay resultados.
payload array Lista de conversaciones de la página actual.
id integer ID externo de la conversación, es decir, conversations.display_id; se puede utilizar directamente con las API V2 existentes para obtener detalles de conversaciones, mensajes y otros datos.
created_at integer Fecha de creación de la conversación como marca de tiempo Unix en segundos.
status string Estado actual de la conversación, que puede ser open, resolved, pending, snoozed o closed.
inbox_id integer ID de la bandeja de entrada asociada.
contact_id integer ID del contacto coincidente.

Si el contacto no existe, no tiene conversaciones normales o la página solicitada supera el número total de páginas, se devuelve HTTP 200. En los tres casos, payload es un array vacío; meta.count conserva siempre el número total real de resultados.

La respuesta contiene únicamente los campos indicados anteriormente y no devuelve mensajes, archivos adjuntos ni información personal del contacto.

Respuesta de error

Las respuestas de error utilizan la siguiente estructura. Las descripciones de error no reproducen el valor de consulta:

{ "error": "Error description" }
              
              {
  "error": "Error description"
}

            
Este bloque de código se muestra en una ventana flotante
Código de estado HTTP Escenario
401 Las credenciales no son válidas, están deshabilitadas o han caducado, o el account_id de la solicitud no coincide con el proyecto asociado a las credenciales.
409 Los datos históricos han provocado que varios contactos coincidan dentro del mismo proyecto. La API no selecciona uno de ellos de forma arbitraria; utilice el identifier único para la consulta.
422 Falta type o no se admite; falta value, está en blanco, no es una cadena o tiene un formato incorrecto; o un parámetro de paginación no es un entero positivo.

Notas de uso

  • Esta API solo añade la función de consulta y no modifica los datos de contactos ni de conversaciones.
  • La API no permite buscar contactos mediante coincidencias aproximadas. Asegúrese de que el identifier, la dirección de correo electrónico o el número de teléfono almacenados por el sistema externo coincidan con el atributo correspondiente del contacto en LiveDesk.
  • Para procesar las conversaciones de los resultados de consulta, utilice payload[].id de la respuesta como ID externo de la conversación al llamar a las API V2 correspondientes.
Icon Solid Transparent White Qiyu
Contactar con ventas