Pular para o conteúdo principal

Webhooks (Deprecated)

info

Os webhooks são especialmente úteis para que você possa implementar corretamente nossa API, pois o tempo necessário para extrair os dados varia de acordo com a plataforma e varia entre 10 e 40 segundos.

Por implementado corretamente, você será um processo automaticamente ativo no seu back -end que dependem dos dados de renda do trabalhador.

For example, receiving the employment.updated event means that the employment data is available and you can trigger a GET request in your backend to the endpoint /accounts/:account_id/employment

Introdução

Um webhook é a maneira como a palência se comunica com seu aplicativo. É alcançado através de um URL que você nos fornece à qual enviamos notificações/eventos para mantê -lo atualizado sobre as conexões de seus usuários. Esses eventos estão se sentindo formato, permitindo que você acione automaticamente o processo no seu back -end. Every time an event is generated, you can see them in the Console within the Webhooks section. Toda vez que um evento é gerado, você pode vê -los no console na seção Webhooks. img.png

Implementação

Para registrar um webhook em palência, você deve ser seguido:

  1. Vou ao "Developers" Seção com o console;

  2. Abra o "Webhooks" Aba;

  3. Clique em "Create Webhook";

  4. Registre o webhook URL (Você pode usar ferramentas como webhook.site testar). Você deve associar o webhook a um Widget específico ou comTodas as conexões geradas via API (IMSS & ISSSTE);

  5. Clique em "Confirm".

  6. Compartilhe o **link do widget para testar conexões ou fazer conexões IMSS e ISSTE.

img.png

Esquema de dados de um evento

O esquema genérico de dados de um evento que notificamos via webhook é o seguinte:

{
"data": {
"user_id": "string",
"account_id": "string",
"country": "string",
"platform": "string",
"webhook_action": "string"
},
"webhook_url": "string"
}

Alguns eventos incluirão informações adicionais que detalharemos mais adiante na seção Novos Campos.

Exemplo de evento

A resposta que você receberá da Palenca será informações sobre o usuário ou conta e a ação do Webhook acionada. Abaixo está um exemplo do evento que sentimos em seu URL:

{
"data": {
"user_id": "f2a6d844-22ee-455d-9d2c-deb413d78b74",
"account_id": "d86efb5b-4bbf-4f28-8576-9612430bc5e2",
"country": "mx",
"platform": "uber",
"webhook_action": "earnings.updated"
},
"webhook_url": "https://my_site.com/palenca_webhook"
}

Lista de evento

Na tabela a seguir, você pode ver todos os eventos que enviamos. Recomendamos que você visite nosSeçãoities] section (docs/v2/Guides/ApiConcepts/Entities.md) Para maiores informações.

EventoCategoriaDescrição
user.createdUserUm usuário foi criado com sucesso.
user.deletedUserUm usuário foi deletado com sucesso.
profile.updatedProfileO perfil da conta no perfil foi criado optado e pode ser visualizado por meio de nossa API.
earnings.updatedEarningsO Inforto dos ganhos da conta foi criado optado e pode ser visto por meio de nossa API.
events.updatedEventsO Inforto do Evento da Conta foi criado optado e pode ser visto através de nossa API.
employment.updatedEmploymentInforto de emprego da conta foi criado optado e pode ser visto através de nossa API.
login.createdLoginO usuário iniciou o processo de autenticação em uma conta.
login.successLoginO usuário fez login com sucesso em suas contas e o processo de extração de dados foi iniciado. Ple
login.errorLoginO usuário não se conecta com sucesso à sua conta. Entre em contato com nossa equipe de suporte.
login.incompleteLoginO usuário não concluiu o processo de autenticação. Este evento será enviado apenas se mais de 500 segundos tiveram passado e o usuário não tiver concluído com êxito o fluxo de login.

Novos Campos

Atualmente, existem dois eventos, employment.updated e earnings.updated, que a partir de março de 2024 retornarão informações adicionais, estendendo o esquema base.

A partir de março de 2024, o evento employment.updated terá dois novos campos dentro de data:

1. employment_history_status: Refere-se ao status do processo de extração do histórico de emprego de um trabalhador afiliado ao IMSS ou ISSSTE por parte da Palenca. Este campo pode ter os seguintes valores:

ChaveDefinição
completeTodo o histórico de emprego de um trabalhador foi extraído. Este valor será enviado somente para cenários IMSS
nullAinda não há informações suficientes para determinar o status do processo. Para o cenário ISSSTE, se o evento for employment.updated, as informações de extração poderão ser feitas

2. time_elapsed: O número aproximado de segundos que se passaram entre a criação do login e a recuperação dos dados de emprego. Este campo pode ter um valor de null se o processo de extração de dados de emprego não foi concluído. É importante enfatizar que isso é apenas uma aproximação. É difícil fornecer um valor exato devido à natureza assíncrona dos processos de extração de dados.

A seguir, é mostrado um exemplo do evento que enviamos com os dados adicionais:

{
"data": {
"user_id": "125bfab8-e127-3b6f-be24-f3301958d44e",
"account_id": "20948fdc-6645-3b6f-bb78-a41a609f7cee",
"external_id": "4707511",
"country": "mx",
"platform": "imss",
"status_details": null,
"curp": "MENR731930HDFJNJ01",
"employment_history_status": "complete",
"time_elapsed": 16
},
"webhook_url": "https://my_site.com/palenca_webhook"
}

Da mesma forma, o evento earnings.updated terá um novo campo dentro de data:

1. recovered_earning_days: Refere-se ao número de dias em que foram recuperados ganhos diferentes de zero para um trabalhador. Este campo é numérico.

A seguir, é mostrado um exemplo do evento que enviamos incluindo o dado adicional:

{
"data": {
"webhook_action": "earnings.updated",
"user_id": "e8da8d42-fd22-4100-8eab-d48d0f7eebd4",
"account_id": "5a11027d-4ed7-4255-ba1d-81c0063896f3",
"external_id": null,
"country": "mx",
"platform": "indriver",
"status_details": null,
"phone": "5555555555",
"recovered_earning_days": 30
},
"webhook_url": "https://my_site.com/palenca_webhook"
}
Importante

É importante notar que esses campos só conterão informações relevantes para contas criadas a partir de março de 2024.

Novas Tentativas (Retries)

Se não recebermos um código 200 ou 201 dentro de 30 segundos após a primeira solicitação POST para o URL do webhook, faremos até três chamadas adicionais (parando se recebermos um código 200 ou 201), aguardando ~30s entre cada chamada.

Important

Se após 3 tentativas não recebermos o código 200 ou 201, deixaremos de enviar o evento para sua URL e o webhook será desabilitado. Você pode solicitar que nossa equipe de suporte o reative depois de corrigir o problema subjacente. Não armazenamos em buffer os webhooks enquanto estão desativados.

Exemplos de eventos:

user.created

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "user.created",
"user_id": "da3fe164-3b65-44f6-99e5-c3ebab941481",
"account_id": null,
"country": null,
"platform": null
}
}

user.deleted

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "user.deleted",
"user_id": "cc821a8e-9640-4994-9e7c-c8efe43d608c",
"account_id": null,
"country": null,
"platform": null
}
}

profile.updated

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "profile.updated",
"user_id": "125bfab8-e127-3b6f-be24-f3301958d44e",
"account_id": "20948fdc-6645-3b6f-bb78-a41a609f7cee",
"external_id": "4707511",
"country": "mx",
"platform": "imss",
"status_details": null,
"curp": "MENR731930HDFJNJ01"
}
}

earnings.updated

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "earnings.updated",
"user_id": "125bfab8-e127-3b6f-be24-f3301958d44e",
"account_id": "20948fdc-6645-3b6f-bb78-a41a609f7cee",
"country": "pe",
"platform": "uber",
"status_details": null,
"phone": "555555555",
"recovered_earning_days": 49
}
}

earnings.updated

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "earnings.updated",
"user_id": "125bfab8-e127-3b6f-be24-f3301958d44e",
"account_id": "20948fdc-6645-3b6f-bb78-a41a609f7cee",
"external_id": null,
"country": "pe",
"platform": "cabify",
"status_details": null,
"email": "some-email@hotmail.com"
}
}

employment.updated

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "employment.updated",
"user_id": "125bfab8-e127-3b6f-be24-f3301958d44e",
"account_id": "20948fdc-6645-3b6f-bb78-a41a609f7cee",
"external_id": null,
"country": "mx",
"platform": "imss",
"status_details": null,
"curp": "MENR731930HDFJNJ01",
"employment_history_status": "complete",
"time_elapsed": 25
}
}

login.created

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "login.created",
"user_id": "125bfab8-e127-3b6f-be24-f3301958d44e",
"account_id": "20948fdc-6645-3b6f-bb78-a41a609f7cee",
"external_id": null,
"country": "pe",
"platform": "indriver",
"status_details": "pending_for_data",
"phone": "555555555"
}
}

login.success

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "login.success",
"user_id": "125bfab8-e127-3b6f-be24-f3301958d44e",
"account_id": "20948fdc-6645-3b6f-bb78-a41a609f7cee",
"external_id": null,
"country": "mx",
"platform": "imss",
"status_details": null,
"curp": "MENR731930HDFJNJ01"
}
}

login.error

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "login.error",
"user_id": "125bfab8-e127-3b6f-be24-f3301958d44e",
"account_id": "20948fdc-6645-3b6f-bb78-a41a609f7cee",
"external_id": null,
"country": "mx",
"platform": "imss",
"status_details": "service_degradation",
"curp": "MENR731930HDFJNJ01"
}
}

login.incomplete

{
"webhook_url": "https://my_site.com/palenca_webhook",
"data": {
"webhook_action": "login.error",
"user_id": "125bfab8-e127-3b6f-be24-f3301958d44e",
"account_id": "20948fdc-6645-3b6f-bb78-a41a609f7cee",
"external_id": null,
"country": "mx",
"platform": "issste",
"status_details": "curp_not_in_platform",
"curp": "MENR731930HDFJNJ01"
}
}

Deprecated events

Os seguintes eventos foram preteridos desde que, quando enviados, não garantem que as informações do trabalhador sejam lidas para consultar isso nossa API.

Account

  • account.created
  • account.warning
  • account.needs_auth

Profile

  • profile.created

Login

  • login.retry
  • login.failed_refresh

Employment

  • employment.created

Gig

  • earnings.created
  • events.created