Skip to main content
Periodicamente, e sempre que encontra uma inconsistência, o provedor exige que os dados cadastrais de um recebedor sejam confirmados. Quando isso acontece, a Malga abre um processo de revisão cadastral com prazo e com a lista dos campos a coletar, e avisa você por webhook. Responder ao processo é responsabilidade sua: cabe a você coletar os dados diretamente com o recebedor e enviá-los pela API antes do prazo. Um processo que vence sem envio leva o provedor a bloquear o recebedor — e com ele o repasse do Split.
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.
O provedor proíbe preencher uma revisão cadastral com dado que você já tinha. Não vale usar bureau de crédito, a sua própria base, o que foi informado no onboarding nem o que foi enviado em uma revisão anterior. A coleta precisa ser ativa: feita com o recebedor, agora, por causa deste processo.
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 bloco collection 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

Para restringir a um recebedor, use 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 bloco requestedFields 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 raw pode virar dois em fields. O endereço é o caso típico: onde o provedor pede um campo só, a Malga separa logradouro e número. Os dois aparecem em fields e 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.
Enquanto o provedor não informa o que pedir, 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 bloco data 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.
A resposta 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 em error.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 campo deadlineAt. 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á recebe seller.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.