Regras de negócios e processo de validação
- Um mesmo número de conta de envio não pode ser usado em várias visibilidades integradas avançadas.
- O URL/endpoint de destino criado pelo cliente deve:
- ser do host HTTPs;
- Responda a solicitações POST e analise cargas úteis JSON.
- Limite de 200 caracteres
- O URL será bloqueado se incluir:
- Espaço IP RFC1918
- fedex.com ou qualquer um dos respectivos subdomínios
- Endereços IP no URL (inclusive localhost, 127.0.0.1)
- ser do host HTTPs;
- Segurança da visibilidade integrada avançada: são aceitas somente conexões HTTPS usando versões de protocolo TLS (SSL) 1.2 ou superior configuradas com um certificado de uma autoridade de certificação (CA) válida. Coloque os endereços IP abaixo na lista de permissões para receber atualizações dos servidores FedEx sem interrupções:
Prod Os clientes podem colocar o seguinte na lista de permissões: "nat.fxconnect.eastus2.heap-prod.fedex.io"
Uso de CIDR "20.65.16.22/31"
- Em algumas situações, os clientes podem receber atualizações de eventos de rastreamento fora de ordem, sendo necessário verificar o carimbo de data e hora do evento para garantir a ordem correta das informações.
- Exclusão de contas no FedEx Developer Portal:
- O usuário/cliente não poderá excluir uma conta se:
- ela estiver associada a uma visibilidade integrada avançada ativa;
- a conta estiver disponível ou associada a um projeto; e
- ela for a única conta em um projeto/visibilidade integrada avançada.
Observação: o usuário/cliente precisa primeiro remover a conta do projeto/visibilidade integrada avançada e depois excluí-la da organização.
- ela estiver associada a uma visibilidade integrada avançada ativa;
- O usuário/cliente poderá excluir uma conta se:
- a conta pertencer à mesma organização;
- o usuário/cliente for um administrador.
- O usuário/cliente não poderá excluir uma conta se:
Restrições comuns
- Todas as remessas de clientes associadas aos números de conta FedEx de 9 dígitos das empresas operacionais, ou seja, FedEx Express®, FedEx Ground® e FedEx Ground® Economy (anteriormente conhecida como FedEx SmartPost®) estão dentro do escopo, independentemente do destino ou da origem (entrada, saída, internacional, doméstica etc.).
- O webhook de visibilidade integrada avançada aceita apenas contas de 9 dígitos corporativas/habilitadas para pacotes. As contas corporativas permitem a criação de remessas associadas a todas as empresas operantes da FedEx, incluindo FedEx Express e FedEx Ground.
- Os clientes devem gerenciar a ordem dos eventos de rastreamento de remessa recebidos.
- São enviadas notificações automatizadas por e-mail sempre que ocorre uma atividade (salvamento/falha/criação/atualização/cancelamento/exclusão) no webhook de visibilidade integrada avançada da assinatura.
- Traduções:
- As traduções da carga útil de rastreamento são disponibilizadas em 41 idiomas (localidades).(Em breve)
Clique aqui para ver a lista dos idiomas disponíveis. - A tradução da carga útil de rastreamento é disponibilizada em inglês (Estados Unidos).
- As traduções de notificações por e-mail estão disponíveis exclusivamente para idiomas compatíveis com as regiões dos EUA, ou seja, (Localidades: en-US, es-US)
- As traduções da carga útil de rastreamento são disponibilizadas em 41 idiomas (localidades).(Em breve)
Funções do usuário do FedEx Developer Portal:
Dentro do FedEx Developer Portal, você pode executar tarefas específicas com base na função configurada.
Para saber mais sobre o FedEx Developer Portal, consulte o Guia de administração da organização.
Processo de validação da visibilidade integrada avançada
O que é MAC/HMAC e como ele é utilizado no processo de validação?
Um código de autenticação de mensagem (MAC) proporciona uma maneira de verificar a integridade das informações transmitidas ou armazenadas em um meio não confiável com base em uma chave secreta. Geralmente, os MACs são usados para validar as informações transmitidas entre duas partes que compartilham uma chave secreta.
O mecanismo MAC baseado em funções hash criptográficas é conhecido como HMAC. O HMAC pode ser usado com qualquer função hash criptográfica, por exemplo, SHA256, em combinação com uma chave secreta compartilhada. O HMAC é especificado na RFC 2104. O webhook de visibilidade integrada avançada da FedEx utiliza o HMAC SHA256.
SHA256 (token de segurança + carga útil) = fdx-signature codificado com base 64 como parte do cabeçalho da carga útil
Exemplo (de um trecho de pseudocódigo para ilustrar um hash HMAC SHA256):
- Primeiro, inicialize o MAC usando o algoritmo HmacSHA256 e o token de segurança como chave secreta.
- Em seguida, finalize a operação MAC codificando em um valor hexadecimal a carga útil da solicitação enviada pela FedEx.
- Esse hash final precisa corresponder ao valor do cabeçalho fdx-signature na notificação push enviada pela FedEx.
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(new SecretKeySpec(secureToken.getBytes(), "HmacSHA256"));
return new String(Base 64 encoded(mac.doFinal(payLoad.getBytes())));
Observação: a chave secreta usada é o token seguro que você informará ao configurar a visibilidade integrada avançada ou ao testar o URL da visibilidade integrada avançada.
Cálculo de latência
O horário de criação do evento é o momento em que o evento de fato ocorre na rede.
Enquanto não for registrado no sistema (como indicado pelo carimbo de data/hora da criação da mensagem), o evento não pode ser processado nem entregue pelos webhooks ou outros sistemas.
Recomendação
O carimbo de data/hora da criação da mensagem é a melhor representação do momento em que o evento se torna disponível para os sistemas digitais e deve ser usado pelos clientes para medir a latência. O carimbo de data/hora é o registro mais alinhado às atualizações digitais da FedEx e normalmente é mais rápido do que as atualizações visíveis no fedex.com, ou mais próximo a elas.
Regras de validação:
- O nome do webhook de visibilidade integrada avançada deve ser exclusivo.
- O URL de destino do webhook de visibilidade integrada avançada deve estar no formato sintático padronizado.
- Todos os campos obrigatórios para criar um webhook de visibilidade integrada avançada devem estar preenchidos.
- Para criar um webhook de visibilidade integrada avançada, é necessário associar pelo menos um número de conta FedEx de envio disponível.
- Para uma validação bem-sucedida:
- Quando um webhook de visibilidade integrada avançada é criado com sucesso, o cliente recebe uma mensagem de confirmação.
Exemplo de mensagem de confirmação: <<Nome do webhook de visibilidade integrada avançada>> criado com sucesso. As alterações podem levar até 10 minutos para entrar em vigor.
- Quando um webhook de visibilidade integrada avançada é criado com sucesso, o cliente recebe uma mensagem de confirmação.
- Para uma validação malsucedida/com falha:
- Caso a FedEx receba uma resposta que não seja 200 (OK) ou 202 (Aceita), a validação do URL de destino do webhook de visibilidade integrada avançada será considerada malsucedida.
Exemplo de regras de negócios e do processo de validação
- Um mesmo número de conta de envio não pode ser usado em várias visibilidades integradas avançadas.
- O URL/endpoint de destino criado pelo cliente deve:
- ser do host HTTPs;
- Responda a solicitações POST e analise cargas úteis JSON.
- Limite de 200 caracteres
- O URL será bloqueado se incluir:
- Espaço IP RFC1918
- fedex.com ou qualquer um dos respectivos subdomínios
- Endereços IP no URL (inclusive localhost, 127.0.0.1)
- ser do host HTTPs;
- Segurança da visibilidade integrada avançada: são aceitas somente conexões HTTPS usando versões de protocolo TLS (SSL) 1.2 ou superior configuradas com um certificado de uma autoridade de certificação (CA) válida. Coloque os endereços IP abaixo na lista de permissões para receber atualizações dos servidores FedEx sem interrupções:
Prod Os clientes podem colocar o seguinte na lista de permissões: "nat.fxconnect.eastus2.heap-prod.fedex.io"
Uso de CIDR "20.65.16.22/31"
- Em algumas situações, os clientes podem receber atualizações de eventos de rastreamento fora de ordem, sendo necessário verificar o carimbo de data e hora do evento para garantir a ordem correta das informações.
- Exclusão de contas no FedEx Developer Portal:
- O usuário/cliente não poderá excluir uma conta se:
- ela estiver associada a uma visibilidade integrada avançada ativa;
- a conta estiver disponível ou associada a um projeto; e
- ela for a única conta em um projeto/visibilidade integrada avançada.
Observação: o usuário/cliente precisa primeiro remover a conta do projeto/visibilidade integrada avançada e depois excluí-la da organização.
- ela estiver associada a uma visibilidade integrada avançada ativa;
- O usuário/cliente poderá excluir uma conta se:
- a conta pertencer à mesma organização;
- o usuário/cliente for um administrador.
- O usuário/cliente não poderá excluir uma conta se:
Response