.: API SyslogWeb :.

Bem-vindo a API do SyslogWeb. Consolidamos nessa página as informações técnicas da nova forma de integração entre o SyslogWeb e os aplicativos de integração e monitoramento.
Todos os serviços (IMP/EXP) seguem o protocolo de acesso com autenticação via token, baseado no CNPJ criptografado para os que ja são clientes LOGTRADE.
Este Token tem validade de apenas 30 minutos caso haja inatividade.

A API do SyslogWeb foi desenvolvida baseada na arquitetura REST. Será utilizado o formato JSON. Além disso, toda a nossa API usará o formato UTF-8.
URL de acesso: {http://api.logtrade.com.br}

Auth - login

A segurança do ambiente é estruturada no protocolo de acesso com autenticação via token, baseado no CNPJ criptografado para os que ja são clientes LOGTRADE.

Em geral, basta o cliente possuir CNPJ ativo e Chave de Acesso em nosso cadastro no SyslogWeb.
Em resumo, o processo acontece da seguinte forma:

1. O cliente inicia o pedido de conexão com o serviço informando o CNPJ, Chave de Acesso e Tipo do Processo;
2. O servidor valida o CNPJ e a chave de acesso do cliente;
3. O serviço retorna um 'token' armazenado em uma Keystore para que seja utilizado pelas requisições;
4. O cliente deve utilizar este 'token' para realizar a requisição ao serviço.
Endpoint (CNPJ cadastrado no sistema):

POST { url }/auth
{
"Process-Type" : "IMP", -> REQUERIDO
"Authorization" : "$CNPJ", -> REQUERIDO
"Access-Key" : "$KEY" -> REQUERIDO
}

Nome Descrição Tipo do dado Tipo do Parâmetro
Process-Type Tipo do Processo para qual deseja efetuar autenticação string * obrigatório (IMP ou EXP) body {json}
Authorization CNPJ cadastrado no sistema SyslogWeb string * obrigatório - (somente números) body {json}
Access-Key Chave fornecida pela LOGTRADE para integração com a API string * obrigatório - md5($string) body {json}
Atributos do retorno:

Nome Descrição Tipo
status Status da requisição. string
result {token} JSON Web Token (JWT) contendo as informações do usuário.
O token e assinado digitalmente pelo servidor e verificado a cada requisição, garantindo a sua inviolabilidade.
Array<string>
Erros da Autenticação:

Codigo Mensagem Observação
400 Dados enviados incompletos ou formato incorreto. Descrição do "Process-Type", "Authorization" ou "Access-Key" enviado incorretamente.
400 Process-Type Invalido. Valor do "Process-Type" enviado incorretamente.
401 Access-Key Invalido. Chave de acesso do CNPJ enviado incorretamente.
401 Token Expirado. Favor efetuar nova autenticação. Sistema inativo a mais de 30 minutos. Necessário efetuar nova validação.
403 Cliente Inativo. Cliente inativo em nosso sistema SyslogWeb.
404 CNPJ '$valor' inexistente. CNPJ enviado não identificado em nosso sistema SyslogWeb.

Atributos da resposta quando o resultado for "error":

Exemplo da estrutura de resposta de erro no formato JSON:

{
"status" : "error"
"result" : { 
 "result_id" : "401"
 "result_id" : "Token Expirado. Favor efetuar nova autenticação."
 }  
}

Atributos obrigatórios em todas as requisições apos autenticação:

Nome Descrição Tipo Local
Authentication JSON Web Token (JWT) contendo as informações do usuário.
Este token e recuperado no parametro "token" no response da autenticação.
string 1o parametro query string

Consulta Processo { /:filter/:processo }

GET { url }/customers/:$token/:$filter/:$processo

Obs.: O $processo "param3 [query string]" deverá ser enviado sem "traço" e/ou "barra"
Ex.: (CLIEN-001/20DIA) => (CLIEN00120DIA)

Tipos de Filtros:

"FILTERS" : {
 "embarque" : EMBARQUE
 "referencia_1" : REF_CLIENTE_1
 "referencia_2" : REF_CLIENTE_2
 "mercadoria" : MERCADORIA
 "nr_di" : NR_DI
 "nr_conhecimento" : NR_CONHECIMENTO
 "nr_master" : NR_MASTER
 "nr_dta" : NR_DTA
 "nr_nfe" : NR_NF_ES
 "nr_db_siscomex" : NR_DEBITO_SISCOMEX
 "nr_ce_mercante" : CE_MERCANTE
 "list" : LISTAGEM DOS PROCESSOS
},

Return { JSON }

"EMBARQUE_DA_CARGA" : {
 "DADOS_BASICOS" : {
  "EMBARQUE" : CLIEN-001/20DIA - $string
  "CNPJ" : $string
  "IMPORTADOR" : $string
  "DT_ABERTURA" : date(Y-m-d H:i:s)
  "REF_CLIENTE_1" : $string
  "REF_CLIENTE_2" : $string
  "SACADO" : $string
  "FILIAL" : $string
  "MERCADORIA" : $string
  "NEC_MATERIAL" : $string
  "EXPORTADOR" : $string
  "MODAL" : $string
  "OPERADOR" : $string
  "INCOTERM" : $string
  "RESPONSAVEL" : $string
  "EMAIL_REQUISITANTE" : $string
  "EMAIL_RECEBIMENTO" : $string
  "CRITICIDADE" : $string
  "COMPRADOR" : $string
  "RECEBIMENTO_PO" : date(Y-m-d)
  "PREVISAO_COLETA" : date(Y-m-d)
  "DT_COLETA" : date(Y-m-d)
  "PEDIDO_CLASS_FISCAL" : date(Y-m-d)
  "DT_CLASSIFICACAO_FISCAL" : date(Y-m-d)
 },
 "FATURAS" : [
   {
  "NR_FATURA" : $string
  "DT_EMISSAO" : date(Y-m-d)
  "CD_MOEDA" : $string
  "SIGLA_MOEDA" : $string
  "DESCRICAO" : $string
  "ORIGINAL" : $string
  "DT_RECEBIMENTO" : date(Y-m-d)
  "VL_FATURA" : $string
  },
 ]
 "CONHECIMENTO" : {
  "AGENTE_CARGA" : $string
  "ARMADOR" : $string
  "DT_LIBERACAO_BL" : date(Y-m-d)
  "DT_RET_CONHECIMENTO" : date(Y-m-d)
  "LOCAL_EMBARQUE" : $string
  "COD_PAIS_PROCEDENCIA" : $string
  "PAIS_PROCEDENCIA" : $string
  "ETD" : date(Y-m-d)
  "TIPO_CARGA" : $string
  "PESO_LIQUIDO" : $string
  "PESO_BRUTO" : $string
  "SITUACAO_SISCARGA" : $string
  "CE_MERCANTE" : $string
  "NR_CONHECIMENTO" : $string
  "DT_CONHECIMENTO" : date(Y-m-d)
  "NR_MASTER" : $string
  "DT_MASTER" : date(Y-m-d)
  "NR_SUB_MASTER" : $string
  "DT_SUB_MASTER" : date(Y-m-d)
  "DT_PEDIDO_ISENCAO_AFRMM" : date(Y-m-d)
  "DT_APROVACAO_ISENCAO_AFRMM" : date(Y-m-d)
  "DT_APROVACAO_CE" : date(Y-m-d)
  "VL_ESTIMADO_AFRMM" : $string
 },
 "ANALISE_CRITICA" : {
  "TIPO_ICMS" : $string
  "ALERTA_VIGIAGRO" : $string
  "ALERTA_NFE" : $string
  "ASSESSORIA_OPERACIONAL" : $string
  "NECESSITA_LI" : $string
  "DT_CARGA_OK" : date(Y-m-d)
  "DATA_OK" : date(Y-m-d)
  "INI_ANALISE_CRITICA" : date(Y-m-d)
  "RESULTADO_ANALISE" : $string
  "RECEB_DOCUMENTOS" : date(Y-m-d)
  "TIPO_DESPACHO" : $string
  "DOCS_ANALISE_1" : date(Y-m-d)
  "FINAL_ANALISE_1" : date(Y-m-d)
  "DOCS_ANALISE_2" : date(Y-m-d)
  "FINAL_ANALISE_2" : date(Y-m-d)
 },
 "DADOS_DESCARGA" : {
  "COD_MOEDA_FRETE" : $string
  "SIGLA_MOEDA_FRETE" : $string
  "VL_FRETE_PAGO" : $string
  "TIPO_FRETE" : $string
  "COD_MOEDA_CAPATAZIA" : $string
  "SIGLA_MOEDA_CAPATAZIA" : $string
  "VL_CAPATAZIA" : $string
  "DT_ATRACACAO" : date(Y-m-d)
  "DT_DESCARGA" : date(Y-m-d)
  "DT_DESOVA" : date(Y-m-d)
  "NR_MANIFESTO" : $string
  "QTY_EMBALAGEM" : $string
  "DESC_EMBALAGEM" : $string
  "QTY_VOLUME" : $string
  "DESC_VOLUME" : $string
  "DT_PRESENCA_CARGA" : date(Y-m-d)
  "NR_PRESENCA_CARGA" : $string
  "DT_PREVISAO_CHEGADA" : date(Y-m-d)
  "DESCRICAO_TRANSPORTE" : $string
  "NR_VIAGEM" : $string
  "BANDEIRA" : $string
  "DT_DIRECIONAMENTO" : date(Y-m-d)
  "DT_CONFERENCIA_CE" : date(Y-m-d)
  "HOUVE_DESOVA" : $string
  "DT_SOL_DESOVA" : date(Y-m-d)
  "TERMINAL_ATRACACAO" : $string
  "TERMINAL_DESEMBARACO" : $string
  "LOCAL_TRANSBORDO" : $string
  "NAVIO_TRANSBORDO" : $string
  "LOCAL_DESPACHO_CD_URF" : $string
  "LOCAL_DESPACHO_DESCRICAO_URF" : $string
  "LOCAL_DESPACHO_CD_RA" : $string
  "LOCAL_DESPACHO_DESCRICAO_RA" : $string
  "LOCAL_CHEGADA_CD_URF" : $string
  "LOCAL_CHEGADA_DESCRICAO_URF" : $string
  "LOCAL_CHEGADA_CD_RA" : $string
  "LOCAL_CHEGADA_DESCRICAO_RA" : $string
 },
},
 
"DESEMBARACO_ADUANEIRO" : {
 "CONTROLE_DO_DESPACHO" : {
  "DIGITADO_POR" : $string
  "DT_DIGITADO_POR" : date(Y-m-d)
  "REVISADO_POR" : $string
  "DT_REVISADO_POR" : date(Y-m-d)
  "REGISTRADO_POR" : $string
  "DT_REGISTRADO_POR" : date(Y-m-d)
  "QTY_ADICOES" : $string
  "NR_DI" : $string
  "DT_DI" : date(Y-m-d)
  "PROTOCOLO_DI" : $string
  "DT_RETIFICACAO" : date(Y-m-d)
  "NR_DEBITO_RETIFICACAO" : $string
  "DT_SOL_DEBITOS_IMPOSTOS" : date(Y-m-d)
  "NR_DEBITO_IMPOSTOS" : $string
  "DT_AUTORIZACAO_REGISTRO" : date(Y-m-d)
  "DT_DESEMBARACO" : date(Y-m-d)
  "CANAL" : $string
  "DT_PARAMETRIZACAO" : date(Y-m-d)
  "DT_DIST_FISCAL" : date(Y-m-d)
  "NOME_FISCAL" : $string
  "DT_DEFERIMENTO_EXONERACAO" : date(Y-m-d)
  "DT_ENTRADA_EXONERACAO" : date(Y-m-d)
  "DT_VENCTO_ARMAZENAGEM" : date(Y-m-d)
  "DT_CI" : date(Y-m-d)
  "DT_PAGTO_ARMAZENAGEM" : date(Y-m-d)
  "DT_SOLIC_ARMAZENAGEM" : date(Y-m-d)
  "NR_DOSSIE_ELETRONICO" : $string
  "DT_AVERBACAO" : date(Y-m-d)
  "NR_DRAWBACK" : $string
  "INF_COMPLEMENTARES" : $string
  "OBS_GERAIS" : $string
 },
 "PENDENCIAS" : [
   {
  "ETAPA" : $string
  "DT_EMISSAO" : date(Y-m-d)
  "DESCRICAO" : $string
  "TIPO_PENDENCIA" : $string
  "ACAO" : $string
  },
 ]
 "DTA" : {
  "DT_DTA" : date(Y-m-d)
  "NR_DTA" : $string
  "INICIO_TRANSITO" : date(Y-m-d)
  "FINAL_TRANSITO" : date(Y-m-d)
  "CANAL_DTA" : $string
  "TRANSP_REMOCAO" : $string
  "TERMINAL_REDESTINO" : $string
  "PRES_CARGA_ZN_SECUNDARIA" : $string
 },
 "PRODUTOS" : [
   {
  "COD_PRODUTO" : $string
  "NCM" : $string
  "CFOP" : $string
  "NR_ADICAO" : $string
  "ITEM_ADICAO" : $string
  "COBERTURA_CAMBIAL" : $string
  "NR_NF" : $string
  "VALOR_NF" : $string
  "CHAVE_NF" : $string
  "DATA_NF" : date(Y-m-d)
  "NR_PEDIDO" : $string
  "COD_PRODUTO" : $string
  "QTY_ITEM" : $string
  "UNIDADE" : $string
  "SIGLA" : $string
  "QTY_EMBALAGEM" : $string
  "EMBALAGEM" : $string
  "PESO_LIQUIDO" : $string
  "PESO_BRUTO" : $string
  "QTY_ESTATISTICA" : $string
  "VL_UNIT_EMBARQUE" : $string
  "COMISSAO_AGENTE" : $string
  "VL_FRETE" : $string
  "VL_SEGURO" : $string
  "VMCV" : $string
  "VMLE" : $string
  "ENQUADRAMENTO" : $string
  "NR_DRAWBACK" : $string
  "TIPO_FABRICANTE" : $string
  "DESCRICAO_PRODUTO" : $string
  "OBS_PRODUTO" : $string
  "OBS_FABRICANTE" : $string
  },
 ]
 "VIGIAGRO_AGRONOMICA" : {
  "DT_SOLICITACAO_DAT" : date(Y-m-d)
  "DT_AGENDAMENTO" : date(Y-m-d)
  "DT_VISTORIA" : date(Y-m-d)
  "DT_CONDENACAO" : date(Y-m-d)
  "DT_FUMIGACAO" : date(Y-m-d)
  "VISTORIADORA" : $string
  "DT_PEDIDO_POSICIONAMENTO" : date(Y-m-d)
  "DT_POSICIONAMENTO" : date(Y-m-d)
  "VL_FUMIGACAO" : $string
  "DT_ENVIO_AMOSTRA" : date(Y-m-d)
  "NR_SEDEX" : $string
  "DT_PROTOCOLO" : date(Y-m-d)
  "NR_PROTOCOLO" : $string
  "DT_RECEB_LAUDO" : date(Y-m-d)
  "NR_LAUDO" : $string
  "DT_TERMO_FD" : date(Y-m-d)
  "DT_LIBERACAO_FD" : date(Y-m-d)
  "NR_LIBERACAO" : $string
 },
 "SEGURO" : {
  "DT_SOL_SEGURO" : date(Y-m-d)
  "CIA_SEGURADORA" : $string
  "DT_LIB_SEGURO" : date(Y-m-d)
  "DESISTENCIA_VISTORIA" : $string
  "DT_DESISTENCIA" : date(Y-m-d)
 },
 "TOTAIS" : {
  "CD_MOEDA_FOB" : $string
  "SIGLA_MOEDA_FOB" : $string
  "VL_MERCADORIA" : $string
  "CD_MOEDA_FRETE" : $string
  "SIGLA_MOEDA_FRETE" : $string
  "FRETE_EMBUTIDO" : $string
  "VL_FRETE_PREPAID" : $string
  "VL_FRETE_COLLECT" : $string
  "VL_FRETE_REAIS" : $string
  "FORMA_SEGURO" : $string
  "VL_PERC_SEGURO" : $string
  "CD_MOEDA_SEGURO" : $string
  "SIGLA_MOEDA_SEGURO" : $string
  "VL_SEGURO" : $string
  "VL_SEGURO_REAIS" : $string
  "VL_TAXA_SISCOMEX" : $string
  "VL_MERCADORIA_REAIS" : $string
  "VL_REMOCAO" : $string
  "VL_COMISSAO" : $string
  "VL_TRANSP_RODOVIARIO" : $string
  "VL_CPMF" : $string
  "VL_PIS" : $string
  "VL_COFINS" : $string
  "VL_II" : $string
  "VL_IPI" : $string
  "VL_ICMS" : $string
  "DT_PAGTO_ICMS" : date(Y-m-d)
  "VL_ICMS_COMP" : $string
  "DT_PAGTO_ICMS_COMP" : date(Y-m-d)
  "VL_AFRMM" : $string
  "DT_PAGTO_AFRMM" : date(Y-m-d)
  "VL_ARMAZENAGEM" : $string
  "DT_PAGTO_ARMAZENAGEM" : date(Y-m-d)
  "VL_SDA" : $string
  "DT_LIB_SEGURO" : date(Y-m-d)
  "VL_ARMAZENAGEM_2" : $string
  "DT_PAGTO_ARMAZENAGEM_2" : date(Y-m-d)
  "VL_MULTA" : $string
  "DT_PAGTO_MULTA" : date(Y-m-d)
  "BANCO" : $string
  "AGENCIA" : $string
  "CONTA" : $string
  "DT_TAXA_CALCULO" : date(Y-m-d)
  "VL_TX_DOLAR" : $string
  "VL_TX_MERCADORIA" : $string
  "VL_TX_FRETE" : $string
  "VL_TX_SEGURO" : $string
 },
 "ADM_CAMBIO" : {
  "DT_ENVIO_DOC_IMPORTADOR" : date(Y-m-d)
  "PERIODICIDADE" : $string
  "DT_ENVIO_DOC_CAMBIO" : date(Y-m-d)
  "DT_VECTO_FATURA" : date(Y-m-d)
 },
},
 
"ENTREGA_DA_CARGA" : {
 "INFORMACOES_TRANSPORTE" : {
  "DT_EMISSAO_NFE" : date(Y-m-d)
  "DT_ENVIO_ESPELHO_DANFE" : date(Y-m-d)
  "DT_NFE_IMPORTADOR" : date(Y-m-d)
  "NUMERO_NFE" : $string
  "DT_DOC_TRANSPORTE" : date(Y-m-d)
  "DT_CARREGAMENTO" : date(Y-m-d)
  "NM_TRANSPORTADORA" : $string
  "DT_AGENDAMENTO_ENTREGA" : date(Y-m-d)
  "DT_ENTREGA_CARGA" : date(Y-m-d)
  "PLACA_CAVALO_BUG" : $string
  "DT_ARMAZENAGEM" : date(Y-m-d)
  "DT_SEGREGACAO" : date(Y-m-d)
  "DT_ENTREGA_FABRICA" : date(Y-m-d)
 },
 "CONTROLE_DE_TRANSPORTE" : [
   {
  "TIPO_CONTROLE" : $string
  "NR_DOCUMENTO" : $string
  "DT_EMISSAO" : date(Y-m-d)
  "NR_FATURA" : $string
  "DT_EMISSAO_FATURA" : date(Y-m-d)
  "VL_RECEBIMENTO" : $string
  "DT_VENCIMENTO_FATURA" : date(Y-m-d)
  "SITUACAO" : $string
  "DT_RECEBIMENTO" : date(Y-m-d)
  "COLETA" : $string
  "ENTREGA" : $string
  "ORIGEM" : $string
  "DESTINO" : $string
  "NR_CONTAINER" : $string
  "QTY_CONTAINER" : $string
  "ESPECIE" : $string
  "PESO_KG" : $string
  "TARA" : $string
  "PESO_CALC" : $string
  "VL_MERCADORIA" : $string
  "VL_SEGURO" : $string
  "VL_FRETE_PESO" : $string
  "FRETE_VALOR" : $string
  "VL_GRIS" : $string
  "VL_PEDAGIO" : $string
  "VL_ESCOLTA_TRAVA" : $string
  "VL_M_ESQUERDA" : $string
  "VL_DEV_VAZIO" : $string
  "VL_OUTROS" : $string
  "VL_ICMS" : $string
  "VL_ISS" : $string
  "VL_TOTAL_DOCTO" : $string
  },
 ]
 "CONTAINERS" : [
   {
  "NR_CONTAINER" : $string
  "NR_FATURA" : $string
  "NR_NOTA_DEBITO" : $string
  "TIPO_CNTR" : date(Y-m-d)
  "DT_NOTA_DEBITO" : $string
  "EMPRESA_ND" : $string
  "VL_FATURA" : $string
  "VL_NOTA_DEBITO" : $string
  "NR_LACRE" : $string
  "DT_FATURA" : date(Y-m-d)
  "DT_PAGAMENTO" : date(Y-m-d)
  "DT_CARREGAMENTO" : date(Y-m-d)
  "PESO_BRUTO" : $string
  "DT_DEVOLUCAO_VAZIO" : date(Y-m-d)
  "OFENSOR" : $string
  "FREE_TIME" : $string
  "VL_TARIFA_DEMURRAGE" : $string
  "VL_DESCONTO_DEMURRAGE" : $string
  "NR_NF_FILHOTE" : $string
  "DT_NF_FILHOTE" : date(Y-m-d)
  },
 ]
},
 
"FLUXO_FINANCEIRO" : {
 "DESPESAS_PROCESSO" : [
   {
  "COD_DESPESA" : $string
  "DT_PAGAMENTO" : date(Y-m-d)
  "USUARIO" : $string
  "DESCRICAO" : $string
  "VALOR" : $string
  "POR_CONTA" : $string
  "NR_PAGAMENTO" : $string
  },
 ]
 "NUMERARIOS_PROCESSO" : [
   {
  "NR_SOLICITACAO" : $string
  "REF_CLIENTE" : $string
  "DT_EMISSAO" : date(Y-m-d)
  "DT_RECEBIMENTO" : date(Y-m-d)
  "VL_RECEBIDO" : $string
  "SOLICITADO_POR" : $string
  "TOTAL" : $string
  },
 ]
 "DADOS_DE_FATURAMENTO" : {
  "DT_PREP_FATURAMENTO" : date(Y-m-d)
  "DT_ENVIO_FATURAMENTO" : date(Y-m-d)
  "DT_RECEBTO_FATURAMENTO" : date(Y-m-d)
  "DT_FATURAMENTO_RECUSADO" : date(Y-m-d)
  "DT_ENVIO_REFATURAMENTO" : date(Y-m-d)
  "DT_RECEBTO_REFATURAMENTO" : date(Y-m-d)
  "DT_REFATURAMENTO_RECUSADO" : date(Y-m-d)
  "DT_ENVIO_FAT_CLIENTE" : date(Y-m-d)
  "DT_RECEB_FAT_CLIENTE" : date(Y-m-d)
  "DT_FAT_RECUSADO_CLIENTE" : date(Y-m-d)
  "DT_FECHAMENTO" : date(Y-m-d)
  "DT_FATURAMENTO" : date(Y-m-d)
  "DT_VENCIMENTO" : date(Y-m-d)
  "DT_QUITACAO" : date(Y-m-d)
  "NR_FATURA" : $string
  "NR_NF" : $string
  "NR_CONSOLIDADO" : $string
 },
},
 
"DOCUMENTOS_HISTORICO" : {
 "OCORRENCIAS" : [
   {
  "USUARIO" : $string
  "DATA" : date(Y-m-d)
  "DESCRICAO" : $string
  },
 ]
},
 

Consulta Lista Processos { /:list/:$status }

GET /customers/:$token/:list/:$status
{
$status : "A" -> ABERTOS
$status : "F" -> FECHADOS
$status : "C" -> CANCELADOS
$status : "T" -> TODOS
}

Obs.: O tipo de busca é "case-insensitive".

Return { JSON }:

"CNPJ" : $string
"PROCESSOS" : {
 "EMBARQUE" : $string
 "SITUACAO" : $string
},

Atributos da resposta quando não tiver retorno:

Exemplo da estrutura de resposta "sem retorno" no formato JSON:

"CNPJ" : $string
"PROCESSOS" : {
 "SITUACAO" : "NENHUM PROCESSO LOCALIZADO."
},

.: Implementação APP Logtrade :.

Bem-vindo a implementação para o APP LOGTRADE. Essa etapa esta dedicada a documentação do serviço de POSTBACK para o sistema SyslogWeb.

O objetivo dessa API e disponibilizar um recurso que possa ser consumido de forma segura pelo sistema SyslogWeb, notificando o App Logtrade das atualizacoes realizadas em seus processos, permitindo assim, a notificação de clientes via aplicativo, que possuam os followups devidamente configurados.

Todo conteúdo trafegado pelas requisições de postback devem levar consigo o cabecalho X-SyslogWeb-Signature que e a assinatura hash no formato sha1 do corpo da requisição, utilizando como chave de criptografia o Access-Key fornecido pelo sistema SyslogWeb.
URL de acesso para o POSTBACK: https://postback.logtrade.com.br

Postback

Esse recurso possui um acesso publico, por isso foi utilizada a abordagem de assinatura do corpo da requisição utilizando o Access-Key como chave de criptografia no modelo hmac sha1.
Em resumo, o processo acontece da seguinte forma:
1. O cliente identifica uma alteração do cadastro de um processo em seu banco de dados;
2. O cliente encapsula o cnpj, número de embarque e campos que foram atualizados no formato Query-String;
3. O cliente criptografa os dados encapsulados com o modelo hmac sha1 de criptografia, utilizando o Access-Key como chave;
4. O cliente realiza um POST para o servidor enviando no corpo da requisição a Query-String gerada, juntamente com o Header X-SyslogWeb-Signature que deverá assumir a assinatura gerada pela criptografia.
5. O servidor recebe o pedido e realiza o processo de assinatura do corpo da requisição utilizando o Access-Key no qual também tem conhecimento.
6. O servidor compara a assinatura computada com a assinatura enviada pelo cliente no header X-SyslogWeb-Signature.
7. Se as assinaturas forem identicas, significa que tanto o cliente quanto o servidor possuem conhecimento da chave Access-Key e que o conteúdo do corpo não foi alterado durante a requisição, prevenindo ataques (man-in-the-middle).
8. O servidor consulta todos os followups de usuários configurados e dispara uma notificação para todos aqueles que podem receber os dados do processo.
9. O servidor retorna a ID de todas as notificações para o cliente, para que possam ser armazenadas como uma medida de seguranca e utilizadas para uma eventual consulta.

ATENCAO 1: Caso o servidor retorne um código diferente de 201, por inconsistencia de conexao, instabilidade de servidor ou qualquer outro motivo, o sistema SyslogWeb realiza re-tentativas de envio do postback, garantindo que os usuários sejam notificados da atualização dos processos.

ATENCAO 2: Para que o processo de identificação do followup seja menos custoso de processamento para a aplicação, e necessário enviar o PATH (caminho) completo de cada campo alterado, separando-os por pontos (Dot Notation).
Exemplo.:
items: [
   "CARGAS_MARITIMAS.EMBARQUE_DA_CARGA.DADOS_BASICOS.REF_CLIENTE_1",
   "CARGAS_MARITIMAS.EMBARQUE_DA_CARGA.FATURAS.NR_FATURA"
]
POST { url }/syslog/postback

Header:

Nome Descrição Tipo do dado
X-SyslogWeb-Signature Assinatura do corpo da requisição utilizando a criptografia HMAC SHA-1 e a Access-Key como chave string * obrigatório HMAC SHA-1

Body:

Nome Descrição Tipo do dado
cnpj Cnpj do cliente proprietário do processo atualizado. string * obrigatório
embarque Número de embarque do processo atualizado. string * obrigatório
items Lista dos campos que foram atualizados no processo. Array<string> * obrigatório
Atributos de retorno:

Nome Descrição Tipo do dado
notifications Lista com as id's de todas as notificações criadas Array<string>
Codigos de retorno:

Codigo HTTP Mensagem Observação
401 A assinatura do postback e inválida. O processo de assinatura realizado pelo servidor obteve um resultado diferente do enviado pelo cliente (Verificar Access-Key ou Conteudo da Requisição).
402 Não foi possivel encontrar o cliente. O cliente não foi encontrado na base de dados da aplicação.
403 Consulta não realizada. Gentileza refazer a consulta. O processo não foi encontrato ao tentar realizar a consulta na api do SyslogWeb.
201 Created As notificações foram criadas com sucesso