Versões comparadas

Chave

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

...

  • /transactions: para receber mensagens através do engine de EAI.
  • /contents: para receber e recuperar mensagens de forma direta, sem passar pelo engine do EAI. Usado quando apenas o conteúdo trafegado é relevante.

Âncora
transactions
transactions
Endpoint /transactions

Submeter mensagens em lote

...

Bloco de código
languagejs
DELETE /totvseai/standardmessage/v1/transactions

{
    "items" : [
        {
            "header" : {
                "UUID" : "",
                "type" : "BusinessMessage",
                "subType" : "event",
                "transaction" : "customerVendor",
                "version" : "2.001",
                "sourceApplication": "",
                "productName" : "",
                "productVersion" : "",
                "generatedOn" : "",
                "deliveryType" : "async",
            },
            "content" : {
                "atributo1" : "",
                "atributo2" : "",
                ...
                "atributoN" : ""
            }
        },
        {
            "header" : {
                "UUID" : "",
                "type" : "BusinessMessage",
                "subType" : "event",
                "transaction" : "customerVendor",
                "version" : "2.001",
                "sourceApplication": "",
                "productName" : "",
                "productVersion" : "",
                "generatedOn" : "",
                "deliveryType" : "async",
            },
            "content" : {
                "atributo1" : "",
                "atributo2" : "",
                ...
                "atributoN" : ""
            }
        }
    ]
}


Âncora
contents
contents
Endpoint /contents

...

Recuperar um lote de mensagens

...


Informações
O termo entidade está sendo usado no lugar de mensagem, porque neste endpoint não haverá os controles que são feitos no endpoint /transactions. Uma mensagem implica em um remetente, um destinatário e um conteúdo. Neste caso, temos explicito apenas o conteúdo, correspondente a uma entidade no destino, que é identificada pelo seu internalID.

Recuperar um lote de entidades

GET /totvseai/standardmessage/v1/contents/{transactionID_version}?
page={page}&
pageSize={pageSize}&
order={orderList}&
fields={fieldList}&
{field1}={value1}&{field2}={value2}&{fieldN}={valueN}

Onde:

  • page:
  • pageSize:
  • order:
  • fields:
  • field1...fieldN:
  • transactionID_version: indica a transação e versão para a qual se quer recuperar os itens. Parâmetro obrigatório.
  • page: Indica a página a recuperar. Valor padrão: 1.
  • pageSize: Indica a quantidade de itens por página: Valor padrão: 10.
  • order: Contém a lista de campos, separados por vírgula, que devem ser considerados para ordenar a lista de itens. Quando a ordenação for decrescente, o sinal "-" deve preceder o nome do campo. Valor padrão: ordenação definida pelo backend.
    Ex: order=-description,code.
  • fields: Contem a lista de campos, separados por vírgula, que deve constar no retorno. Valor padrão: todos os campos.
    Ex: field=code,description.
  • field1...fieldN: Indica o filtro que deve ser aplicado para selecionar os itens do retorno. Valor padrão: sem filtro.
    Ex: code=10&description=Teste.


Bloco de código
languagejs
GET /totvseai/standardmessage/v1/contents/customervendor_1_000

{
    "hasNext" :  "true",
    "items" : 
Bloco de código
languagejs
GET /totvseai/standardmessage/v1/contents/customervendor_1_000

{
    "hasNext" :  "true",
    "items" : [
        {
            "atributo1" : "",
            "atributo2" : ""
        },
        {
            "atributo1" : "",
            "atributo2" : ""
        }
    ]
}

Recuperar uma entidade

O termo entidade está sendo usado no lugar de mensagem, porque neste endpoint (e nos demais) não haverá os controles que são feitos no endpoint /transactions. Uma mensagem implica em um remetente, um destinatário e um conteúdo. Neste caso, temos explicito apenas o conteúdo, correspondente a uma entidade no destino, que é identificada pelo internalID.

Importante: ao utilizar InternalID (da maneira convencional) estamos assumindo a existência de um de-para.

Para transações que são do tipo request, que necessitem de dados adicionais, os mesmos serão fornecidos como filtros na requisição, seguindo as orientações do Guia de APIs da TOTVS. (colocar esta observação no inicio do documento).

GET /totvseai/standardmessage/v1/contents/{transactionID_version}/{internalID}?
fields={fieldList}&
{field1}={value1}&{fieldN}={valueN}

Onde:

  • transactionID_version: parâmetro obrigatório, que identifica a transação e versão da entidade desejada.
  • internalID: parâmetro obrigatório contendo o internalID da entidade desejada.
  • fields: parâmetro opcional, contendo a lista de campos que devem constar no retorno. Valor padrão: todos os campos.
  • field1...fieldN: conjunto de parâmetros opcionais, necessários para transações do tipo request. Os parâmetros podem variar conforme a transação e versão.
     
Bloco de código
languagejs
// Todas as possibilidades de filtro e ordenação do Guia são aplicáveis.
GET /totvseai/standardmessage/v1/contents/customervendor_1_000/{internalID}10|30

{
    "atributo1" : "valor1",
    "atributo2" : "valor2"
}

Submeter uma entidade

Para transações do tipo event, representa a criação de um registro.

Para transações do tipo request, representa a execução de um processamento.

...

Bloco de código
languagejs
DELETE /totvseai/standardmessage/v1/contents/customervendor_1_000/{internalID}

//Não necessita de corpo

...

A eliminação de um lote de entidades

...

Não não é possível, pois necessita necessitaria dos internalIds, que por sua vez, deveriam constar no corpo da mensagem.