A revisão cadastral está disponível hoje para recebedores vinculados ao provedor Zoop.
Os dois tipos de revisão
A diferença prática está no ritmo. A revisão periódica nasce em
pending, com uma fase inicial em que o recebedor responde no seu próprio tempo, e passa a overdue — cobrança ativa — antes do vencimento. A revisão por inconsistência já nasce em cobrança, sem fase inicial, porque o provedor já identificou um problema.
Você não precisa acompanhar essa virada: ela se reflete no status do processo, e o que delimita a sua janela de resposta é o deadlineAt. Ambos vêm na consulta.
A regra de coleta ativa
Esta é a regra que mais costuma ser violada na integração, e a que mais custa caro. A Malga não tem como provar que a coleta foi ativa, mas se recusa a transportar um envio que nem sequer afirme isso. Por essa razão, todo envio carrega um blococollection que descreve como você obteve os dados:
A data de coleta é validada contra o momento em que o processo abriu: dado coletado antes de o provedor pedir é, por definição, dado que já estava guardado. Um envio nessas condições é recusado com
400.
A Malga guarda o que foi declarado. É esse registro que você apresenta caso o provedor audite a origem dos dados.
O fluxo de ponta a ponta
1
Você é avisado
O provedor abre o processo e a Malga publica
seller.registration_review.required no seu webhook. Enquanto o processo continuar aberto, você recebe lembretes periódicos.2
Você descobre o que coletar
Consulte o processo e leia
requestedFields.fields. Cada item traz o caminho do campo no vocabulário da Malga, o rótulo para exibir no formulário e, quando existe, o formato esperado.3
Você coleta com o recebedor
Monte o formulário a partir dessa lista e apresente ao recebedor. Registre o momento e a jornada da coleta.
4
Você envia
Faça o
POST de envio com os dados coletados e a evidência da coleta. A resposta é 202: a Malga aceitou a coleta e vai encaminhá-la ao provedor.5
Você acompanha o desfecho
O resultado chega por webhook:
seller.registration_review.finished quando o provedor confirma, ou seller.registration_review.failed quando recusa. Enquanto houver prazo, um envio recusado pode ser corrigido e reenviado.Consultar os processos abertos
GET /v1/sellers/{sellerId}/registration-reviews. Um recebedor com mais de um vínculo ao provedor recebe um item por vínculo, distinguidos pelo campo providerId.
A lista de campos
O blocorequestedFields traduz para o vocabulário da Malga o que o provedor pediu no vocabulário dele. Você lê fields e ignora raw, que existe apenas para rastrear a origem de cada item.
Vale conhecer três detalhes da lista:
- Um item de
rawpode virar dois emfields. O endereço é o caso típico: onde o provedor pede um campo só, a Malga separa logradouro e número. Os dois aparecem emfieldse você coleta os dois; a junção acontece na borda. patterné a mesma expressão que valida o envio. Se o seu formulário validar por ela, o envio não é recusado por formato.allowedValuesé informativo. Um valor fora da lista não é recusado pela Malga, porque o provedor pode aceitar opções que ainda não publicou.
requestedFields vem ausente e requestedFieldsPending vem true — com o prazo já correndo. Nessa situação não há o que coletar ainda, e um envio é recusado com 409.
Enviar os dados coletados
O blocodata deve conter exatamente os campos listados em requestedFields.fields: nem um a menos, nem um que não tenha sido pedido. Os caminhos seguem o formato de path, aninhados.
202 significa que a Malga aceitou a coleta, e não que o provedor já a confirmou. O envio ao provedor acontece em segundo plano, justamente para que uma indisponibilidade do lado dele não vire um erro na sua chamada. Acompanhe o desfecho pelos webhooks ou pela listagem.
Erros de envio
Todos os problemas encontrados vêm juntos emerror.details, e não um por vez. Isso é deliberado: a coleta já foi feita com o recebedor, e descobrir um campo errado por tentativa significaria voltar até ele várias vezes, com o prazo cada vez menor.
Exemplo de recusa por campos fora da lista:
Situações do processo
Um processo
expired não é um processo perdido. O envio continua sendo aceito, e segue sendo a única ação que reduz a exposição do recebedor ao bloqueio.
Prazos e lembretes
O prazo é definido pelo provedor e chega no campodeadlineAt. O campo daysRemaining traz os dias inteiros que faltam, e fica negativo depois que o prazo passa.
Enquanto o processo continuar aberto, a Malga o lembra por webhook em uma cadência que aperta conforme o prazo se aproxima:
Eventos de webhook
Os seis eventos do processo viajam pelo mesmo webhook em que você já recebeseller.active e seller.inactive. Veja o payload e a lista completa em Webhooks.
Gerenciar recebedores
Criação, edição e status dos recebedores usados no Split.
Webhooks
Payload, eventos e configuração das notificações.