Este tópico tem como objetivo esmiuçar o layout de Integração com o JDE, ou seja, especificar as informações que devem ser passadas através do Web Service para que seja retornado para a Embarcadora os documentos de CTe gerados pelos Transportadores, e integrados com a Localização. A chamada é feita de forma assíncrona, primeiro deve ser feita a requisição do Download, informando o bloco a ser baixado e posteriormente deve ser consultada a resposta da solicitação informando o mesmo GUID usado na requisição, caso o GUID não seja informado no momento da requisição, será gerado pelo sistema.
Os documentos serão retornados em Blocos de até 50 documentos de CTe, Estes blocos serão organizados sequencialmente, cada usuário que realizar consultas terá uma sequência numérica própria. Para realizar o Download deve ser informado o número do bloco a ser baixado, o qual será o número seguinte ao último bloco baixado, por exemplo: para download de Documentos de CTe, na primeira chamada foi informado o bloco "1", no retorno do download haverá a informação do final do bloco: "1". Para baixar os próximos documentos, deverá ser informado o bloco "2", pois os 50 documentos do bloco "1" já foram baixados. Portanto, o ERP precisará gerenciar essas informações conforme o retorno, na mensagem de retorno dos documentos na TAG PendingIntegration será informado se há mais documentos disponíveis para serem baixados, sendo que: 0 = Não - Não há documentos pendentes e 1 = Sim - Há documentos Pendentes.
Caso não haja 50 documentos disponíveis para serem baixados na base no momento da requisição, será baixado o número de documentos que estiver disponível, sendo no mínimo 1 documento, após o fechamento do bloco, o número de documentos não será mais alterado, permanecendo com o mesmo número de documentos.
Para envio da mensagem de requisição de Download de Integração JDE deverá ser utilizado um dos métodos descritos abaixo:
•Send: Quando solicitado o resultado do processamento através deste método, os dados do rawdata, bem como os documentos, serão retornados descompactados;
•SendWithCompressedResponse: Quando solicitado o resultado do processamento através deste método, os dados do rawdata, bem como os documentos, serão retornados compactados (zip);
A postagem da mensagem de solicitação de Download de Integração JDE deve ser feita conforme o padrão CrosstalkMessage, o qual é composto por Header e RawData.
•Header
O Header contém as informações básicas que identificam a Embarcadora e a forma de processamento da mensagem, conforme o schema: CrosstalkHeader, detalhado abaixo:
Exemplo XML Header:
<CrosstalkHeader> <ProcessCode></ProcessCode> <MessageType></MessageType> <ExchangePattern></ExchangePattern> <EnterpriseId></EnterpriseId> <Token></Token> <Guid></Guid> </CrosstalkHeader> |
Detalhamento do Schema do Header:
# |
Pai |
Campo |
Descrição |
Tipo |
Ocorrências |
Tamanho |
Observação |
|---|---|---|---|---|---|---|---|
1 |
|
CrosstalkHeader |
Tag Raiz. |
Grupo |
1-1 |
|
|
2 |
1 |
EnterpriseId |
Identificador da empresa emitente da mensagem. |
GUID |
1-1 |
|
Deve ser informando o identificador gerado pela Localização. |
3 |
1 |
DestinationId |
Identificador da empresa destinatário da mensagem. |
GUID |
0-1 |
|
Deve ser informando o identificador gerado pela Localização. Quando não informado será usado o EnterpriseId. |
4 |
1 |
Token |
Identificador do vínculo entre EnterpriseId e DestinationId. |
GUID |
1-1 |
|
Identificador de autorização que dá permissão ao Destinatário receber a mensagem da Origem (vínculo entre EnterpriseId e DestinationId). |
5 |
1 |
ProcessCode |
Identificador do processo solicitado. |
Número |
1-1 |
5 |
Identifica o processo que irá processar a mensagem, neste caso deve ser informado: 28000. |
6 |
1 |
MessageType |
Identifica o tipo de mensagem enviada. |
Número |
1-1 |
3 |
Para este processo deve ser utilizado o valor: 103. |
7 |
1 |
ExchangePattern |
Padrão de troca de mensagens. |
Número |
1-1 |
1 |
7 = Requisição Assíncrona: Insere a requisição a ser processada; 8 = Resposta Assíncrona: Pesquisa o resultado do processamento de uma requisição anterior. |
8 |
1 |
Guid |
Identificador único da mensagem. |
GUID |
0-1 |
|
Deve ser único para cada mensagem enviada. Se não for enviado o sistema gera um automaticamente. |
9 |
1 |
ExecutionTime |
Data e hora de envio e execução da mensagem. |
Data/Hora |
0-1 |
|
Formato: aaaa-mm-ddThh:mm:ss. Exemplo: 2015-12-01T10:32:52. Se não for enviada esta informação, será retornada a data e hora que o Web Service recebeu a requisição. |
10 |
1 |
Encoding |
Identifica o tipo de codificação do documento enviado. |
Caractere |
0-1 |
|
Identifica o tipo de codificação do documento enviado, por exemplo: utf-8, ASCII. Se essa informação não for enviada, será considerado uft-8. |
11 |
1 |
ContentType |
Identifica o tipo de conteúdo. |
Caractere |
0-1 |
|
Identifica o tipo de conteúdo que está sendo enviado. Para a Liberação de Embarque deve ser utilizado: text/plain |
12 |
1 |
ResponseCode |
Código de resposta do processamento, presente apenas nas mensagens de resposta. |
Número |
0-1 |
3 |
Será preenchido pela Localização na resposta da solicitação. |
13 |
1 |
ResponseMessage |
Mensagem referente ao ResponseCode. |
Caractere |
0-1 |
|
Será preenchido pela Localização na resposta da solicitação. |
•RawData
Exemplo XML de Download de Integração JDE - Envio:
<Search_CTeJDEIntegration_Request Version="1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Authentication> <UserName>master@17313711</UserName> <Password>123456</Password> </Authentication> <Filter> <BlockNumber>1</BlockNumber> </Filter> </Search_CTeJDEIntegration_Request> |
Detalhamento do Schema do Download de Integração JDE - Envio:
# |
Pai |
Campo |
Descrição |
Tipo |
Ocorrências |
Tamanho |
Observação |
|---|---|---|---|---|---|---|---|
1 |
|
Search_CTeJDEIntegration_Request |
TAG Raiz. |
Grupo |
1-1 |
|
No atributo "Version" informar o valor "1.0.0". |
2 |
1 |
Authentication |
Dados de autenticação. |
Grupo |
1-1 |
|
No atributo "IsHash" informar os valores: - "0" = Informar Senha Descriptografada; - "1" = informar Senha Criptografada. |
3 |
2 |
UserName |
Nome do usuário. |
Caractere |
1-1 |
|
Nome do usuário. |
4 |
2 |
Password |
Senha de acesso ao sistema. |
Caractere |
1-1 |
|
Senha de acesso ao sistema. |
5 |
1 |
Filter |
Filtros a serem aplicados. |
Grupo |
1-1 |
|
Filtros a serem aplicados. |
6 |
5 |
BlockNumber |
Identificador do bloco de documentos a serem baixados. |
Grupo |
1-1 |
|
Identificador do bloco de documentos a serem baixados. |