Endpoints e faturamento
Buscas avulsas bem-sucedidas que usam uma fonte paga de dados de empresas custam $0.50 por requisição, independentemente do número de empresas candidatas. Resultados vazios, buscas com falha e resultados fornecidos apenas por outras fontes não são cobrados. A obtenção posterior de um perfil é faturada à parte. A obtenção de dados é vendida em três níveis, cada um com seu endpoint e com preço por país (preços por país):select é o nível Lite: é o que um fluxo de verificação (workflow) KYB hospedado cobra por uma consulta ao registro no nível Lite, e ele mantém o mesmo contrato de sempre. Europa significa o EEE, o Reino Unido e a Suíça.
Uma busca Shareholders ou UBO consulta a fonte de dados de propriedade que atende ao nível. Quando essa fonte responde que não possui dados sobre a empresa, a busca consulta também as outras fontes de registro do país, de modo que uma empresa que a fonte de propriedade não lista ainda é oferecida como candidata, em vez de terminar em entrada manual. As candidatas encontradas dessa forma mantêm o nível solicitado: ao recuperar seus perfis, a fonte de propriedade é consultada novamente e, se ainda não possuir dados sobre ela, o perfil Lite é entregue e faturado, com registry_ownership_status: "not_held".
Você paga pelo nível entregue. Toda resposta traz
registry_tier_requested e registry_tier_delivered. Quando os registros do país não têm dados de propriedade, ou o registro não tem informações de propriedade da empresa selecionada, uma requisição de propriedade é entregue e faturada no nível mais alto disponível (geralmente Lite), e registry_ownership_status indica o motivo. Uma requisição UBO cujo relatório final não aponta nenhuma pessoa física como beneficiário final é entregue e faturada como Shareholders.Versionamento. Os endpoints Shareholders e UBO estão disponíveis apenas em
/v3/. A tarifa de busca avulsa também se aplica a /v2/kyb/search/; a obtenção do perfil é faturada à parte.Status da propriedade
registry_ownership_status indica o que aconteceu com a parte de propriedade de uma requisição Shareholders ou UBO:
not_held e unavailable são ambos entregues e faturados como Lite, mas não representam a mesma constatação. not_held significa que a fonte de propriedade não cobre a empresa, ou seja, uma lacuna de cobertura. Já unavailable significa que os dados não foram fornecidos, seja por uma indisponibilidade, seja por uma seção que o registro deixou vazia. registry_data.ownership_error indica o motivo. Seleções que antes informavam unavailable porque o registro de propriedade não listava a empresa agora informam not_held. Se a sua lógica se ramifica com base no status, trate ambos como a mesma entrega Lite. Dois dos valores desse campo têm significados diferentes e não devem ser interpretados como a mesma constatação:
Uma seção que o registro não retornou também fica registrada de forma estruturada em
registry_data.section_errors, com chaves por seção (officers, shareholders, group_structure), com o status com que o registro respondeu:
section_errors descreve a resposta que você tem em mãos, não o histórico por trás dela. Uma seção que não foi retornada na primeira requisição e é fornecida em uma tentativa posterior (veja a obtenção assíncrona abaixo) perde sua entrada. Assim, registry_ownership_status, ownership_error e section_errors estão sempre de acordo: uma seção delivered nunca tem entrada, e no_owners_on_record nunca vem acompanhado de uma entrada para shareholders. Uma seção também nunca é entregue pela metade: se o registro fornece a primeira página de uma lista e depois falha ao fornecer uma página seguinte, a obtenção não é concluída nessa tentativa. Uma obtenção pending é tentada novamente na próxima tentativa, e uma nova requisição recebe como resposta o erro de registro indisponível. Por isso, uma lista de officers ou de acionistas entregue é sempre a lista completa mantida pelo registro. Trate uma seção listada em section_errors como dados que nunca foram entregues, e nunca como um resultado vazio: uma lista de officers ou de acionistas vazia ao lado de uma entrada em section_errors para ela não diz nada sobre a empresa.
Propriedade obtida de forma assíncrona
Alguns registros são consultados sob demanda: a primeira requisição sobre uma empresa que nunca foi consultada nessa fonte não retorna a seção de propriedade enquanto ela é buscada, e os dados chegam em poucos minutos. Informar isso como “nenhuma propriedade registrada” subestimaria uma empresa que de fato tem acionistas, por isso a requisição retornapending.
Enquanto uma obtenção está pending, fetch_status também fica pending e o status da resposta é 202 Accepted. A Didit tenta obter a seção novamente por conta própria e conclui a obtenção sem nenhuma outra chamada da sua parte:
- assim que os dados de propriedade chegam, os acionistas e beneficiários finais aparecem na verificação salva,
registry_tier_deliveredpassa a ser o nível fornecido e o uso é cobrado nesse nível; - se a seção ainda estiver vazia quando a janela de novas tentativas terminar, o status passa a ser
unavailablee a requisição é entregue e faturada como Lite.
request_id e consulte GET /v3/session/{request_id}/decision/ periodicamente até que registry_checks[0].company.fetch_status seja resolved. Não repita a requisição de obtenção enquanto ela estiver pending: cada novo POST é uma requisição separada, faturada separadamente.
Use POST /v3/kyb/search/ para encontrar empresas candidatas. A busca não cria uma verificação salva. O parâmetro tier da busca define a cadeia em que ela pesquisa. Veja nível de busca.
As buscas no registro podem levar cerca de 90 segundos. Envie webhook_url quando quiser que a Didit responda imediatamente e notifique sua URL assim que os candidatos estiverem prontos. O callback de busca não é assinado de propósito, então você não precisa configurar um segredo compartilhado para essa notificação simples.
Use POST /v3/kyb/select/, POST /v3/kyb/shareholders/ ou POST /v3/kyb/ubo/ com o kyb_response_id retornado para obter o perfil no nível de que você precisa. A obtenção é faturável e salva o resultado como um Manual Check no Business Console.
Fluxo típico
- Busque pelo nome da empresa, número de registro e país, no
tierque você pretende comprar (basicé a cadeia Lite padrão;shareholderseubopesquisam a cadeia desse nível). - Se
search_resolved=false, aguarde o callback opcional dewebhook_urlem vez de fazer consultas periódicas. - Mostre os candidatos retornados ao seu operador ou cliente.
- Obtenha o
kyb_response_idcorrespondente no nível de que você precisa (selecione Lite, shareholders ou ubo). - Armazene o
request_idretornado e use-o para obter o resultado salvo da verificação de empresa.
Callback de pesquisa
Quando o provedor informa à Didit que a pesquisa foi concluída, a Didit envia um únicoPOST para a sua webhook_url:
kyb_response_id retornado com POST /v3/kyb/select/, POST /v3/kyb/shareholders/ ou POST /v3/kyb/ubo/ para executar a consulta faturável do perfil no registro de empresas.