Skip to main content
El endpoint de gestiones registra el resultado de un contacto (una gestión) con una cuenta: una llamada de voz, un SMS, un email. Es un endpoint REST sencillo, pensado para sistemas externos que contactan a las cuentas por su cuenta y reportan el desenlace a QCobro.
POST {baseUrl}/api/contact-logs
Content-Type: application/json
Authorization: Basic <credenciales del workspace>

Autenticación

El endpoint usa HTTP Basic, donde el usuario es la credencial del workspace (su accessKeyId) y la contraseña es su secreto. La cuenta referenciada por portfolioAccountId debe pertenecer a ese mismo workspace; si no, la petición se rechaza con 401.
curl -X POST "https://api.qcobro.com/api/contact-logs" \
  -u "ws_abc123:<secreto>" \
  -H "Content-Type: application/json" \
  -d '{
    "portfolioAccountId": "acc_123",
    "agentType": "VOICE_AI",
    "contactedAt": "2026-06-28T15:30:00Z",
    "outcome": "PAYMENT_PROMISE",
    "notes": "El titular se compromete a pagar el viernes."
  }'

Cuerpo de la petición

Solo cuatro campos son obligatorios; el resto es opcional y enriquece la gestión.
portfolioAccountId
string
required
Id de la cuenta contactada. Debe pertenecer al workspace de las credenciales.
agentType
string
required
Canal de la gestión. Uno de SMS, VOICE_PRERECORDED, VOICE_AI, EMAIL, WHATSAPP.
contactedAt
string
required
Momento del contacto, como cadena de fecha-hora ISO.
outcome
string
required
Resultado de la gestión. Uno de DELIVERED, NOT_DELIVERED, NO_ANSWER, PAYMENT_PROMISE, PARTIAL_PAYMENT_AGREED, NEW_TERMS, CALLBACK_REQUESTED, DISPUTE_RAISED, INFORMATION_REQUEST, RESOLVED, PAID, WRONG_NUMBER, OPT_OUT, REFUSED, OTHER.
campaignId
string
Campaña a la que pertenece la gestión, si proviene de una campaña.
agentTemplateId
string
Plantilla de agente usada en la gestión.
paymentPromiseId
string
Promesa de pago concreta sobre la que es un seguimiento esta gestión.
durationSeconds
number
Duración del contacto en segundos (para gestiones de voz).
notes
string
Notas libres sobre la gestión.
debtAmountSnapshot
number
Importe adeudado en el momento de la gestión.
aiSummary
string
Resumen de la conversación generado por IA.
aiSentiment
string
Sentimiento detectado. Uno de POSITIVE, NEUTRAL, NEGATIVE, HOSTILE.
aiDebtReason
string
Motivo de la deuda inferido por IA.
aiResult
string
Resultado de la conversación según la IA.
aiNextStep
string
Próximo paso sugerido por la IA.
providerRef
string
Referencia del proveedor para este intento (ref de la llamada o sid del mensaje). Cuando se envía, la gestión se asocia a ese intento en lugar de duplicarse.

Respuesta

En éxito, el endpoint responde 201 Created con la gestión registrada.
{
  "id": "log_123",
  "portfolioAccountId": "acc_123",
  "outcome": "PAYMENT_PROMISE",
  "contactedAt": "2026-06-28T15:30:00Z"
}

Errores

CódigoCuándo
400El cuerpo no pasa la validación, o portfolioAccountId no existe. La respuesta incluye el detalle por campo.
401Faltan las credenciales de workspace, son inválidas, o no están acotadas al workspace de la cuenta.
500No se pudo registrar la gestión.
Una respuesta de validación tiene la misma forma estructurada que el resto de la API:
{
  "code": "VALIDATION_ERROR",
  "message": "...",
  "fieldErrors": [{ "field": "outcome", "message": "...", "code": "invalid_enum_value" }]
}

Siguientes pasos

Autenticación y API keys

Credenciales de workspace y autenticación de la API.

Canales

Los canales por los que QCobro contacta a las cuentas.