Páginas filhas
  • Guia de implementacao das APIs TOTVS

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Exemplo de URLs amigáveis:

Descrever plural para entidades

 Colocar exemplo de filtro e expansiveis

 Evitar url com mais de 3 PATH param para não dificultar leitura

https://fluig.totvs.com/api/users/{id}

https://fluig.totvs.com/api/workflowworkflows/{id}?action=execute

https://fluig.totvs.com/api/workflows/{id}/send

https://fluig.totvs.com/api/users/{alias}/communities 

https://fluig.totvs.com/api/communities/{id}/users

https://fluig.totvs.com/api/users/{alias}?expand=prop1.subprop,prop2


Exemplo de URLS NÃOamigaveis e que deve ser evitadas:

...

https://fluig.totvs.com/api/document/permissions?documentId={id}

No caso em que não existe um verbo adequado pode ser usado a "ação" na url. Desenha pra pessoas.

 

 

Apesar de o padrão definido no documento RFC 7230 da especificação do HTTP 1.1 não definir um tamanho maximo para a url nenhum endpoint do fluig deve ser identificado com uma url maior que 2000 caracteres para garantir que todos os navegares modernos sejam suportados

...

MétodoDescriçãoIdempotente
GETRetorna o valor corrente do objeto.Sim
PUTSobrescreve o objeto ou cria um novo objeto quando aplicável.Sim
DELETEExclui o objeto.Sim
POSTCria um novo objeto ou submete um comando ao objeto.Não
HEADRetorna os metadados de um objeto em da requisição em casos em que o cliente não precisa do corpo das requisições do tipo GET. Endpoints que suportam o método GET PODEM suportar o método HEADER.Sim
PATCHAplica uma atualização parcial no objeto.Não
OPTIONSRetorna informações sobre uma requisiçãosobre um endpoint e sobre as operações suportadas por ele; ver abaixo para mais detalhes.Sim

Post

Descrever as situações de 200 201 202

Operações do tipo POST assíncronas DEVEM retornar a localização de qualquer objeto criado que tenha um identificador.

...

Bloco de código
languagetext
201202 CreatedAccepted
Location: https://fluig.totvs.com/api/users/10

...

HeaderTipoDescrição
AuthorizationliteralCabeçalho usado para autorização das requisições
DatedataData e hora da requisição com base no calendário do cliente no formato estipulado em RFC 5322
Acceptenumerador de tipo de conteúdo

O tipo de conteúdo esperado para a resposta como por exemplo:

  • application/xml
  • text/xml
  • application/json
  • text/javascript

 

De acordo com os padrões HTTP, este valor é apenas uma dica para o servidor e as respostas PODEM retornar valores em formatos diferentes dos informados.

Accept-EncodingGzip, deflateEndpoints DEVEM suportar codificação GZIP e DEFLATE quando aplicávelpor padrão exceto em casos em que isso implique na performance.
Accept-Language"en", "es", "pt"Especifica o idio idioma preferencial da resposta. Endpoints DEVEM suportar e respeitar estes valores em casos em que uma mensagem é retornada ao usuário. Caso o idioma informado não seja suportado deve retornar no idioma padrão (pt).
Content-Typetipo de conteúdoTipo do conteúdo informado na requisiçãosendo passado na requisição. O endpoint DEVE respeitar esta informação na hora de interpretar a informação passada pelo cliente ou retornar um erro apropriado caso o valor não for suportado.
   

 

Mensagens

Durante a construção das mensagens que serão transmitidas entre o cliente e endpoint deve-se garantir a consistência entre nomes de propriedades e objetos quando os mesmo fizerem parte de um mesmo grupo ou assunto.

...