Documentação Técnica

Onboarding

Nossa solução para validação de identidade possui três fluxos diferentes:

FluxoFinalidade
DocumentoCaptura o documento de seu usuário, garante a qualidade da imagem e extrai as informações desejadas.
Prova de VidaRealiza a captura biométrica com prova de vida.
CompletoRealiza a captura de documento, garante a qualidade da imagem, extrai as informações desejadas, faz a captura biométrica com prova de vida e também efetua a comparação de faces (Face Match).

Compatibilidade

Este produto pode ser facilmente integrado em diversas plataformas e frameworks através de iframes, uma vez que eles são amplamente suportados em ambientes web. Abaixo estão alguns exemplos de onde o iframe pode ser utilizado:

  • Aplicações Web: Compatível com frameworks modernos como React, Angular, Vue.js, Next.js, Svelte, entre outros.
  • Aplicações Móveis Híbridas: Em aplicativos construídos com React Native (via WebView), Ionic e Cordova, permitindo integração em ambientes móveis.

Como Usar

1º Passo: Autenticação

Para acessar nossa aplicação é necessário um OnboardingID. Para gerar um, basta realizar um POST na rota https://app.bigdatacorp.com.br/bigid/onboarding/OpenSession. Seu token da BigDataCorp deve ser incluído nos headers da requisição como AccessToken e o body precisa estar estruturado dessa forma:

{ "ClientWebHookKey": "ID_Do_Usuario", "OnboardingType": "ONBOARDING" }

O parâmetro ClientWebHookKey é uma forma de identificar seu usuário final ao fim do fluxo, quando você irá receber o webhook com todas as informações obtidas. Já o OnboardingTypeé o que determina qual fluxo você deseja que seu usuário final realize.

FluxoParâmetro
DocumentoDOCUMENTOSCOPY
Prova de VidaLIVENESS
CompletoONBOARDING

Essa requisição HTTP irá retornar, entre outras coisas, o OnboardingID.


2º Passo: Inicialização

Com o OnboardingID em mãos, basta utilizar a seguinte URL em seu iframe ou webview:

https://iframe.bigdatacorp.com.br/onboardingID

Exemplo: https://iframe.bigdatacorp.com.br/0e2701ff-927a-4abc-84e9-026121dc7cfe


3º Passo: Finalização

Quando o usuário finalizar o fluxo, você será notificado via Post Message do componente web que está utilizando.

ParâmetroExplicação
STATUS_CODEStatus interno utilizado para reconhecer o que aconteceu com a aplicação.
MESSAGEMensagem com uma breve descrição sobre o acontecido.
ON_FINISHInforma se o componente web deve ser encerrado ou não.

STATUS_CODEMESSAGEON_FINISH
2Oktrue
-100Access Denied true
-201TimeOuttrue
-202Max retriestrue
-298Invalid Request true
-299Unexpectedtrue
400Closed without completingtrue
500Internal Errortrue

Exemplo em React

import React from "react";

interface IData {
  STATUS_CODE: number;
  MESSAGE: string;
  ON_FINISH: boolean;
}

function App() {
  const [open, setOpen] = React.useState<boolean>(false);
  const iFrameURL = `https://iframe.bigdatacorp.com.br/${ONBOARDING_ID}`;

  const [data, setData] = React.useState<IData>({
    STATUS_CODE: 0,
    MESSAGE: "",
    ON_FINISH: false,
  });

  // Evento responsável por escutar o retorno que será dado de nossa aplicação
  window.addEventListener("message", function (e) {
    setData(e.data);

    if (e.data.ON_FINISH) setOpen(false);
  });

  //Um evento o qual irá ser responsável por carregar nosso IFrame
  if (!open) {
    return (
      <>
        <Button onClick={() => setOpen(true)}>Fazer onboarding</Button>
      </>
    );
  }

  //Uso do IFrame
  return (
    <>
      <iframe
        src={iFrameURL}
        allow="camera"
        className="w-dvw h-dvh"
      />
    </>
  );
}

export default App;