Application Programming Interface - API APPDO

Esta API implementa serviços de integração com o modelo de dados dos sistemas da APPDO.

Segurança

Nas APIs da APPDO utilizamos:

OAuth 2.0

Nossas APIs utilizam o padrão de autorização OAuth, que é especificado na RTC 6749.

HTTPS

Utilizamos uma conexão HTTPS (Hyper Text Transfer Protocol Secure), em todas as nossas APIS.


Requisição do Token

Nas APIs da APPDO utilizamos para aplicações obterem um access_token no contexto de software os seguintes pré-requsitos.


O Content-Type "application/json" deve ser usado no cabeçalho da requisição.

O Authorization "Basic Base64{client_id;client_secret}" é obrigatório no cabeçalho da requisição.

O grant_type e scopes devem ser informados no corpo da requsição no formato JSON conforme exemplo abaixo.
{
"grant_type": "client_credentials",
"scopes": [
{"name": "cobranca.parceiro"}
]
}


Dúvidas gerais


O que é "encoding"? Como efetuar o encoding BASE64 em determinado parâmetro ou expressão?

"Encoding" é um termo que se refere à codificação de determinado termo, parâmetro, expressão. Alterar um parâmetro para a Base64 ou fazer a sua codificação/conversão para essa base, significa "traduzir" este mesmo parâmetro para a base citada. Exemplo: o número 2 em base decimal, se convertido para a base binária, torna-se 10. Da mesma forma, a expressão "olá mundo" convertida para a base64, se torna "b2zDoSBtdW5kbw==". Caso necessite realizar um encoding de algum para uma determinada base, e a sua plataforma de programação não tenha suporte a essa função, a mesma pode ser facilmente pesquisada e encontrada no Google. As respostas das APIS da APPDO são fornecidas em encoding UTF-8.


Onde localizar o (scope) para requisição do token?

Os scopes para requisição do token estão relacionados no Documento de Especificação da API (swagger) ou fornecido pela APPDO na liberação das "Credenciais".


Tenho mais de um escopo (scope) em meu Documento de Especificação da API. Como preencher/indicar todos eles na chamada do token?

Os scopes poderão ser indicados todos juntos, na mesma estrutura JSON conforme exemplo a seguir.

{
"grant_type": "client_credentials",
"scopes": [
{"name": "scope1"},
{"name": "scope2"},
{"name": "scope3"}
]
}