Carrefour e logística reversa
Tempo de leitura 25 minutos.
Essa documentação tem como intuito facilitar a contratação de fretes em logística reversa dos Correios.
O mesmo foi baseado nas configurações e execuções necessárias para validação do lançamento do webhook de status para os fretes em logística reversa, necessidade essa originada na api-custom-carrefour, no entanto válida para outras integrações.
Aplicações necessárias para o fluxo
- api-interna
- api-externa
- painel-v3
- api-cotacao-v3
- api-custom-carrefour (ou outra integração que tenha reversa)
- api-correios ? (pode não ser necessária)
- api-correios-v2 ! (detalharei mais a frente)
- sync-correios-offline ! (detalharei mais a frente)
Configuração Embarcador
Um ponto importante do fluxo a se atentar é a comunicação com os Correios. Como a reversa ainda se encontra no sistema do SIGEP, é preciso que ela seja configurada também. Para isso basta acessar o Dash e ir na configuração de integração com os Correios.
- Caso não tenha feito o relacionamento dos correios com seu embarcador, este é o momento. Faça essa configuração pelo CMS ou pelo próprio dash, informando o CNPJ dos correios.
Tendo as configurações feitas, é necessário importar uma tabela de frete reversa para que seja possível a cotação. Para isso basta marcar a opção reversa no XLSX e importar pelo dash ou pelo CMS. É importante que o CNPJ da transportadora seja o dos Correios (34.028.316/0001-03) e o expedidor e origem estejam de acordo com o seu Embarcador e Expedidor no TMS.
Configuração Carrefour
Para iniciar é necessário que seja feita a configuração/criação de conta na api da integração que irá utilizar. Devemos nos atentar que a URL base do Webhook é a url para onde são enviados os status de rastreio e as contratações. Sugiro a utilização do site https://webhook.site/

Na aba Cód. Externo de Transportadoras é necessário que seja configurado o alias para o Correios, assim sendo no campo código externo precisa ser informado um identificador que será enviado pela integração nas comunicações.

Na aba Expedidores é necessário que seja configurado o ponto de coleta que será utilizado na cotação e contratação. No campo código externo precisa ser informado o identificador que é informado pela integração, no caso do Carrefour é o valor do campo ped_cd_empresa (na request de importação de pedido). Além disso deve-se atentar ao fato de que o CNPJ e CEP devem ser compatíveis com as informações de contratação, caso contrário não será possível realizar a cotação e contratação do pedido importado. Lembre-se também de marcar o centro de distribuição como ativo

Pontos de atenção
Algumas verificações são importantes serem feitas para o correto funcionamento do fluxo.
- Na api-correios-v2 é preciso validar se a constante IDCarrierCorreios, no arquivo /pkg/constants/constants.go, está condizente com o seu banco de dados
- o valor será 2 caso tenha utilizado o projeto (fr_migrations)[https://github.com/freterapido/fr-migrations/src/master/] para criação do banco
- Na sync-correios-offline é preciso validar se o $args['shipper_id'], no arquivo /correios, está condizente com o id do seu embarcador
Contratando
Para contratar um pedido em reversa pelo Carrefour, utilizaremos a request Order Import [ONE] disponível nessa collection do Insominia.
Importante ressaltar algumas informações:
- Substituir, no header Authorization, o (TOKEN DA API) pelo valor gerado no campo Token da API gerado após a configuração da integração
- O valor do campo ped_cd_empresa deve ser o mesmo cadastrado no campo Cód. externo da configuração de Expedidores
- Substituir, no body, o (GERAR ID) por um valor gerado randomicamente para não dar erro na inserção do pedido
- Para que o pedido seja gerado como reversa é importante utilizar, no campo ped_tp_pedido do body
- o valor C para coleta, ou
- o valor P para postagem
curl --request POST \
--url http://localhost:48149/api/v1/orders/import \
--header 'Authorization: Bearer (TOKEN DA API)' \
--header 'Content-Type: application/json' \
--data '[
{
...
"ped_cd_empresa": "963",
"ped_nu_pedido_origem": "fake_(GERAR ID)",
"ped_tp_pedido": "C",
}
]'
Após enviar essa solicitação, estando tudo configurado corretamente e todas as aplicações necessárias estarem sendo executadas, o pedido deve ser importado e disponível para visualização na aba de gerenciamento de pedidos da integração do Carrefour. No pedidos também é possível acessar a listagem de entregas reversas, clicando no botão ações.

Buscando os status do rastreio
Para executar esse processo é necessário que seja executado, na api-correios-v2 o comando make run.tracking.events e na sync-correios-offline o comando make client.rastreios
Após isso, caso tudo tenha corrido bem, a tabela painel_db_dev.correios_reversa_etiquetas terá as informações do envio (como o código de tracking do Correios) e a tabela painel_db_dev.correios_reversa_eventos terá os status de rastreio (caso tenham ocorrido)
