O mapa de titularidade
O mapa de titularidade é uma lista de chaves. Cada chave tem um motor dono. Um operador cria e muda o mapa pela API de titularidade. O Courier recusa um segundo dono para uma chave com
409 JDC-0102. Para mudar o dono, o operador move a chave.
O mapa aceita sete tipos de chave:
Os tipos que o roteamento de entrada não usa ficam disponíveis aos motores pela consulta de titularidade. Um motor usa a consulta para descobrir se outro motor é dono do destino de um pagamento.
O Courier normaliza cada valor de chave. Por exemplo, ele remove a pontuação de um CPF e os zeros à esquerda de uma agência. Envie o valor como você o guarda.
Cada mudança no mapa grava uma entrada no histórico de auditoria da chave, na mesma transação. A entrada registra quem fez a mudança, quando, o dono anterior e o novo dono. Uma movimentação também registra o motivo. Você pode ler o histórico de uma chave depois da remoção dela, pela consulta de auditoria por chave.
Roteamento no trilho SPB
O papel
spb-consumer lê as mensagens SPB que a JD guarda para a sua instituição. O Courier guarda cada mensagem antes de decidir a rota. Depois, ele aplica estas regras, em ordem:
- Registro de envios. Quando o número de controle (
NumCtrlIF) da mensagem corresponde a um envio no registro de envios, a mensagem vai para o motor que fez o envio. Esta regra roteia as respostas às mensagens que um motor enviou. - Mapa de titularidade. O Courier lê a conta creditada da mensagem: agência e conta, ou a conta de pagamento. Quando o mapa tem um dono para essa conta, a mensagem vai para o dono.
- Modo de entrega. Quando o mapa não tem dono, o Courier lê o modo de entrega declarado para o código da mensagem. Esta regra nunca se aplica aos códigos de dinheiro
STR0008,STR0008R1,STR0008R2,STR0010,STR0010R1eSTR0010R2. - Retenção. Quando nenhuma regra decide, o Courier retém a mensagem.
DELIVERY_FAILED.
O Courier não empurra mensagens SPB aos motores. Cada motor pede as próprias mensagens ao Courier pela mesma interface SOAP que usa com a JD. O Courier responde com a mensagem mais antiga que espera por esse motor. Para os detalhes, veja Conectar um motor.
Modos de entrega
Um modo de entrega se aplica a um código de mensagem SPB. Um operador o declara com um motivo. Existem dois modos:ALL_ENGINES: a mensagem vai para cada motor habilitado.REFUSE: a mensagem não vai para nenhum motor. O Courier a guarda, com o estadoREFUSED.
422 JDC-0110. Uma declaração revogada continua legível como histórico. O trilho Pix não aceita declaração.
Reentrega
Um operador pode servir de novo uma mensagem SPB a um dos motores para os quais a mensagem foi roteada. O Courier não pergunta de novo à JD. O próximo pedido do motor recebe a mensagem guardada, com o número de sequência original. O seu operador informa um motivo, e o Courier o registra.Bypass
Um bypass é o estado em que um motor se conecta de novo à JD diretamente, fora do Courier. Um operador declara um bypass no trilho SPB com o motor e um motivo. Enquanto um bypass está ativo, o Courier não lê da JD nesse trilho. Ele também não roteia nem verifica de novo as mensagens SPB. Um ciclo de conciliação que roda durante um bypass lista as garantias suspensas. No máximo um motor pode estar em bypass em um trilho. O trilho Pix não tem bypass.Roteamento no trilho Pix
A JD envia as chamadas Pix de entrada da sua instituição ao endereço que o papel
pix-ingress serve. O Courier decide o dono durante a chamada, entrega a chamada ao motor e repassa à JD a resposta do motor.
A JD faz dois tipos de chamada:
- Perguntas. A JD espera uma resposta antes de continuar: validação de conta, o bloqueio do débito do Pix Automático e as validações de autorização e de agendamento. O Courier não retém uma pergunta.
- Mensagens. A JD informa um fato: cash-in, devolução e os registros, as liquidações e os eventos do Pix Automático. O Courier pode reter uma mensagem.
Qual chave roteia cada chamada
Os seus ISPBs são os ISPBs participantes que o operador registra nos motores.
As chamadas do Pix Automático que seguem uma etapa anterior precisam de um registro dessa etapa. O Courier registra as etapas anteriores que entrega. Para os pagamentos em andamento antes de o Courier receber o Pix, cada motor declara as próprias etapas. Veja Conectar um motor.
O que a JD recebe
Quando o motor responde a uma mensagem com um status
5xx, 408 ou 429, o Courier repassa essa resposta à JD e retém a mensagem. O próximo reenvio da JD chega de novo ao motor. Quando o motor responde com um status 3xx, 401 ou 403, ou não responde, a JD recebe 503 e o Courier retém a mensagem.
Mensagens retidas
Uma mensagem retida fica no banco de dados do Courier com o motivo. O Courier não a credita, não a devolve ao BACEN e não a apaga. O seu operador lista as mensagens retidas, da mais antiga para a mais nova, pela API de retidas. A lista mostra o motivo e os horários. Ela não mostra o conteúdo da mensagem.
Como uma mensagem retida sai
O Courier verifica de novo cada mensagem retida com uma causa de roteamento ou de entrega, no máximo uma vez por minuto. Quando a causa deixa de existir, a mensagem sai por conta própria. Por exemplo, um operador atribui a conta, ou habilita de novo o motor dono. No Pix, um reenvio da JD também roda a decisão de novo. Um operador também pode pedir uma reavaliação com um motivo. O Courier registra quem pediu, quando e por quê, e verifica a mensagem primeiro. A reavaliação roda as mesmas regras de roteamento de uma mensagem nova. O operador nunca escolhe o motor. O Courier recusa uma reavaliação para o motivoCLASSIFICATION_FAILED com 422 JDC-0204.
Quando o Courier libera uma mensagem Pix, a JD não está na chamada. O Courier guarda a resposta do motor e a entrega à JD no próximo reenvio.
Envios à JD e o registro de envios
Os motores enviam as próprias mensagens SPB à JD pelo papel
spb-sender. O Courier grava cada envio no registro de envios antes de o envio sair. Depois, ele envia a mensagem à JD uma vez e repassa ao motor a resposta da JD. O Courier nunca envia uma mensagem de novo por conta própria.
O registro de envios grava um destes resultados para cada envio:
O Courier aceita cada número de controle uma vez para cada tenant. Um envio com o resultado
NOT_SENT não conta. Um segundo envio do mesmo número de controle não chega à JD.
Um envio indeterminado recebe a resposta quando o motor consulta a JD sobre ele pelo Courier. Para tratar os envios indeterminados que restam, veja Operação diária.
