Mudanças entre as edições de "Manuais:ERP.Net/API"

De unimake
Ir para: navegação, pesquisa
(Adicionado __NOTITLE__)
 
(5 revisões intermediárias por um outro usuário não estão sendo mostradas)
Linha 1: Linha 1:
 +
__NOTITLE__
 
__FORCETOC__
 
__FORCETOC__
  
Linha 9: Linha 10:
 
* Desenvolver em linguagem de programação que permita acesso à WebAPI;
 
* Desenvolver em linguagem de programação que permita acesso à WebAPI;
 
* Estar familiarizado com a comunicação utilizando métodos [https://pt.wikipedia.org/wiki/REST REST API];
 
* Estar familiarizado com a comunicação utilizando métodos [https://pt.wikipedia.org/wiki/REST REST API];
 +
* Estar familiarizado com a autenticação via COOKIE;
 
* Conhecer a sintaxe [https://pt.wikipedia.org/wiki/JSON JSON], pois todo o envio de dados e retorno é feito utilizando-se [https://pt.wikipedia.org/wiki/JSON JSON]
 
* Conhecer a sintaxe [https://pt.wikipedia.org/wiki/JSON JSON], pois todo o envio de dados e retorno é feito utilizando-se [https://pt.wikipedia.org/wiki/JSON JSON]
  
Linha 22: Linha 24:
 
'''Exemplo'''
 
'''Exemplo'''
  
<table style="border: 1px solid black;border-collapse: collapse;">
+
<div class="center">
 +
<table style="border: 1px solid black;border-collapse: collapse;width: 800px;">
 
<tr style="border: 1px solid black;">
 
<tr style="border: 1px solid black;">
 
<td style="text-align: center;padding: 7px;border: 1px solid black;">Endpoint</td>
 
<td style="text-align: center;padding: 7px;border: 1px solid black;">Endpoint</td>
<td style="border: 1px solid black;">Endereço completo do endpoint</td>
+
<td style="text-align: left;border: 1px solid black;">Endereço completo do endpoint</td>
 
</tr>
 
</tr>
 
<tr style="border: 1px solid black;">
 
<tr style="border: 1px solid black;">
 
<td style="text-align: center;padding: 7px;border: 1px solid black;">Método</td>
 
<td style="text-align: center;padding: 7px;border: 1px solid black;">Método</td>
<td style="border: 1px solid black;">Definição do método que deverá ser utilizado:  
+
<td style="text-align: left;border: 1px solid black;">Definição do método que deverá ser utilizado:  
 
:GET
 
:GET
 
:POST
 
:POST
Linha 36: Linha 39:
 
</tr>
 
</tr>
 
<tr style="border: 1px solid black;">
 
<tr style="border: 1px solid black;">
<td style="text-align: center;padding: 7px;border: 1px solid black;">Body<br/>(JSON)</td>
+
<td style="text-align: center;padding: 7px;border: 1px solid black;">Tipo de Requsição*</td>
<td style="border: 1px solid black;"><pre>
+
<td style="text-align: left;border: 1px solid black;"><pre>
 
{
 
{
 
     JSON válido para realizar a requisição. Cada endpoint requer um json diferente para ser consumido.
 
     JSON válido para realizar a requisição. Cada endpoint requer um json diferente para ser consumido.
 
}
 
}
</pre></td>
+
</pre>
 +
ou
 +
 
 +
QueryString pelo endpoint da requisção no formato ''&Nome=Valor''
 +
</td>
 
</tr>
 
</tr>
 
<tr style="border: 1px solid black;">
 
<tr style="border: 1px solid black;">
<td style="text-align: center;padding: 7px;border: 1px solid black;">Retorno<br/>(Tipo de Retorno)</td>
+
<td style="text-align: center;padding: 7px;border: 1px solid black;">Retorno<br/>(Tipo de Retorno**)</td>
<td style="border: 1px solid black;"><pre>{
+
<td style="text-align: left;border: 1px solid black;"><pre>{
 
     "Data": "Pode possuir algum resultado em JSON",
 
     "Data": "Pode possuir algum resultado em JSON",
 
     "Message": "",
 
     "Message": "",
Linha 53: Linha 60:
 
</tr>
 
</tr>
 
</table>
 
</table>
 +
</div>
 +
 +
* O Tipo de Requsição pode ser:
 +
 +
* Body JSON
 +
** Deverá ser informado o JSON de acordo com a documentação do método em questão;
 +
* QueryString
 +
** Deverá ser informado no endpoint da API, como parâmetros da requisição, no formato ''&Nome=Valor''.
  
Os tipos de retorno podem ser:
+
Em alguns casos raros poderá haver a combinação de ambos os tipos de requisição.
 +
 
 +
** Os tipos de retorno podem ser:
  
 
* COOKIE
 
* COOKIE
Linha 60: Linha 77:
 
* DATA
 
* DATA
 
** Indica que o retorno deverá ser lido, no formato JSON, na propriedade DATA do objeto de resposta da requisição.
 
** Indica que o retorno deverá ser lido, no formato JSON, na propriedade DATA do objeto de resposta da requisição.
+
 
 +
==Versionamento da API==
 +
 
 +
As APIs do ERP.Net são controlados por versões.
 +
A versão oficial é a v1.0, sempre que for realizar alguma ação a versão deverá ser informada.
 +
Desta forma é possível manter a compatibilidade entre as aplicações que utilizam as APIs do ERP.
 +
 
 +
<div class="center">
 +
<table style="border: 1px solid black;border-collapse: collapse;width: 800px;">
 +
<tr style="border: 1px solid black;">
 +
<td style="text-align: center;padding: 7px;border: 1px solid black;">v1.0</td>
 +
<td style="text-align: left;border: 1px solid black;">https://erpnet.online/api/v1.0/(ação).<br/>
 +
 
 +
Esta versão é a primeira versão do aplicativo. Podemos realizar alterações na aplicação, que se não forem de grande impacto não sofrerá incremento no número da versão.
 +
 
 +
Caso haja alterações que possam comprometer a compatibilidade entre os aplicativos, a versão será incrementada.</td>
 +
</tr>
 +
</table>
 +
</div>
 +
 
 
==Requisições da API==
 
==Requisições da API==
  

Edição atual tal como às 14h07min de 17 de fevereiro de 2022


Documentação sobre as APIs do ERP.Net

Conhecimentos necessários para a utilização das APIs do ERP.Net

A integração deverá ser realizada por uma pessoa que possua os seguintes conhecimentos:

  • Desenvolver em linguagem de programação que permita acesso à WebAPI;
  • Estar familiarizado com a comunicação utilizando métodos REST API;
  • Estar familiarizado com a autenticação via COOKIE;
  • Conhecer a sintaxe JSON, pois todo o envio de dados e retorno é feito utilizando-se JSON

Dicas

  • Em todo retorno recebido da API, verifique sempre as propriedades Success e StatusCode.
    • A propriedade Success sempre irá retornar true se a requisição foi aceita pelo servidor e realizada com sucesso. Caso seja false, verifique a mensagem de erro em Message ou o StatusCode.

Sobre as requisições

No início da explicação de cada requisição, são informados os parâmetros de entrada e saída de cada endpoint utilizado, bem como o método REST que deverá ser utilizado.

Exemplo

Endpoint Endereço completo do endpoint
Método Definição do método que deverá ser utilizado:
GET
POST
PUT
DELETE
Tipo de Requsição*
{
    JSON válido para realizar a requisição. Cada endpoint requer um json diferente para ser consumido.
}

ou

QueryString pelo endpoint da requisção no formato &Nome=Valor
Retorno
(Tipo de Retorno**)
{
    "Data": "Pode possuir algum resultado em JSON",
    "Message": "",
    "Success": true,
    "StatusCode": 200
}
* O Tipo de Requsição pode ser:
  • Body JSON
    • Deverá ser informado o JSON de acordo com a documentação do método em questão;
  • QueryString
    • Deverá ser informado no endpoint da API, como parâmetros da requisição, no formato &Nome=Valor.

Em alguns casos raros poderá haver a combinação de ambos os tipos de requisição.

** Os tipos de retorno podem ser:
  • COOKIE
    • Define que o retorno deverá ser lido nos cookies de resposta. Até o momento, é utilizado apenas para realizar login na API.
  • DATA
    • Indica que o retorno deverá ser lido, no formato JSON, na propriedade DATA do objeto de resposta da requisição.

Versionamento da API

As APIs do ERP.Net são controlados por versões. A versão oficial é a v1.0, sempre que for realizar alguma ação a versão deverá ser informada. Desta forma é possível manter a compatibilidade entre as aplicações que utilizam as APIs do ERP.

v1.0 https://erpnet.online/api/v1.0/(ação).

Esta versão é a primeira versão do aplicativo. Podemos realizar alterações na aplicação, que se não forem de grande impacto não sofrerá incremento no número da versão.

Caso haja alterações que possam comprometer a compatibilidade entre os aplicativos, a versão será incrementada.

Requisições da API

Antes de realizar qualquer requisição às APIs do ERP.Net, é necessário realizar o login na API para que não seja lançado o erro 401 (Unauthorized)

Autenticando na API

Descreve como deverá ser realizado o login na API.

EBoleto

Sistema emissor de boleto eletrônico.

Bancos homologados:
  • Sicredi