Saltar al contenido principal
GET
Leer schedule pending de una conversación

Autorizaciones

Authorization
string
header
requerido

API token emitido desde Settings → API Token del dashboard 1TO1 AI. Enviar en header Authorization: Bearer sk_1to1_...

Parámetros de ruta

slug
string
requerido

Slug del business, case-insensitive. Debe coincidir con el business del token.

Ejemplo:

"acme"

Parámetros de consulta

uuid
string<uuid>

Fallback — los CRMs externos normalmente no lo conocen.

whatsapp_user_id
string

BSUID de WhatsApp (estándar post-junio 2026).

username
string

Username público de WhatsApp. Se normaliza (quita @, minúsculas).

Ejemplo:

"ana.perez"

phone
string

Teléfono E.164. Se normaliza a dígitos.

Ejemplo:

"+52 55 1234 5678"

Respuesta

Schedule pending o null si no hay.

data
any

Shape público del schedule. Top-level: uuid, executor_kind, schedule_at, status, author_snapshot, template_snapshot, fired_at, cancelled_at, cancel_reason, failure_reason, created_at, updated_at. Rama AI: reason. Rama humana: message_kind, message_snapshot (envelope { kind, data }). PKs internos (id, business_id, thread_id, conversation_id, *_id numéricos) y schedule_id se filtran del wire. null si no hay schedule pending en la conversación.

Importante — message_kind vs message_snapshot.kind: message_kind refleja el outcome del firing (qué se envió efectivamente al destinatario). Post-firing exitoso del fallback template fuera de ventana 24h, la columna se sobrescribe a 'template' aunque el operador haya programado originalmente 'quick_reply' o 'message'. La intención original queda preservada en message_snapshot.kind (JSONB inmutable). Para discriminar el shape de message_snapshot.data (parsing tipado) usar SIEMPRE message_snapshot.kind, nunca message_kind — los dos pueden divergir post-firing. Ver el ejemplo humanQuickReplyDeliveredAsFallback que muestra la divergencia.