Webhooks (Deprecated)
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.
Implementação
Para registrar um webhook em palência, você deve ser seguido:
Vou ao "Developers" Seção com o console;
Abra o "Webhooks" Aba;
Clique em "Create Webhook";
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);
Clique em "Confirm".
Compartilhe o **link do widget para testar conexões ou fazer conexões IMSS e ISSTE.
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.
Evento | Categoria | Descrição |
---|---|---|
user.created | User | Um usuário foi criado com sucesso. |
user.deleted | User | Um usuário foi deletado com sucesso. |
profile.updated | Profile | O perfil da conta no perfil foi criado optado e pode ser visualizado por meio de nossa API. |
earnings.updated | Earnings | O Inforto dos ganhos da conta foi criado optado e pode ser visto por meio de nossa API. |
events.updated | Events | O Inforto do Evento da Conta foi criado optado e pode ser visto através de nossa API. |
employment.updated | Employment | Inforto de emprego da conta foi criado optado e pode ser visto através de nossa API. |
login.created | Login | O usuário iniciou o processo de autenticação em uma conta. |
login.success | Login | O usuário fez login com sucesso em suas contas e o processo de extração de dados foi iniciado. Ple |
login.error | Login | O usuário não se conecta com sucesso à sua conta. Entre em contato com nossa equipe de suporte. |
login.incomplete | Login | O 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:
Chave | Definição |
---|---|
complete | Todo o histórico de emprego de um trabalhador foi extraído. Este valor será enviado somente para cenários IMSS |
null | Ainda 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 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.
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