CredonixDocs
Referencia de la APIGrupos de mensajes

Crear

Crea un grupo de mensajes de cobranza con sus clientes y mensajes.

Descripción general

Este endpoint crea un grupo de mensajes de cobranza. El único campo obligatorio es name; en la misma solicitud puedes definir a qué clientes aplica y sus mensajes. Una solicitud exitosa devuelve 201 con el grupo creado.

Un grupo nuevo siempre se crea inactivo (active: false), aunque incluya mensajes. Para activarlo usa Activar grupo de mensajes. created_by queda con el nombre de la API key.

Si envías include_all_customers, customer_ids, excluded_customer_ids o messages, el grupo se valida con las mismas reglas que en la aplicación antes de guardarse. Si solo envías name, el nombre se guarda tal cual.

Requiere el permiso Crear en Grupos de mensajes.

Endpoint

POSThttps://app.credonix.mx/api/v1/message-groups

Crea un grupo con un mensaje


Un correo que se envía 3 días antes de la fecha de vencimiento. type se omite y toma el valor plain.

{
  "name": "Recordatorios estándar",
  "messages": [
    {
      "timing": "before_due_date",
      "channel": "email",
      "days_before": 3,
      "email_subject": "Recordatorio de pago",
      "message": "Tu orden de cobro vence pronto."
    }
  ]
}

Mensaje que no cumple las reglas


Si un mensaje no cumple las reglas, la API responde 400 con el código INVALID_MESSAGE_GROUP y no crea el grupo. message trae el primer error y errors los trae todos; field indica el mensaje con su posición, empezando en messages[0].

Reglas de los campos

CampoTipoRequeridoNotas
namestringMínimo 1 carácter. Cuando se valida el contenido del grupo, se recortan los espacios y admite máximo 50 caracteres.
include_all_customersbooleanNoPor defecto false.
customer_idsstring[]NoPor defecto []. Clientes de tu organización. Si un id también viene en excluded_customer_ids, se quita de esta lista.
excluded_customer_idsstring[]NoPor defecto []. Clientes de tu organización.
messagesarrayNoPor defecto []. Ver abajo.

Mensajes

CampoTipoRequeridoNotas
timingstringbefore_due_date, before_issue_date, after_issued, after_overdue, after_paid, after_canceled, after_payment_received, after_emitted_sat o recurring.
channelstringwhatsapp, sms o email.
typestringNoSolo acepta plain. Por defecto plain.
days_beforeinteger | nullDepende1, 3, 7, 15 o 30. Obligatorio para before_due_date y before_issue_date; no se permite con los demás disparadores.
recurring_every_daysinteger | nullDepende15, 30 o 60. Obligatorio para recurring; no se permite con los demás disparadores.
email_subjectstring | nullDependeObligatorio en email, máximo 60 caracteres. En sms y whatsapp se guarda en null.
messagestring | nullDependeContenido en HTML. Obligatorio en sms y email: máximo 250 caracteres de texto en SMS y 1000 en correo. En whatsapp se guarda en null, porque WhatsApp usa plantillas.

Al guardar, se quitan los párrafos vacíos al inicio y al final del contenido, y se dejan máximo 2 párrafos vacíos seguidos.

Mensajes repetidos

  • Solo se permite un mensaje recurring por canal.
  • Con before_due_date y before_issue_date, solo se permite un mensaje por disparador, canal y days_before.
  • Con los demás disparadores, solo se permite un mensaje por disparador y canal.

Variables

Puedes usar variables con el formato {{variable}} en email_subject y message. La API rechaza las variables que no existen o que no están disponibles para el canal o el disparador del mensaje.

VariableCanalesDisparadores
nombre_cliente, nombre_contacto, email_cliente, telefono_cliente, concepto_cobro, fecha_emision, fecha_vencimiento, monto_total, monto_pendiente, moneda, dias_antes_emision, dias_antes_vencimiento, dias_vencido, dias_para_vencer, nombre_emisoraTodosTodos
numero_cobroTodosTodos, excepto before_issue_date
pago_total, pago_fecha, pago_metodoTodosafter_paid y after_payment_received
pdf_factura_cfdi, xml_factura_cfdi, estado_cuentaemailTodos
complemento_pago_pdf, complemento_pago_xmlemailafter_paid y after_payment_received
recibo_liquidacionemailafter_paid
recibo_pagoemailafter_payment_received

Errores

StatusCódigoCausa
400VALIDATION_ERRORFalta name, un campo tiene un valor o tipo incorrecto, o el cuerpo incluye campos desconocidos.
400INVALID_MESSAGE_GROUPEl nombre o un mensaje no cumple las reglas: nombre vacío o de más de 50 caracteres, mensaje repetido, contenido o asunto faltante o demasiado largo, variable no disponible, o days_before / recurring_every_days faltante o no permitido.
400CUSTOMER_NOT_FOUNDUn id de customer_ids o excluded_customer_ids no corresponde a un cliente de tu organización.
401MISSING_API_KEY, INVALID_API_KEY, API_KEY_REVOKEDAPI key ausente, inválida o revocada.
403INSUFFICIENT_PERMISSIONSLa API key no tiene el permiso Crear en Grupos de mensajes.
500INTERNAL_ERRORSolo se envió name y tiene más de 50 caracteres.
Abrir Credonix