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.

...

  1. O cliente chamou um endpoint mas o servidor não pode responder por que estava sobrecarregado. Deve retornar o código 503 - Service Unavailable;
  2. O cliente chamou um endpoint para subir um documento mas não havia espaço em disco no servidor. Deve retornar o código 507 - Insufficiente Storage;

Mensagens de sucesso

Bloco de código
languagejs
{
}

 

Parâmetros expansíveis

Todos os endpoints DEVEM respeitar e suportar os campos expansíveis

...

. E DEVEM retornar os campos retraídos a menos que especificado na requisição atráves do parâmetro de url expand.

As entidades de retorne DEVEM obedecer as regras:

  • Todas as propriedades que representam listas ou objetos DEVEM vir retraídas por padrão.

Ao retornar uma entidade todas as suas propriedades que representam um objeto OU coleção DEVEM vir retraídas e a entidade DEVE conter um campo adicional com o nome _expandables. Esse campo é uma lista com o nome de cada uma das propriedades que podem ser passadas na url para que o endpoint inclua na responta.

Por exemplo, a entidade usuário possui propriedades que apontam para suas permissões, comunidades e detalhes e portanto estas dem estar retraídas:

 

Bloco de código
languagejs
POST https://fluig.totvs.com/api/users/10

{
  _expandables: ["permissions", "communities", "detailedInformation"],
  id: 10,
  name: "Usuário",
  age: 25,
  permissions: [],
  communities: [],
  detailedInformation: {},
  ...
}

Caso o cliente queira expandir as propriedades ele DEVE então fazer uma requisição informando o parâmetro expand e passando como valor uma lista separada por , (virgula) dos campos exatamente como descritos no campo _expandables. Ex:

 

Bloco de código
languagejs
POST https://fluig.totvs.com/api/users/10?expand=communities

{
  _expandables: ["permissions", "detailedInformation"],
  id: 10,
  name: "Usuário",
  age: 25,
  permissions: [],
  communities: [{
    name: "Vendas",
    photoUrl: "https://fluig.totvs.com/communities/1/photo"
  }, {
    name: "Outra comunidade",
    photoUrl: "https://fluig.totvs.com/communities/2/photo"  
  }],
  detailedInformation: {},
  ...
}

 

  • Suporte a propriedades aninhadas

...