Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Ajuste no exemplo de modelo OpenApi

...

  • Emissor/Receptor: correspondem aos aplicativos (ERPs) dos quais se origina (emissor) e para os quais se destina (receptor) a mensagem.
  • Mensagem: corresponde ao conteúdo que trafega entre o emissor e o receptor. Na nova proposta, a mensagem estará no formato JSON, trafegando sobre o padrão HTTP/REST.
  • Interface: correspondem aos endpoints que permitem o envio e recebimento das mensagens. Enquanto na implementação original, os endpoints são disponibilizados como Web Services SOAP, os endpoints da nova proposta serão disponibilizados como APIs REST, construídos conforme o Guia de Implementação de APIs TOTVS.

Graficamente, a estrutura pode ser descrita conforme abaixo:

...

No endpoint, v1 corresponde à versão do padrão de mensagem, que pode evoluir. A versão será alterada, quando necessário, conforme o Guia de Implementação de APIs.

Em resource, pode-se informar as seguintes opções:

...

Bloco de código
languagejs
{
  "openapi": "3.0.0",
  "info": {
    "description": "Centro de Custo",
    "version": "2.000",
    "title": "CostCenter",
    "contact": {
      "name": "T-Talk"
    }
  },
  "paths": {},
  "servers": [
    {
      "url": "http://api.totvs.com.br/"
    }
  ],
  "components": {
    "schemas": {
      "CostCenter": {
        "type": "object",
        "required": [
          "Code",
          "Name",
 "         "ShortCode"
        ],
        "properties": {
          "CompanyId": {
            "type": "string",
            "description": "Código da empresa",
            "maxLength": 3
          },
 "BranchId": {
         "BranchId": {
            "type": "string",
            "description": "Código da filial/estabelecimento/coligada"
          },
          "CompanyInternalId": {
            "type": "string",
            "description": "InternalId da empresa"
 },
          },
          "Code": {
            "type": "string",
            "description": "Código do centro de custo"
          },
          "InternalId": {
            "type": "string",
 "description": "InternalId do centro         "description": "InternalId do centro de custo"
          },
          "RegisterSituation": {
            "type": "string",
            "description": "Indica se o centro de custo está ativo ou não.",
            "enum": [
  "Active",
 "Inactive"
 ]
 },
 "Name": {
 "type": "string           "Active",
 "description": "Descrição do centro de custo",
 "maxLength": 100
 },
 "ShortCode": {
 "type": "string",
 "description": "RM: Código reduzido do centro de custo"
 },
 "SPED": {
 "type": "boolean",
 "description": "Define se o centro de custo será enviado para SPED"
 },
 "Class": {
              "Inactive"
            ]
          },
          "Name": {
            "type": "numberstring",
 "format": "int8",
            "description": "ClasseDescrição (Analíticodo ou Sintético)centro de custo",
            "enummaxLength": [100
 1,
 2
 ]
 }
 }
          },
          "ListOfInternalIdShortCode": {
            "type": "objectstring",
 "properties": {
 "ListOfInternalId": {
 "type            "description": "array",
 "itemsRM: Código reduzido do centro de custo"
          },
          "SPED": {
 "required": [
 "Destination",
 "Name",
 "Origin"
 ],
            "type": "objectboolean",
 "properties": {
 "Name": {
 "type        "description": "string"
 },
 "OriginDefine se o centro de custo será enviado para SPED"
          },
          "Class": {
            "type": "type": "string"
 },
 "Destination": {
 "type": "string"
 }
 }
 }
 }
 },
 "number",
            "format": "int8",
            "description": "Classe (Analítico ou Sintético)",
            "enum": [
              1,
              2
            ]
          }
        }
      },
      "ListOfInternalId": {
        "type": "object",
        "properties": {
          "ListOfInternalId": {
            "type": "array",
            "items": {
              "required": [
                "Destination",
                "Name",
                "Origin"
              ],
              "type": "object",
              "properties": {
                "Name": {
                  "type": "string"
                },
                "Origin": {
                  "type": "string"
                },
                "Destination": {
                  "type": "string"
                }
              }
            }
          }
        },
        "example": "{\n    \"ListOfInternalId\": [{\n        \"Name\": \"InternalId\",\n        \"Origin\": \"Valor1\",\n        \"Destination\": \"Valor2\"\n    }]\n}"
      }
    }
  }
}