API Call Blasting

Esta API permite crear campañas de llamadas automáticas de forma masiva.

Qué hace esta API

Permite crear campañas de llamadas automáticas (masivas) en dos modos:

  • STANDARD: audio pregrabado (referenciado por audioId)
  • CUSTOM: texto a voz (TTS) por contacto (content), usando una voz (voice = “Juan” o “Maria”)

Autenticación

Todas las solicitudes deben incluir:

  • x-auth: api key entregada por Saem.

A diferencia de SMS, aquí prefix es un campo de body para campañas (no se describe como header en los endpoints de envío de CallB en la guía).


Conceptos clave de payload

campos usados en esta API:

  • subService: "standard" o "custom"
  • prefix: código país origen (ej 57)
  • gmt: zona horaria local en formato +/-HH:MM (afecta ventana de ejecución)
  • nameCampaign: nombre de campaña
  • mailbox: true/false (dejar mensaje en buzón si no contesta)
  • configProgramming: lista de programaciones de ejecución
    • máximo 5 configuraciones (y si envías más de una, crea una campaña independiente por cada configuración)
    • incluye:
      • dateStart, dateEnd
      • reviews: (reintentos)
      • configReview: condiciones para reintentar (máx 5 “repasos”)
  • numbers:
    • STANDARD: lista de números (sin símbolos)
    • CUSTOM: arreglo de objetos { number, content } Condiciones para reintentos (configReview) Valores permitidos: buzon, colgo, congestion, fallo, maquina, mcolgo, msatisfactorio, nocontesta, satisfactorio.

Límite de carga

Para servicios en JSON:

  • Máximo 200.000 registros
  • Si excedes: error CALLB_022.

Para Parquet:

  • Máximo 500.000 registros
  • Si excedes: CALLB_022

Flujo STANDARD: cómo se arma una campaña

Paso A: Obtener/crear audioId El campo audioId se obtiene:

  • Desde el módulo “Recursos” en la plataforma web (cada audio tiene un ID), o
  • Generándolo por API (siguiente sección).

Paso B: Generar audio por API (opcional, pero recomendado si automatizas)

Paso C: Crear campaña STANDARD (JSON)

Body típico:

{
  subService: "standard"
  prefix, gmt, nameCampaign, audioId
  configProgramming: [...]
  numbers: [ ... ] (lista de teléfonos)
}

Flujo CUSTOM: campaña TTS (texto a voz)

Crear campaña CUSTOM (JSON)

URL: https://apicallb.saem.tel/send/massive Método: POST Headers: x-auth

Body típico:

{
  subService: "custom"
  voice: "Juan" | "Maria"
  numbers: [{ number, content }, ...]
  misma lógica de prefix, gmt, configProgramming.
}

Plantillas (CUSTOM) Etiquetas que el sistema interpreta por contacto: {I} identificador, {N} nombre, {S} saldo/valor, {T} teléfono, {E} correo, {C} cuenta.


Campañas con Parquet

URL: https://apicallb.saem.tel/send/massive/parquet Método: POST Headers: x-auth Body: form-data (archivo .parquet + campos)

Reglas del archivo

  • STANDARD: Parquet con columna number.
  • CUSTOM: Parquet con columnas number y content.

configProgramming en form-data debe enviarse como string JSON (no como objeto): [{"dateStart":"...","dateEnd":"...","reviews":2,...}]

Respuesta dee creación de campaña

Al crear una campaña se retorna un resumen que contiene:

  • sends: conteo por operador (incluye "null" para “números errados encontrados”)
  • summary:
    • total_records
    • total_credits
    • seconds_aprox (segundos aproximados totales)

Errores

CódigoHTTP StatusDescripción
AUTH.TOKEN_MISSING400No se envió el header x-auth.
API_KEY_NOT_FOUND400La API Key enviada no existe o es inválida.
USER_NOT_FOUND404No se encontró el usuario asociado a la API Key.
USER_INACTIVE401El usuario está inactivo y no puede ejecutar campañas.

CódigoHTTP StatusDescripción
CALLB_015404No se encontró el recurso multimedia (audioId inválido o inexistente).
CALLB_016404No existe configuración para el país o prefijo enviado.
CALLB_018400El horario configurado está fuera del rango permitido para el país.

CódigoHTTP StatusDescripción
CALLB_019400Archivo Parquet inválido o mal estructurado.
CALLB_021402Créditos insuficientes para ejecutar la campaña.
CALLB_022400Se excedió el número máximo de registros permitidos.

CódigoHTTP StatusDescripción
CALLB_AUD_001400resource_name inválido o con formato incorrecto.
CALLB_AUD_002409El recurso de audio ya existe (nombre duplicado).

PARQUET

Formato de archivo columnar recomendado para cargas masivas de números y parámetros de campaña.

PDU

Protocol Data Unit. Unidad de datos que representa los fragmentos en los que se divide un SMS para su envío.

UUID

Identificador único universal utilizado para msg_id y request_id en la API.

SUBSERVICE

Tipo de campaña: standard (audio pregrabado) o custom (texto a voz).

AUDIOID

Identificador del recurso multimedia asociado a un audio pregrabado en modo STANDARD.

VOICE

Voz utilizada en campañas CUSTOM para convertir el texto en audio. Se pueden usar voces como “Juan” o “Maria”.

MAILBOX

Indica si se deja mensaje en el buzón de voz cuando el destinatario no contesta.