Saltar al contenido principal

Integrations API

La página Integraciones del panel muestra un estado en cada tarjeta (WhatsApp, Delivyr, las plataformas de anuncios, las tiendas, los almacenes de datos y las herramientas de analítica). Este endpoint devuelve ese mismo estado, para que un script o una tarea de monitorización compruebe que un workspace sigue conectado sin abrir el panel.

Conectar y desconectar se sigue haciendo en el panel. Esta API es solo de lectura.

Todos los endpoints de esta página son relativos a la URL base: https://api-eu1.joryio.com/api - consulta la Descripción general de la API.

Autenticación​

Usa una clave de API como token bearer (o una sesión del panel). La clave necesita el permiso integrations:read. Una clave pertenece a un workspace, y la respuesta se refiere a ese workspace.

Authorization: Bearer jry_live_xxxxxxxxxxxxxxxxxxxx

Obtener el estado de todas las integraciones​

GET /integrations-hub/status

Sin parámetros. La respuesta enumera cada integración de la página Integraciones, en el orden de la página:

{
"integrations": [
{ "id": "whatsapp", "status": "connected", "connected": true },
{ "id": "delivyr", "status": "not_connected", "connected": false, "count": 0 },
{ "id": "meta_ads", "status": "error", "connected": true, "count": 2 },
{ "id": "shopify", "status": "connected", "connected": true, "count": 1 },
{ "id": "snowflake", "status": "connected", "connected": true, "count": 1 },
{ "id": "segment", "status": "coming_soon", "connected": false }
]
}
CampoTipoSignificado
idstringLa integración: whatsapp, delivyr, meta_ads, google_ads, tiktok_ads, linkedin_ads, criteo_ads, shopify, woocommerce, magento, prestashop, snowflake, bigquery, s3, redshift, amplitude, mixpanel, segment. Con el tiempo se añaden integraciones nuevas - ignora un id que no conozcas.
statusstringLo que muestra la tarjeta - consulta los Valores de estado.
connectedbooleantrue cuando al menos una conexión de la integración está activa. Una tienda cuya última sincronización falló sigue conectada (status es error y connected es true).
countnumberCuántas cuentas conectadas, flujos de datos o tiendas hay detrás de la integración. No aparece para WhatsApp ni para una integración que todavía no está disponible.

Valores de estado​

statusSignificado
connectedConectada y funcionando.
not_connectedTodavía no hay nada conectado.
action_neededSolo WhatsApp: se añadió una cuenta y está pendiente de aprobación.
errorConectada, pero algo requiere atención: una cuenta de una plataforma de anuncios informa de un error, o falló la última sincronización de una tienda. Abre la integración en el panel para ver qué falló.
coming_soonLa integración todavía no está disponible.

Cuando una integración tiene más de una parte (por ejemplo Snowflake: importar datos y transmitir eventos), un error en cualquier parte tiene prioridad, luego connected y luego action_needed.

Qué cuenta como conectado​

  • WhatsApp: una cuenta de WhatsApp Business activa del workspace o de toda la organización, o un proveedor de WhatsApp activo configurado por Joryio.
  • Tiendas (Shopify, WooCommerce, Magento, PrestaShop): una conexión de tienda que no se ha desconectado.
  • Delivyr: una cuenta de Delivyr conectada al workspace.
  • Plataformas de anuncios e importaciones desde almacenes de datos: una cuenta conectada. Cada cuenta cuenta una vez.
  • Flujos de datos (S3, BigQuery, Snowflake, Redshift, Amplitude, Mixpanel): un flujo de datos hacia ese destino.

Son las mismas reglas que Joryio usa en todos los lugares donde informa de canales y tiendas conectados.

La respuesta nunca contiene credenciales, nombres de cuentas, números de teléfono, direcciones de remitente ni mensajes de error - solo un estado, un sí o no y un número por integración.

Errores​

EstadoCuándo
401Falta la clave de API o no es válida.
403La clave no tiene integrations:read.
400Una sesión del panel sin un workspace seleccionado.
429Demasiadas solicitudes - consulta Límites de velocidad.

Ejemplo​

curl https://api-eu1.joryio.com/api/integrations-hub/status \
-H "Authorization: Bearer jry_live_xxxxxxxxxxxxxxxxxxxx"