Pular para o conteúdo principal

Webhooks (New)

Mudanças nos Webhooks

A partir de dezembro de 2024, vamos reduzir os tipos de eventos de webhook. Mais informações aqui.

info

Os webhooks são especialmente úteis para implementar corretamente nossa API, já que o tempo necessário para extrair os dados varia por plataforma, entre 10 e 180 segundos.

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

Por exemplo, ao receber o evento login.success, significa que os dados de emprego estão disponíveis, e você pode disparar uma solicitação GET para o endpoint /accounts/:account_id/employment a partir do seu backend.

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": {
"webhook_id": "some string",
"account_id": "some string",
"external_id": [
"string",
"null"
],
"platform": "some string",
"user_id": "some string",
"status_details":"some string",
"webhook_action": "some string"
},
"webhook_url": "uri"
}

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": {
"webhook_id": "f393ce50-d8db-43a1-83da-a2d45b5dee50",
"account_id": "6fdf1c40-503b-11ef-88d3-6d05baf28f03",
"external_id": "1234567890",
"platform": "imss",
"user_id": "829462f0-503b-11ef-88d3-6d05baf28f03",
"status_details":"service_degradation",
"webhook_action": "login.error"
},
"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. | Evento | Descrição | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | login.created | 1. Indica que um login foi criado.

2. Deve ser acionado assim que um registro for criado na tabela 'logins'. | | login.error | 1. Indica que o status de um login foi atualizado para error. Este é um status final.

2. Deve ser acionado assim que o status do login na tabela 'logins' for atualizado para 'error'. | | login.incomplete | 1. Indica que o status de um login foi atualizado para incomplete. Este é um status final.

2. Deve ser acionado assim que o status do login na tabela 'logins' for atualizado para 'incomplete'. | | login.success | 1. Para plataformas de emprego, indica que um registro foi criado na tabela employment para uma conta específica.
- Deve ser acionado assim que um registro for criado na tabela employment.

2. Para plataformas de trabalho temporário, indica que um registro foi criado na tabela earnings para uma conta específica.
- Deve ser acionado assim que um registro for criado na tabela earnings. |

Re-tentativas

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

Exemplos de Eventos:

login.created

{
"data": {
"webhook_id": "f393ce50-d8db-43a1-83da-a2d45b5dee50",
"account_id": "6fdf1c40-503b-11ef-88d3-6d05baf28f03",
"external_id": "1234567890",
"platform": "imss",
"user_id": "829462f0-503b-11ef-88d3-6d05baf28f03",
"status_details":null,
"webhook_action": "login.created"
},
"webhook_url": "https://my_site.com/palenca_webhook"
}

login.incomplete

{
"data": {
"webhook_id": "f393ce50-d8db-43a1-83da-a2d45b5dee50",
"account_id": "6fdf1c40-503b-11ef-88d3-6d05baf28f03",
"external_id": "1234567890",
"platform": "imss",
"user_id": "829462f0-503b-11ef-88d3-6d05baf28f03",
"status_details":"curp_has_inconsistencies",
"webhook_action": "login.incomplete"
},
"webhook_url": "https://my_site.com/palenca_webhook"
}

login.error

{
"data": {
"webhook_id": "f393ce50-d8db-43a1-83da-a2d45b5dee50",
"account_id": "6fdf1c40-503b-11ef-88d3-6d05baf28f03",
"external_id": "1234567890",
"platform": "imss",
"user_id": "829462f0-503b-11ef-88d3-6d05baf28f03",
"status_details":"service_degradation",
"webhook_action": "login.error"
},
"webhook_url": "https://my_site.com/palenca_webhook"
}

login.success

{
"data": {
"webhook_id": "f393ce50-d8db-43a1-83da-a2d45b5dee50",
"account_id": "6fdf1c40-503b-11ef-88d3-6d05baf28f03",
"external_id": "1234567890",
"platform": "imss",
"user_id": "829462f0-503b-11ef-88d3-6d05baf28f03",
"status_details":null
"webhook_action": "login.success"
},
"webhook_url": "https://my_site.com/palenca_webhook"
}

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.

User

  • user.created
  • user.deleted

Account

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

Profile

  • profile.created
  • profile.updated

Login

  • login.retry
  • login.failed_refresh

Employment

  • employment.created
  • employment.updated

Gig

  • earnings.created
  • earnings.updated
  • events.created