Versões comparadas

Chave

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

...

A entidade CarolConnector representa quais connectors (da TOTVS Carol), que o usuário possui no ambiente, e os seus connector tokens. Na TOTVS Carol é possível gerar um connector token para cada connector, e são utilizados para enviar como identificação do usuário para autorização nas requisições das APIs.Atenção

ATENÇÃO!

O connector token é diferente do token gerado na entidade Client Environment. O connector token é gerado na TOTVS Carol para um connector e é utilizado na identificação do usuário na TOTVS Carol para o mesmo connector. Diferentes connectors possuem diferentes connectorToken para o mesmo usuário. E o token da entidade Client Environment é utilizado para identificação no TOTVS Connector.

...

Informações
titleEstrutura de exmeplo da entidade CarolConnector
{
  "connectorId": "1257404c3f7c7a1547c00f0c833e357b",
  "connectorToken": "aa3ee9f21fc09602580e0357125e0d02"
}

Carol Staging Table

...

A entidade CarolStagingTable representa uma StagingTable na TOTVS Carol.

ATENÇÃO!

A entidade CarolStagingTable possui dois atributos similares, que representam abstrações diferentes: name e stagingTableName. A diferenciação de cada atributo será explicado a seguir.

Atributos

  • O atributo stagingTableName representa exatamente o nome da StagingTable na TOTVS Carol. Por exemplo, se na TOTVS Carol contém uma StagingTable com o nome "fazenda", o atributo stagingTableName deverá ser, exatamente, "fazenda";

  • O atributo name representa um "apelido" para o TOTVS Connector Server diferenciar dos nomes das StagingTable. Por exemplo, na TOTVS Carol contém uma StagingTable chamada "inspecao" e no TOTVS Connector Server, contém duas CarolStagingTable que apontam para a StagingTable "inspecao" na TOTVS Carol. Para diferenciar as duas CarolStagingTable, utiliza-se o atributo name.

  • O atributo description representa uma descrição sobre a CarolStagingTable;

Mas por que pode conter duas CarolStagingTable no TOTVS Connector Server apontando para a mesma StagingTable na TOTVS Carol?

Pois podem conter duas ou mais formas de enviar dados para o TOTVS Connector Server. Por exemplo, dois produtos diferentes de um mesmo cliente enviando para a mesma StagingTable na TOTVS Carol.


Informações
titleEstrutura de exemplo da entidade CarolStagingTable
{
  "carolConnectorId": "b26a732f-d2fc-47c8-9e0d-545d6e3ef674",
  "stagingTableName": "fazenda",
  "description": "Exemplo de CarolStagingTable, que representa uma StagingTable na TOTVS Carol",
  "name": "apelido_para_fazenda"
}

IMPORTANTE!

Quando enviar uma mensagem para o TOTVS Connector Server, destinada à TOTVS Carol, a entidade EventDataCarolRequest deverá conter, exatamente, o valor do atributo name. Portanto, não deverá mandar o atributo stagingTableName na mensagem.

A entidade EventDataCarolRequest será explicada no tópico a seguir.

Envio de dados

Fluxo

Diagrama mostrando a mensagem saindo do produto e chegando na totvs carol: produto (interno e externo) → tc-server → totvs carol

Entidade EventDataCarolRequest

A entidade EventDataCarolRequest é utilizada para encapsular os dados para enviar ao TOTVS Connector Server.

Atributos

  • O atributo environmentToken é o token gerado na entidade Client Environment;

  • O atributo stagingTableName é exatamente o apelido (atributo name) cadastrada na entidade CarolStagingTable;

  • O atributo originApp é o nome do produto que está enviando os dados (produto de origem);

  • O atributo dataList é uma lista de objetos que será enviada para a StagingTable na TOTVS Carol, ou seja, os objetos são as próprias representações da StagingTable;


Informações
titleEstrutura de exemplo da entidade EventDataCarolRequest
{
  "environmentToken": "dac9b5163b31479bd9a2151b6f2fe2bbb3d48cf110911d36c062995994598c6e",
  "stagingTableName": "atributo_name_da_entidade_CarolStagingTable",
  "originApp": "app_de_origem",
  "dataList": [
    {}
  ]
}

Como enviar?

A seguir, são explicados os métodos de envio de dados para o TOTVS Connector Server, direcionados à TOTVS Carol.

IMPORTANTE!

Como os envios de dados são feitos de forma assíncrona, pode-se levar algum tempo até os dados serem processados e enviados.

Via Requisição HTTP

Para enviar os dados via requisição HTTP, utiliza-se o endpoint do TOTVS Connector Server: /v1/environment/carol/eventsDataCarol

No corpo da requisição, passa-se uma lista de EventDataCarolRequest. Após o envio de dados via HTTP, o TOTVS Connector Server irá validar as informações e direcionar para TOTVS Carol.


Via Mensageria

Para enviar os dados via mensageria para o TOTVS Connector Server, deve-se enviar a entidade TOTVSMessage<T>. A entidade TOTVSMessage é uma classe da biblioteca TJF, que encapsula a mensagem a ser enviada por mensageria.

O tipo genérico T é a entidade a ser encapsulada que, no nosso caso, será a EventDataCarolRequest. Portanto, para enviar uma mensagem para o TOTVS Connector Server, destinada à Carol, deverá mandar um objeto TOTVSMessage<EventDataCarolRequest>.

Atributos

  • O atributo header é a classe TOTVSHeader, também da biblioteca TJF, que será enviada no header da mensagem. 
    • O atributo type é o nome da StagingTable a ser enviada.
    • O atributo generatedOn é a data que está enviado os dados
    • O atributo locale é a localização utilizada no cliente.
  • O Atributo content é o tipo genérico T. No nosso caso, será a entidade EventDataCarolRequest.


Informações
titleEstrutura de exemplo da entidade TOTVSMessage
{
    "header": {
        "type": "atributo_name_da_entidade_CarolStagingTable", "generatedOn": "2000-01-01T00:00:00.000000Z", "locale": "pt_BR" }, "content": {} }


Estrutura Final TOTVSMessage<EventDataCarolRequest>


Informações
titleExemplo da estrutura final de envio via mensageria
{
    "header": {
        "type": "atributo_name_da_entidade_CarolStagingTable", "generatedOn": "2000-01-01T00:00:00.000000Z", "locale": "pt_BR" }, "content"{
        "environmentToken": "dac9b5163b31479bd9a2151b6f2fe2bbb3d48cf110911d36c062995994598c6e",
        "stagingTableName": "atributo_name_da_entidade_CarolStagingTable",
        "originApp": "app_de_origem",
        "dataList": [
           {}
        ]
    }
}

Event Data Carol

Mensagens

Fluxo

Estrutura das mensagens

...

04. Observações

Tempo de processamento das mensagens

...