# Integração com a API do Websystems

# 1º passo: Adquirir um token de acesso

Para obter o token JWT é necessário realizar uma requisição no serviço de autenticação:


# Endpoint:

https://apievolution.escriba.com.br/oauth/

Operação: POST

Parametro Valor
Username publico
Tenant Código do Tenant
Password publico

Adicionar ao Header o valor fixo:

Authorization: Basic RUlub3ZhLXB1YmxpYzoxNTY3NjI5YjY3Y2U0OTA4YTk1ODRmNTcxYjYzOWExZA==

# Exemplo:

Supondo que os dados de acesso sejam:

Tenant: 57

A requisição será feita dessa forma:

curl --request POST \ 
  --url 'https://apievolution.escriba.com.br/oauth/token?username=publico&grant_type=password&tenant=57&password=publico&=' \ 
  --header 'Authorization: Basic RUlub3ZhLXB1YmxpYzoxNTY3NjI5YjY3Y2U0OTA4YTk1ODRmNTcxYjYzOWExZA==' \ 

Retorno: Um JSON contendo o Access Token JWT que deverá ser utilizado nas requisições de consulta.

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "bearer",
  "refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expires_in": 1799,
  "scope": "trust read write",
  "user_tenant": "57",
  "user_id": 2,
  "user_name": "publico",
  "user_autorizacaoID": 2,
  "user_fimLiberacao": null,
  "user_ibge": 4106902,
  "jti": "9965ascds-b76e-4991-8854-0149be2044bd"
}

Atenção

O token tem expiração de 30 minutos. Após a expiração é necessário solicitar um novo token através da URL anterior.

# 2º passo: Localize a URI de consulta e seus parâmetros na API do WebSystems

Navegue para a sessão Api de Integração. Lá você encontrará as URIs de consultas disponíveis para execução.

O endereço da API + seus parâmetros serão utilizados em conjunto nas pesquisas.


# Exemplo:

Caso você queira realizar uma chamada na api de Consulta de Protocolos de Registro pelo número do protocolo:

  • No swagger, localize e clique na opção Pesquisas relacionadas a protocolos de registro.

  • Você irá encontrar a API: /v1/register/protocolos-registro/numero-protocolo-completo. Anote o endereço dela e observe também que ela necessita do parâmetro "protocolo".

# 3º passo: Faça uma requisição de consulta na API

Agora vamos juntar tudo para que você realize a consulta dos dados da API selecionada.

Todas as consultas são feitas através de um único endereço por onde deve ser enviado como parâmetro a API que deseja consultar + os parâmetros de consulta que ela necessita.


# Endpoint

https://apievolution.escriba.com.br/e-websystems-router/v1/consultar/

Operação: GET

Parametro Valor
URI URL que você encontrou no passo 2
Nome do parâmetro 1 Valor do parâmetro 1
Nome do parâmetro 2 Valor do parâmetro 2
... ...

Deve conter no Header:

Authorization: Basic <TOKEN_JWT>

# Exemplo:

Utilizando os dados do nosso exemplo do passo 2:

URI: /v1/register/protocolos-registro/numero-protocolo-completo

Parâmetros: protocolo=12345

A requisição será feita dessa forma:

curl --request GET \
  --url 'https://apievolution.escriba.com.br/e-websystems-router/v1/consultar?uri=%2Fv1%2Fregister%2Fprotocolos-registro%2Fnumero-protocolo-completo&protocolo=12345' \
  --header 'authorization: Bearer <token_jwt>'

Retorno:

Um JSON conforme especificação na documentação do endpoint escolhido:

{
  "aguardaReingresso": true,
  "apresentante": "Nome Sobrenome",
  "dataInicial": "2020-12-25",
  "dataLimite": 15,
  "diasDesdeDataLimite": "2020-12-25",
  "disponibilidade": "Disponível",
  "etapa": "Em Análise",
  "etapaInternet": "Em Análise",
  "etapaWeb": "Em Análise",
  "exigencia": [
    {
      "dataEntregaEx": "2020-12-25",
      "dataExigencia": "2020-12-25",
      "numeroExigencia": 12345,
      "textoExigencia": "string"
    }
  ],
  "natureza": "Compra e Venda",
  "origem": "Nº Tabelionato de Notas de Porto Alegre",
  "outorgado": "Nome Sobrenome",
  "outorgante": "Nome Sobrenome",
  "prevEntrega": "2020-12-25",
  "protocolo": 12345,
  "protocoloDeRecepcao": 12345,
  "reingressar": true,
  "servicosRelacionados": [
    {
      "chave": "1552 - Matrícula",
      "descricao": "Averbação",
      "livro": 2
    }
  ],
  "solicitante": "Nome Sobrenome",
  "valorCustas": 36.33333
}