Distribuição
Webhook
Um webhook é uma requisição <span data-slate-string="true">HTTP</span>
enviada automaticamente quando um evento acontece. Isso permite que o próprio servidor notifique o cliente do evento em vez de o cliente perguntar repetidamente. No App de distribuição, webhooks são usados para notificar o cliente quando os mesmos recebem novas distribuições.
Para receber webhooks do App de distribuição é necessário disponibilizar um endpoint para receber os disparos, que são requisições <strong class="StyledLeaf___StyledSpan-sc-129cvv1-0 hSAwv slate-bold" data-slate-leaf="true"><span data-slate-string="true">POST</span></strong>
Todas requisições internas precisam ter a propriedade <strong class="StyledLeaf___StyledSpan-sc-129cvv1-0 hSAwv slate-bold" data-slate-leaf="true"><span data-slate-string="true">X-Oystr-Auth</span></strong>
no <strong class="StyledLeaf___StyledSpan-sc-129cvv1-0 hSAwv slate-bold" data-slate-leaf="true"><span data-slate-string="true">headers</span></strong>
, recebendo o token que pode ser adquirido nas configurações do painel do Console como chave de API.
Ao receber novas distribuições, os webhooks notificarão a url cadastrada com o seguinte corpo.
{
"webhookId": "id",
"entity": {
"type": "user",
"id": "id",
"username": "username"
},
"lastUpdateAt": null,
"lastViewedAt": null,
"endpoints": {
"result": "/webhook/:id/results",
"callback": "/webhook/:id/callback"
}
}
CAMPO | DESCRIÇÃO |
---|---|
webhookId | Id do webhook |
entity | Dados internos |
lastUpdateAt | Última notificação realizada |
lastViewedAt | Última visualização de novas distribuições |
endpoints | Endpoints de auxílio para visualização dos resultados |
Ajuda
Para ter acesso às rotas da integração, é possível fazer uma requisição <span data-slate-string="true">GET</span>
com final <span data-slate-string="true">/help</span>
GET: https://console4.oystr.com.br/api/v1/service/disthook/webhook/help
RESPOSTA
[
{
"method": "GET",
"endpoint": "/webhook/help",
"description": "Descrição de cada rota"
},
{
"method": "GET",
"endpoint": "/webhook/:id",
"description": "Informações do webhook"
},
{
"method": "POST",
"endpoint": "/webhook/:id/results",
"description": "Resultado do webhook e confirmação de visualização"
},
{
"method": "GET",
"endpoint": "/webhook/:id/callback",
"description": "Verificação do webhook"
},
{
"method": "GET",
"endpoint": "/webhook",
"description": "Busca de webhooks"
},
{
"method": "POST",
"endpoint": "/webhook",
"description": "Criação de webhook"
},
{
"method": "PUT",
"endpoint": "/webhook/:id",
"description": "Modificação de webhook"
},
{
"method": "DELETE",
"endpoint": "/webhook/:id",
"description": "Remoção de webhook"
}
]
Informações
GET: https://console4.oystr.com.br/api/v1/service/disthook/webhook/:id
Para ter acesso às informações de um webhook já cadastrado, é possível fazer uma requisição GET com final /:id. O retorno trará as seguintes informações:
{
"id": "id",
"carteiraId": null,
"userId": "id",
"needView": false,
"needNotify": false,
"lastStatusCode": null,
"lastResponse": null,
"lastUpdateAt": null,
"lastViewedAt": null,
"url": "url",
"headers": "{}",
"createdAt": "2024-01-04T19:06:40.870Z",
"updatedAt": "2024-01-04T19:06:40.870Z",
"deletedAt": null,
"entity": {
"type": "user",
"id": "id",
"username": "username"
}
}
CAMPO | DESCRIÇÃO |
---|---|
id | Id do webhook |
carteiraId | Id da carteira vinculada |
userId | Id do usuário vinculado |
needView | Booleano para a necessidade de visualização de novos dados |
needNotify | Booleano para a necessidade de notificação no endpoint definido |
lastStatusCode | Último statusCode da requisição de notificação feita |
lastResponse | Última resposta da requisição de notificação feita |
lastUpdateAt | Última notificação realizada |
lastViewedAt | Última visualização de novas distribuições |
url | Url `POST` de disparo de notificação |
headers | Parâmetros para a url de disparo de notificação |
createdAt | Data de criação do webhook |
updatedAt | Data de atualização do webhook |
deletedAt | Data de deleção do webhook |
entity | Dados internos |
Resultados (novas distribuições)
POST: https://console4.oystr.com.br/api/v1/service/disthook/webhook/:id/results
Para ter acesso às novas distribuições que foi notificado por um webhook, é possível fazer uma requisição <span data-slate-string="true">POST</span>
com final <span data-slate-string="true">/:id/results</span>
. Apenas serão mostradas distribuições recebidas após a última notificação, distribuições notificadas anteriormente e que não foram vistas não aparecerão. O retorno trará as seguintes informações:
{
"id": "id",
"dataDistribuicao": "2024-01-10T11:23:24-03:00",
"termo": "Lorem",
"tribunal": "LI",
"numeroProcesso": "0000000-00.0000.0.00.0000",
"tipoOcorrencia": "Lorem",
"reu": "Lorem Ipsum",
"autor": "Lorem Ipsum",
"forum": "LI-4",
"vara": "2ª Lorem Ipsum",
"cidade": "LOREM",
"uf": "LI",
"valorOcorrencia": "20000.000",
"advogadoautor": "Lorem Ipsum",
"publicacao": null,
"linkDocumentosIniciais": "https://loremipsum.com.br/lorem.pdf",
"processoEletronico": "0000000-00.0000.0.00.0000",
"tipoProcesso": "Lorem Ipsum",
"instancia": "1",
"assunto": "Lorem Ipsum",
"juiz": null,
"createdAt": "2024-01-11T13:35:21.420Z"
}
Sem o parâmetro all
passado via query, direto pela url, esse endpoint apenas retornará as distribuições novas. Passando o parâmetro citado, o endpoint passará a retornar todas as distribuições do usuário ou da carteira, dependendo do tipo de vínculo do webhook, dessa forma, é possível filtrar elas com os seguintes parâmetros, esses passados pelo body
.
{
"from": "0",
"size": "20",
"calendarInterval": "day",
"year": "2024",
"month": "1",
"day": "1"
}
CAMPO | DESCRIÇÃO | **Valor padrão** |
---|---|---|
from | Índice inicial de corte para retorno das distribuições (paginador) | 0 |
size | Índice final de corte para retorno das distribuições (paginador) | 20 |
calendarInterval | Tipo de data de filtro das distribuições (year, month, day) | year |
year | Ano da distribuição | null |
month | Mês da distribuição | null |
day | Dia da distribuição | null |
Verificação
GET: https://console4.oystr.com.br/api/v1/service/disthook/webhook/:id/callback
Para saber se há novas distribuições a serem visualizadas, é possível fazer uma requisição GET com final /:id/callback. O retorno trará a seguinte informação:
{
"needView": false
}
Busca
GET: https://console4.oystr.com.br/api/v1/service/disthook/webhook
Para buscar por webhooks já cadastrados na conta, é possível fazer uma requisição GET com final /.
Criação
POST: https://console4.oystr.com.br/api/v1/service/disthook/webhook
Para criar um webhook, é possível fazer uma requisição <span data-slate-string="true">POST</span>
com final <span data-slate-string="true">/</span>
. O <span data-slate-string="true">body</span>
terá o seguinte formato:
{
"url": "url",
"headers": {},
"carteiraId": "id"
}
CAMPO | DESCRIÇÃO |
---|---|
url | Url POST de disparo de notificação (obrigatório) |
headers | Parâmetros para a url de disparo de notificação (opcional) |
carteiraId | ID interno da carteira que deseja notificação |
Atualização
PUT: https://console4.oystr.com.br/api/v1/service/disthook/webhook/:id
Para atualizar um webhook, é possível fazer uma requisição PUT com final /:id. O body terá o seguinte formato:
{
"url": "url",
"headers": {}
}
Deleção
DELETE: https://console4.oystr.com.br/api/v1/service/disthook/webhook/:id
Para deletar um webhook, é possível fazer uma requisição DELETE
com final /:id
No Comments