Skip to content
Last updated

Extrair Dados de Emprego no Brasil

Neste guia, vamos orientá-lo em tudo o que você precisa para extrair dados de emprego sobre seus usuários usando nossa API. Isso inclui:

  • Uma visão geral do fluxo de dados
  • Gerar um token de acesso ao widget e criar um link
  • Obter informações de emprego e do proprietário

Pré-requisitos

Antes de prosseguir com sua integração, certifique-se de que você leu nosso guia de introdução. No guia de introdução, você criará uma conta Belvo, gerará algumas chaves de API sandbox e configurará uma URL de webhook. Para fins de teste e desenvolvimento de sua integração, recomendamos fortemente o uso do ambiente Sandbox sempre que possível.

Fluxo geral de dados

Tempo médio para recuperar dados de emprego

O tempo médio que leva para a Belvo recuperar dados de emprego de uma instituição de emprego e enviar um evento de webhook para você é de 15 segundos. No entanto, isso pode variar dependendo da capacidade de resposta da instituição e da carga atual de solicitações.

A Belvo usa fluxos de trabalho assíncronos para melhorar o fluxo de dados (veja o diagrama abaixo). Sempre que seu usuário cria com sucesso um link usando o Hosted Widget, a Belvo extrai automaticamente todos os dados de Emprego para você em segundo plano, e assim que tivermos todos os dados, notificamos você via um webhook que os dados estão prontos para serem recuperados (veja as seções WEBHOOK em roxo no diagrama abaixo). Para que possamos notificá-lo assim que os dados estiverem prontos, você precisa fornecer uma URL para onde possamos enviar eventos.

AplicaçãoBelvoInstituição de Empregofetch_resources = [EMPLOYMENTS, OWNERS]EMPLOYMENTSOWNERSSe estiver usando Links recorrentes, na frequência de atualização agendadavocê receberá um webhook new_{resource}_available.POST /token/200 - Token GeradoDirecione seu usuário para o Hosted WidgetUsuário faz login na sua instituiçãoUsuário redirecionado de volta para sua aplicação + link geradoBelvo recupera informaçõeshistóricas de EMPLOYMENT e OWNERpara o ID do LinkWEBHOOK: historical_updateGET /br/employments/{link-id}200 + Detalhes de EmpregoWEBHOOK: historical_updateGET /owners/{link-id}200 + Detalhes do ProprietárioWEBHOOK: new_employments_availableGET /br/employments/{link-id}200 + Detalhes de EmpregoAplicaçãoBelvoInstituição de Emprego

Gerar um token de acesso

Para que o widget apareça para seus usuários finais, você precisa gerar um token de access no seu servidor e enviá-lo para a Belvo. Assim que recebermos a solicitação, você receberá um objeto com duas chaves: access e refresh. Passe o valor da chave access ao iniciar o hosted widget.

Os valores retornados são válidos por 10 minutos e invalidamos o token assim que um usuário conecta sua conta com sucesso.

Para gerar um token de access, basta fazer uma chamada do seu servidor para a Belvo:

cURL Request Headers
curl -X POST \
  https://production.belvo.com/api/token/ \
  -H 'Content-Type: application/json' \
  -H 'Host: production.belvo.com' \
  -d 'veja exemplos de payloads abaixo'
Empregos Brasil
{
  "id": "YOUR_SECRET_ID",
  "password": "YOUR_SECRET_PASSWORD",
  "scopes": "read_institutions,write_links",
  "stale_in": "365d",
  "credentials_storage": "store",
  "fetch_resources": ["EMPLOYMENTS", "OWNERS"], 
  "widget": {
    "callback_urls": {
      "success": "your_deeplink_here://success",
      "exit": "your_deeplink_here://exit",
      "event": "your_deeplink_here://error"
    },
    "branding": {
      "company_icon": "https://mysite.com/icon.svg",
      "company_logo": "https://mysite.com/logo.svg",
      "company_name": "ACME",
      "company_terms_url": "https://belvo.com/terms-service/"
    },
    "theme": [] // See our dedicated widget customization article
  }
}
Parâmetro TipoObrigatórioDescrição
idstringsimSubstitua YOUR_SECRET_ID pelo secretID que você gerou no painel da Belvo.
passwordstringsimSubstitua YOUR_SECRET_PASSWORD pelo secretPassword que você gerou no painel da Belvo.
scopesstringsimO parâmetro scopes contém uma lista de permissões que permitem criar um link para o usuário. Este é um parâmetro obrigatório e deve ser enviado exatamente como mostrado.
stale_instringopcionalO parâmetro stale_in permite controlar por quanto tempo a Belvo armazena dados derivados do usuário. Para mais informações, confira a seção stale_in do nosso artigo sobre controles de retenção de dados.
credentials_storagestringopcionalO parâmetro credentials_storage permite controlar por quanto tempo a Belvo deve armazenar credenciais para os usuários. Se você criar links recorrentes, isso deve ser configurado como store. Para mais informações, confira a seção credentials_storage do nosso artigo sobre controles de retenção de dados.
fetch_resourcesarray de stringssimNo parâmetro fetch_resources, você fornece uma lista de recursos que deseja que a Belvo recupere de forma assíncrona para o usuário. Para dados de emprego no Brasil, você deve enviar ["EMPLOYMENTS", "OWNERS"].
widget.callback_urlsobjetosimNo objeto callback_urls, você deve adicionar links para onde seu usuário deve ser redirecionado nos seguintes casos:
  • success (seu usuário conectou suas contas com sucesso)
  • exit (seu usuário saiu do widget antes de completar o processo)
  • event (ocorreu um erro durante o processo de conexão) Para mais informações, confira a seção callback_urls no nosso guia de Hosted Widget (OFDA). A Belvo também enviará informações adicionais sobre o evento dependendo do evento. Para mais informações, certifique-se de conferir a seção Handling callback events do guia de Hosted Widget (OFDA).

widget.branding

objeto

sim

No objeto branding, você deve adicionar seu:

  • company_icon
  • company_logo
  • company_name
  • company_terms_url.

Você também pode opcionalmente adicionar uma cor de fundo personalizada para quando o widget abrir, bem como desativar a mensagem da Belvo sobre quantas contas foram conectadas. Para mais informações sobre as opções de branding e personalização do widget, confira nosso guia dedicado.

widget.themearray de objetosopcionalVocê pode opcionalmente adicionar as cores da sua marca ao widget usando o parâmetro theme. Para mais informações sobre onde essas cores aparecerão no widget, confira a seção dedicada Adicionar cores personalizadas ao widget do nosso guia de Branding.

Inicie o widget em seu aplicativo para seu usuário

Em seguida, você precisará redirecionar seu usuário para o widget em uma webview dentro do seu aplicativo, usando o token access que você recebeu da solicitação /api/token/:

Hosted Widget URL
https://widget.belvo.io/
  ?access_token={access_code}
  &locale=pt
  &institutions=inss_br_employment
  &access_mode=single
  &external_id=HJLSI-897809
Parâmetro ObrigatórioDescrição
access_tokensimSubstitua access_code pelo token de acesso que você recebeu.
localesimPara que o hosted widget funcione corretamente para seus usuários no Brasil, você deve definir o parâmetro de consulta locale como pt.
institutionsnãoCom o parâmetro institutions, você pode fornecer uma (ou mais) instituições que devem ser exibidas no widget. No caso de Empregos no Brasil, recomendamos definir este parâmetro como inss_br_employment.
access_modenãoVocê pode usar o parâmetro access_mode para definir qual tipo de link você deseja criar (single ou recurrent). Por padrão, a Belvo cria links recurrent.

external_id

altamente recomendado

Você pode adicionar um identificador adicional para ser associado ao link no banco de dados da Belvo. O external_id que você fornecer:

  • deve ser um ID único para cada usuário no seu banco de dados.
  • deve ter pelo menos três caracteres.
  • pode ser composto apenas por letras, números, hífens (-) e sublinhados (_).
  • não pode conter nenhuma informação pessoal identificável sobre o usuário (e-mail, nome, número de telefone, número de cartão de crédito, etc.).

Além disso, confira nossas seções Iniciando o widget e eventos de callback do nosso guia de Hosted Widget (Multi-Region).

Feito!

A Belvo agora se conectará à instituição e validará se o CPF fornecido está correto. Uma vez validado e seu link criado, a Belvo carregará os dados de emprego de forma assíncrona. Enviaremos um webhook assim que tivermos recuperado os dados para o link fornecido, e você poderá então extraí-los com uma solicitação get.

Webhook de emprego em espera

Assim que seu link for criado, carregamos assincronamente as informações de emprego disponíveis para o link e enviaremos o seguinte webhook:

Exemplo de Webhook Histórico
{
  "webhook_id": "03d1ca0d62db4f769488265d141047b7",
  "webhook_type": "EMPLOYMENTS",
  "process_type": "historical_update",
  "webhook_code": "historical_update",
  "link_id": "2f5d361d-dad6-45d4-a0bf-26d479766067",
  "request_id": "4363b08b-51eb-4350-9c74-5df5ac92a7f6",
  "external_id": "your_external_id",
  "data": {
    "total_employments": 1 // O número total de perfis de registro de emprego encontrados para o link
  }
}

Assim que você receber a notificação, poderá obter mais detalhes fazendo a seguinte solicitação:

Exemplo de Solicitação
curl --request GET 'https://api.belvo.com/api/br/employments/?link={id}' \
-u SECRET_ID:SECRET_PASSWORD
Parâmetro de ConsultaDescriçãoExemplo
linkO link_id que você recebeu na notificação do webhook.2f5d361d-dad6-45d4-a0bf-26d479766067

Esperar pelo webhook do proprietário

Assim que seu link for criado, carregamos assincronamente as informações do proprietário disponíveis para o link e enviaremos o seguinte webhook:

Código do WebhookDescrição
historical_updateO número total de proprietários encontrados para o link.

No payload do webhook, incluímos o número de proprietários encontrados para o link.

Exemplo de Webhook Histórico
{
  "webhook_id": "aadf41a1fc8e4f79a49f7f04027ac999",
  "webhook_type": "OWNERS",
  "process_type": "historical_update",
  "webhook_code": "historical_update",
  "link_id": "16f68516-bcbc-4cf7-b815-c500d4204e28",
  "request_id": "4363b08b-51eb-4350-9c74-5df5ac92a7f6",
  "external_id": "your_external_id",
  "data": {
    "total_owners": 2 // Número total de proprietários
  }
}

Assim que você receber a notificação, poderá obter mais detalhes fazendo a seguinte solicitação:

Exemplo de Solicitação
curl --request GET 'https://api.belvo.com/api/owners/?link=link_id' \
-u SECRET_ID:SECRET_PASSWORD
Parâmetro de ConsultaDescriçãoExemplo
linkO link_id que você recebeu na notificação do webhook.2f5d361d-dad6-45d4-a0bf-26d479766067