Skip to main content
Esta página es para el equipo de cada motor que trabaja detrás del Courier: tu core actual y el stack de Lerian. Primero, un operador registra el motor en el Courier, a través de la API de motores. El registro guarda los ISPBs participantes del motor y, para Pix, la dirección en la que el motor recibe las llamadas Pix.

SPB: apunta el motor al Courier


En el riel SPB, el Courier sirve la misma interfaz SOAP que JD. Un motor que ya habla con JD cambia la dirección y la credencial del canal. Mantiene sus mensajes y sus llamadas. El rol spb-sender sirve la interfaz en la ruta /soap, en su propio puerto (predeterminado 8081). Acepta las cuatro operaciones de JD: Cada motor se autentica en la dirección SOAP del Courier con su propia credencial de canal, no con tu credencial JD. Un operador emite la credencial a través de la API del Courier. La respuesta muestra la contraseña una vez. Guárdala en ese momento. Cuando emites una nueva credencial para el mismo motor, la anterior sigue funcionando durante una ventana de superposición (24 horas de forma predeterminada) y después deja de funcionar. Un operador puede revocar una credencial en cualquier momento. El Courier reenvía cada envío a JD con tu credencial JD. Una autenticación rechazada recibe 401 sin cuerpo.

Antes de que el motor cambie su dirección

  1. Vacía el pendiente de conciliación del motor con JD. El Courier responde una consulta solo para los envíos y los mensajes que pasaron por él. Una consulta sobre un envío anterior recibe 503.
  2. Pide al operador que emita la credencial del canal del motor.
  3. Cambia la dirección y la credencial JD del motor por los valores del Courier.

Qué recibe el motor

Un mensaje reentregado mantiene su número de secuencia original (NumCabSeq). El motor debe aceptar un número de secuencia repetido como una repetición, no como un mensaje nuevo. El Courier da estas respuestas a EnviaMensagem: Después de un envío indeterminado, consulta el número de control con ConsultaNumCtrlIF. Una respuesta final de JD resuelve el envío en el registro. No envíes el mensaje de nuevo con el mismo número de control: el Courier lo rechaza. Cuando cada envío anterior del número de control tiene el resultado NOT_SENT, el Courier responde la consulta con el código JD ALN01, y no reenvía la consulta.

Pix: recibe las llamadas de JD


En el riel Pix, el Courier entrega cada llamada entrante a la dirección Pix del motor dueño. El motor sirve las mismas rutas que JD llama, para la validación de cuenta, el cash-in, la devolución y las llamadas de Pix Automático.

Cómo llama el Courier al motor

  • El Courier agrega la ruta de la llamada de JD a la dirección Pix del motor. Usa el mismo método.
  • El cuerpo es el cuerpo que JD envió, byte a byte.
  • El Courier reenvía estos encabezados cuando JD los envía: Chave-Idempotencia, X-DataHoraEvento, X-NomeEvento y Content-Type.
  • El Courier espera la respuesta hasta 60 segundos. Lee hasta 1 MiB de la respuesta.
  • El Courier no sigue redirecciones.
Para entregar los mensajes Pix, el Courier llama a la dirección Pix que registras para cada motor. Registra una credencial para cada motor: entonces, el Courier envía un token de Access Manager con cada llamada. Sin una credencial, el Courier llama al motor sin autenticación. En producción, usa una dirección https. Registrar una dirección Pix requiere el permiso pix-delivery:write. El client ID y el secret del motor están en AWS Secrets Manager. Consulta Despliegue.

Cómo lee el Courier la respuesta

El Courier reenvía a JD la respuesta del motor. Para un mensaje, el estado decide qué pasa después: Un estado de la última fila es final. Para que JD envíe el mensaje de nuevo, responde con un estado de la primera fila. El motor puede recibir el mismo mensaje más de una vez. Por ejemplo, el Courier llama al motor de nuevo después de un timeout. Usa los identificadores que JD envía, como Chave-Idempotencia, para reconocer una repetición.

Llamadas que el motor hace al Courier


El rol admin sirve tres operaciones para los motores. Cada motor llama a la API de titularidad con su propia aplicación de Access Manager. La aplicación necesita el permiso ownership:read, y ownership:write para reclamar sus propias recurrencias de Pix Automático y declarar sus etapas de pago. El Courier responde 401 a cualquier otro llamador.

Consulta de titularidad

Antes de que el motor liquide un pago dentro de tu institución, debe saber qué motor es dueño del destino. Llama a la consulta de titularidad con la clave como la guardas. La respuesta dice si la clave tiene un dueño, y si ese dueño es el motor que hizo la llamada. La respuesta es definitiva:
  • 200 con resolved: true nombra al dueño.
  • 200 con resolved: false significa que ningún motor de tu institución es dueño de la clave.
  • 422 significa que la clave no es válida.
  • Trata cualquier otro estado como un rechazo: falla el pago y no lo liquides dentro de tu institución.

Reclamación de recurrencia de Pix Automático

Cuando el motor autoriza una recurrencia de Pix Automático, reclama la recurrencia. Entonces, el Courier enruta al motor las llamadas de agendamiento de esa recurrencia. La reclamación es idempotente. Una recurrencia que tiene otro motor recibe 409 JDC-0102. Solo un operador puede moverla. Antes de que el Courier empiece a recibir Pix, cada motor reclama las recurrencias que ya existen. Un mensaje de agendamiento para una recurrencia sin dueño queda retenido hasta que llega la reclamación. Una validación de agendamiento para esa recurrencia recibe 503.

Declaración de etapa de Pix Automático

Algunas llamadas de Pix Automático siguen una etapa anterior del mismo pago. Un débito y una reversión del débito van al motor que recibió el bloqueo del débito. Un estado de cancelación del agendamiento va al motor que tiene el agendamiento. Antes de que el Courier empiece a recibir Pix, cada motor declara las etapas que tiene para los pagos en curso:
  • block: cada bloqueo del débito que el motor aceptó, cuando el débito o su reversión todavía no llegó.
  • schedule: cada agendamiento cuyo estado de cancelación todavía no llegó.
Una llamada que llega antes de que se declare su etapa queda retenida. El Courier la libera después de la declaración. Una declaración que entra en conflicto con el registro del Courier recibe 409 JDC-0116. Detente e informa a un operador.