WS501 - Consultar Protocolo de Importação
Objetivo
Esta integração tem por objetivo disponibilizar a consulta do andamento das importações utilizando os protocolos recebidos.
Descrição do método
Importante
- A conexão ao nosso serviço deve ser feito ao nosso servidor principal, porém sugerimos fortemente que também seja disponibilizada uma conexão ao nosso servidor de contingência, como garantia de disponibilidade dos nossos serviços. O servidor de contingência só é ligado em situações de indisponibilidade do nosso servidor principal. Tornar parametrizável a url de conexão também é uma boa prática;
- Nossas conexões são seguras utilizando o protocolo SSL. Por questão de segurança nossos certificados são alterados constantemente e sem aviso prévio. Portanto é recomendável que não desenvolvam as integrações baseadas em um certificado fixo.
- Constantemente (e sem aviso prévio) adicionamos novos campos e estruturas tanto nas requisições quanto nas respostas dos nossos webservices. Quem for utilizar nossos webservices deve implementar de tal maneira que os programas que consomem estes webservices não deixem de funcionar quando houver as alterações de campos mencionadas.
Características
- As chamadas serão realizadas via
SOAP sobre HTTPS;
- A origem do chamado do
Web Service será o sistema do cliente;
Autenticação
- As chamadas terão autenticação a nível de transporte (Basic Authentication);
- Solicite o
user / password ao administrador da conta.
POST https://soap.comprovei.com.br/importQueue/index.php HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "urn:WebServiceComprovei#getImportProtocolStatus"
Authorization: Basic BASE64(user:password)
Content-Length: {quantidade de bytes enviados}
Host: soap.comprovei.com.br
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Request
A requisição para o nosso Web Service é composta da seguinte forma:
| TA |
Tipo |
Descrição |
protocolo |
string |
Protocolo para consultar a evolução do pedido de importação. |
Exemplo de Request
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WebServiceComprovei">
<soapenv:Header/>
<soapenv:Body>
<urn:getImportProtocolStatus soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<protocolo xsi:type="xsd:string">20170804598506cf87a0d</protocolo>
</urn:getImportProtocolStatus>
</soapenv:Body>
</soapenv:Envelope>
Response
Nosso Web Service responde para você da seguinte forma:
| TAG |
Tipo |
Descrição |
status |
string |
Mensagem de sucesso ou de erro para a chamada do método. |
protocolo |
string |
Protocolo informado na requisição. |
metodo |
string |
Método requisitado na geração da importação. |
dataCriacao |
string |
Data e hora da requisição da importação. |
dataConclusao |
string |
Data e hora que a importação foi concluída. |
processado |
string |
Sim ou Não indicando que a importação já foi processada. |
resultado |
string |
Mensagem de sucesso ou erro da importação (aceitação síncrona ou processamento assíncrono). |
Valores de status
status |
Observação |
Protocolo encontrado. |
Consulta ok; ver resultado |
Protocolo não encontrado. |
Protocolo inexistente |
Por favor, envie o número de protocolo para a consulta. |
Protocolo vazio |
Usuário não autenticado! |
999 |
Método não autorizado para o seu usuário! |
998 |
Valores típicos de resultado
O campo resultado pode ter sido gravado na aceitação (erro síncrono / arquivo duplicado) ou no processamento assíncrono.
Processamento de documentos
| Mensagem (template) |
Sucesso |
Documentos importados com sucesso! |
sim |
{n} Documentos importados. O restante apresentou estes erros: + - Documento {key}: {value} |
parcial |
Nenhum documento importado. Aconteceram os seguintes erros: + linhas |
não |
- Algum alertas foram gerados durante a importação: |
aviso |
Erro ao inserir o cliente! Parada: {n} - {error} |
por documento |
Erro ao inserir o documento! Parada: {n} - {error} |
por documento |
Documento não encontrado após inserção! dkey: {dkey} |
por documento |
Importado com sucesso, mas sem adicionar na fila de replicação! |
aviso |
Importado com sucesso, mas sem adicionar os itens na fila de replicação! |
aviso |
Processamento de rotas
| Mensagem (template) |
Sucesso |
Rota enviada para processamento. Por favor, aguarde alguns segundos. |
sim (diferido) |
Rota importada com sucesso! |
sim |
Falha ao enviar rota para fila SQS. Tente novamente. |
não |
Erro ao inserir na imports! - {error} |
não |
Erro ao inserir a base de origem! - {error} |
não |
Erro ao inserir a base de destino! - {error} |
não |
Erro ao inserir a rota! - {error} |
não |
Erro ao cadastrar tipo de veiculo! |
não |
Erro ao inserir no histórico! / Erro ao inserir no log! |
não |
Erro ao inserir o cliente/documento/parada/itens/...! Parada: {n} |
não |
Verbo {verb} não implementado. |
não |
Idempotência / reprocessamento
| Mensagem |
Protocolo já em processamento! |
Protocolo já processado! |
ETag não encontrado |
Exemplo de Response
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:WebServiceComprovei" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:getImportProtocolStatusResponse>
<status xsi:type="xsd:string">Protocolo encontrado.</status>
<protocolo xsi:type="xsd:string">20170804598506cf87a0d</protocolo>
<metodo xsi:type="xsd:string">uploadRoute</metodo>
<dataCriacao xsi:type="xsd:string">04/08/2017 20:44:15</dataCriacao>
<dataConclusao xsi:type="xsd:string">04/08/2017 20:44:34</dataConclusao>
<processado xsi:type="xsd:string">Sim</processado>
<resultado xsi:type="xsd:string">Rota importada com sucesso!</resultado>
</ns1:getImportProtocolStatusResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>