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 }
]
}
| Campo | Tipo | Significado |
|---|---|---|
id | string | La 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. |
status | string | Lo que muestra la tarjeta - consulta los Valores de estado. |
connected | boolean | true 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). |
count | number | Cuá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
status | Significado |
|---|---|
connected | Conectada y funcionando. |
not_connected | Todavía no hay nada conectado. |
action_needed | Solo WhatsApp: se añadió una cuenta y está pendiente de aprobación. |
error | Conectada, 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_soon | La 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
| Estado | Cuándo |
|---|---|
401 | Falta la clave de API o no es válida. |
403 | La clave no tiene integrations:read. |
400 | Una sesión del panel sin un workspace seleccionado. |
429 | Demasiadas solicitudes - consulta Límites de velocidad. |
Ejemplo
curl https://api-eu1.joryio.com/api/integrations-hub/status \
-H "Authorization: Bearer jry_live_xxxxxxxxxxxxxxxxxxxx"