waiaconnect

Documentación / Completo

Casos del alta de tus clientes y «Atendido»

GET /v1/onboarding-cases

Markdown

¿Programás con IA? Conectala a tu cuenta por MCP: revisa tu configuración, crea webhooks y plantillas con tu confirmación y te escribe el código. Ver cómo →

Cuando un cliente de uno de tus enlaces se traba y escribe en la pantalla del alta, nace un caso (A-<n>, el mismo data.caseId de onboarding.help_requested). Trae lo que escribió tal cual, el código de Meta, el diagnóstico (del catálogo o con IA, con su confianza) y si subió una captura.

Listarlos. GET /v1/onboarding-cases?status=open (por defecto), acked o all; el más reciente primero.

Marcarlo atendido. POST /v1/onboarding-cases/{id}/ack, cuando ya lo resolviste. Es idempotente. Una entrega 2xx del webhook no cuenta como atendido.

En el panel. Altas de tus clientes (aparece en el menú cuando creaste enlaces): una fila por enlace con su estado (esperando, falló, conectado, vencido), los intentos, el último motivo, el diagnóstico, el texto y la captura, el botón «Atendido» y, si venció, «Generar un enlace nuevo». Filtros: Necesitan atención (por defecto), Todas, Conectadas.

# 1) the open cases (default status=open; also acked | all)
curl "https://api.waiaconnect.com/v1/onboarding-cases?status=open" -H "Authorization: Bearer wc_live_YOUR_API_KEY"
# → { "cases": [ { "id": "A-41", "status": "open", "externalId": "pharmacy-42",
#       "clientText": "…", "metaErrorCode": 3441060, "diagnosis": { "title": "…", "responsible": "client", … } } ] }

# 2) once you sorted it out: mark it handled (idempotent)
curl -X POST https://api.waiaconnect.com/v1/onboarding-cases/A-41/ack -H "Authorization: Bearer wc_live_YOUR_API_KEY"
const H = { "Authorization": "Bearer wc_live_YOUR_API_KEY" };
const { cases } = await (await fetch("https://api.waiaconnect.com/v1/onboarding-cases?status=open", { headers: H })).json();
for (const c of cases) {
  console.log(c.id, c.externalId, c.diagnosis?.title, c.clientText);
  // … after you helped your customer:
  await fetch(`https://api.waiaconnect.com/v1/onboarding-cases/${c.id}/ack`, { method: "POST", headers: H });
}
<?php
$h = ["Authorization: Bearer wc_live_YOUR_API_KEY"];
$ch = curl_init("https://api.waiaconnect.com/v1/onboarding-cases?status=open");
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $h]);
$cases = json_decode(curl_exec($ch), true)["cases"];
foreach ($cases as $c) {
  $ack = curl_init("https://api.waiaconnect.com/v1/onboarding-cases/" . $c["id"] . "/ack");
  curl_setopt_array($ack, [CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_HTTPHEADER => $h]);
  curl_exec($ack);
}
import requests
H = {"Authorization": "Bearer wc_live_YOUR_API_KEY"}
cases = requests.get("https://api.waiaconnect.com/v1/onboarding-cases", headers=H, params={"status": "open"}).json()["cases"]
for c in cases:
    print(c["id"], c["externalId"], (c["diagnosis"] or {}).get("title"), c["clientText"])
    requests.post(f"https://api.waiaconnect.com/v1/onboarding-cases/{c['id']}/ack", headers=H)  # after you helped them

Un caso de otra cuenta da el mismo 404 ONBOARDING_CASE_NOT_FOUND que uno que no existe.

Un status que no sea open, acked o all da 400 ONBOARDING_CASE_STATUS_INVALID.

?lang=es|en|pt|it elige el idioma del diagnóstico del catálogo (por defecto, el del enlace).