Skip to main content

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`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"
}

CAMPODESCRIÇÃ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
calendarIntervalTipo de data de filtro das distribuições (year, month, day)year
yearAno da distribuiçãonull
monthMês da distribuiçãonull
dayDia da distribuiçãonull
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"
}
CAMPODESCRIÇÃO
urlUrl POST de disparo de notificação (obrigatório)
headersParâmetros para a url de disparo de notificação (opcional)
carteiraIdID 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