Versões comparadas

Chave

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

...

<tópico informações comuns não existe>

(informação) Clique aqui para obter mais informações sobre integração via transactions (EAI)o modelo de integração Transactions


No caso de JSON simplificado para API, trabalhamos apenas com o conteúdo da propriedade "Content", desconsiderando o header.

...

Nota
titleReutilização do Modelo

É obrigatório que, ao utilizar as duas integrações os dois modelos de integração disponíveis, o conteúdo definido para retorno da API seja o mesmo que o "Content" do protocolo transactions.

Definição da Mensagem no modelo JsonSchema

Abaixo encontram-se as regras para definir uma mensagem padronizada.

  1. Seguir essa especificação do formato JsonSchema (draft 4 ou superior)

      ...

        1. Clique aqui para visualizar exemplos
      1. Seguir a definição de campos especificada
      2. Especificar propriedade X-Totvs

      ...

      1. de acordo com

      ...

      1. a documentação, incluindo quais ERPs implementam aquela mensagem e os campos relacionados. 
      2. Sempre que possível, utilizar padrões internacionaisPara saber se já existe uma mensagem de conta contábil, por exemplo, pesquise no Google usando "account xsd oasis repository".
        1. Mensagens criadas para atender uma exigência legal devem se ater estritamente ao que é definido pela legislação. Nestes casos, o nome da mensagem e dos campos podem ser em português, se a legislação exigir.

      Âncora
      xtotvs
      xtotvs
      X-TOTVS

      Cabeçalho (Info)

      Nesse tópico entraremos em maiores detalhes da propriedade x-totvs de dentro da info (cabeçalho). Caso queira entender sobre os outros campos da info do schema, visite nosso Guia de APIs e/ou verifique como a info foi descrita em outros schemas.

      O objetivo do x-totvs da info é especificar quais produtos Totvs implementaram uma determinada mensagem, O objetivo dessa propriedade é especificar quais produtos Totvs implementaram uma determinada mensagem, e trazer outras informações sobre a mesma.

      Bloco de código
      languagejs
      titleExemplo X-Totvs Info
      "info": {
      ...
      	"x-totvs": {
                  "messageDocumentation": {
                      "name": "StockTurnOver",
                      "description": "Baixa de estoque",
                      "segment": "Construção e Projetos"
                  },
                  "productInformation": [
                      {
                          "product": "RM",
                          "contact": "Bruno Barbosa de Souza",
                          "note": "GDP Inovação Const. e Proj.",
                          "adapter": "MovMovimentoData"
                      },
                      {
                          "product": "PROTHEUSProtheus",
                          "contact": "Eduardo de Souza",
                          "note": "GDP de Materiais",
                          "adapter": "MATI241"
                      },
                      {
                          "product": "PIMS",
                          "contact": "José Alberto da Silva",
                          "note": "",
                          "adapter": ""
                      }
                  ],
                  "transactionDefinition": {
                      "subType": "event",
                      "businessContentType": {
                          "$ref": "#/definitions/BusinessContentType",
                          "type": "object"
                      },
                      "returnContentType": {
                          "$ref": "#/definitions/ReturnContentType",
                          "type": "object"
                      }
                  }
              }
      }

      ...

      MessageDocumentation

      Contém nome, descrição e agrupador da mensagem (esse último definido através da propriedade segment)

      Campo Obrigatório

      Aviso

      O campo "segment" deve ser preenchido de forma coerente com o que já está em uso nos outros schemas e APIs de nossa base (sem ao menos diferenciação de case). Para isso, visite o API Reference e verifique como o segmento que você quer adicionar está escrito.


      (informação)
      (informação) Clique aqui para verificar os valores disponíveis para a propriedade segment

      Campo Obrigatório

      ...

      valores disponíveis para a propriedade segment

      ProductInformation

      • product: produto ao qual aquelas informações do "productInformation" se referem;
      • contact: contato do desenvolvedor do schema;
      • note: observações referente ao produto, como regras específicas;
      • adapter: adapter correspondente ao schema.

      Contém lista com nomes dos produtos em que essa mensagem foi implementada, qual o seu adapter correspondente e responsável.

      ...

      Bloco de código
      languagejs
      titleExemplo X-Totvs Propriedade
      Code": {
                          "type": "string",
                          "description": "Código do País",
                          "x-totvs": [
                              {
                                  "product": "Logix",
                                  "Fieldfield": "paises.cod_pais",
                                  "Requiredrequired": true,
                                  "Type": "Char",
                                  "length": "3",
      							"note": "some info...",
                                  "available": true,
                                  "canUpdate": false
                              },
                              {
                                  "product": "RMS",
                                  "Fieldfield": "AA1CPAIS.PAIS_COD",
                                  "Requiredrequired": true,
                                  "Type": "integer",
                                  "length": "6",
      							"note": "some info...",
                                  "available": true,
                                  "canUpdate": false
                              }
                          ]
                      },

      ...

      Produto a que se refere essa informação.

      Exemplo
      Exemplo

      product: “Protheus”

      ou

      product: “protheus”“RM”ou

      Aviso

      ...

      O campo "product" deve ser preenchido de forma coerente com o que já está em uso nos outros schemas de nossa base (sem ao menos diferenciação de case). Para isso, visite o API Reference e verifique como o produto que você quer adicionar está escrito.


      Campo Obrigatório

      Field

      A qual tabela.campo o campo da mensagem se refere.

      ...