Webhook de Envio CT-e Liberado V2
POST https://seusite.com/webhook/
Através deste Webhook, o Embarcador receberá notificações sobre os CT-es que foram Liberados na Auditoria V2.
Para isso, basta disponibilizar uma URL única que receberá as requisições com os dados listados abaixo.
Cada vez que ocorrer a atualização do status do CT-e para Liberado, o webhook enviará as informações para a URL cadastrada, de acordo com as configurações definidas no Dash FR.
Envio:
Parâmetros enviados no corpo da requisição:
Nome | Descrição | Formato / Exemplo | Informado |
---|---|---|---|
status | Informa o status do CT-e. (Como o disparo do webhook acontece apenas quando é liberado, o status sempre estará como 'released') | String | * |
status_log | Histórico geral do CT-e | JSON | Opcional |
access_key | Chave de acesso do CT-e | String de 44 caracteres | * |
action | Evento referente à operação de transporte ( 'I' , 'A' , 'E' ) | String | Opcional |
additional_value | Outras taxas extras | String Númerica | Opcional |
advalorem | Ad Valorem | String Númerica | Opcional |
ademe | Valor da taxa de ADEME | String Númerica | Opcional |
basis_calculation_icms | Base de cálculo do ICMS | String Númerica | Opcional |
basis_calculation_iss | Base de cálculo do ISS | String Númerica | Opcional |
cfop | Código de CFOP | Inteiro | Opcional |
clearance_value | Valor taxa de despacho | String numérica | Opcional |
collection_value | Valor da taxa de coleta | String Númerica | Opcional |
consignee_corporate_name | Nome do consignatário | String | Opcional |
consignee_register_number | CNPJ do consignatário | String de 14 caracteres | Opcional |
cte_id | ID do CT-e Liberado | Inteiro | * |
cubage | Cubagem da mercadoria | String Númerica | Opcional |
cubed_weight | Peso cubado aferido | String Númerica | Opcional |
difal_icms_destination | Percentual DIFAL destino | String Númerica | Opcional |
difal_icms_origin | Percentual DIFAL origem | String Númerica | Opcional |
difal_rate_destination | Alíquota DIFAL de origem | String Númerica | Opcional |
difal_rate_origin | Alíquota DIFAL de origem | String Númerica | Opcional |
file_type | Tipo do arquivo (XML, TXT) | String | Opcional |
freight_value | Valor total do frete | String Númerica | Opcional |
freight_value_volume_weight | Valor frete peso | String Númerica | Opcional |
gris | Valor do GRIS | String Númerica | Opcional |
gross_weight | Peso bruto da mercadoria | String Númerica | Opcional |
hired_carrier_corporate_name | Nome da transportadora contratada | String | Opcional |
hired_carrier_register_number | CNPJ da transportadora contratada | String | Opcional |
hired_shipper_corporate_name | Nome do Embarcador que realizou a contratação | String | Opcional |
hired_shipper_register_number | CNPJ do Embarcador que realizou a contratação | String | Opcional |
hire_id | ID da Contratação | Inteiro | Opcional |
income_tax | Imposto renda | String Númerica | Opcional |
invoice_issuer_register_number | CNPJ do emissor da Nota Fiscal | String de 14 caracteres | Opcional |
issue_date | Data e hora de emissão do Conhecimento pela transportadora | DateTime ("YYYY-MM-DD hh:mm:ss") | Opcional |
issuer_corporate_name | Nome do emissor do Conhecimento | String | Opcional |
issuer.register_number | CNPJ do emissor do Conhecimento | String | Opcional |
itr | Valor taxa ITR | String Númerica | Opcional |
nat_op | Natureza da Operação do CT-e | String | Opcional |
number | Número do CT-e | String Númerica | Opcional |
operation_type | Código do tipo de operação | String | Opcional |
operation_type_detail | Detalhe do tipo de operação (alguns ct-es contém detalhes sobre a operação neste campo) | String | Opcional |
operation_type_complement | Complemento do tipo de operação (alguns ct-es contém detalhes sobre a operação neste campo) | String | Opcional |
percentage_icms | Alíquota ICMS | String Númerica | Opcional |
percentage_iss | Percentual do ISS | String Númerica | Opcional |
processing | Data e hora do processamento do EDI na Transportadora | DateTime ("YYYY-MM-DD hh:mm:ss") | Opcional |
protocol | Número do Protocolo do CT-e na SEFAZ | String | Opcional |
quantity_volumes | Quantidade de volumes | Inteiro | Opcional |
quote_id | ID da cotação | Inteiro | * |
reshipment_value | Valor da taxa de despacho | String Númerica | Opcional |
sec_cat | Valor taxa SEC/CAT | String Númerica | Opcional |
serie | Série do CT-e | String Númerica | Opcional |
shipping_cost_invoice | Valor do custo de envio na Nota Fiscal | String numérica | Opcional |
suframa | Valor da taxa de SUFRAMA | String Númerica | Opcional |
tas | Valor do TAS | String Númerica | Opcional |
taxed_weight | Peso considerado no cálculo | String Númerica | Opcional |
tax_substitution | Se tem ou não substituição tributária | Inteiro | Opcional |
toll_value | Valor taxa de pedágio | String numérica | Opcional |
total_invoice_value | Valor total nota fiscal | String numérica | Opcional |
tracking_code | Código de rastreio | String | Opcional |
transport_type | Código do tipo de transporte | String (vide códigos anexos) | Opcional |
trt | Valor do TRT | String Númerica | Opcional |
type | Tipo de frete | String (C or F) | Opcional |
value | Valor total do frete (CT-e) | String Númerica | Opcional |
value_icms | ICMS calculado | String Númerica | Opcional |
value_iss | Valor da taxa de ISS | String Númerica | Opcional |
code | Código de negociação do CT-e via e-mail | String | Opcional |
created_at | Data e hora que recebemos o CT-e | DateTime ("YYYY-MM-DD hh:mm:ss") | * |
invoice_access_key | Chave de acesso da nota fiscal | String numérica | Opcional |
invoice_number | Número da nota fiscal | String numérica | Opcional |
invoice_serie | Número de série da nota fiscal | String numérica | Opcional |
* Informado sempre |
Exemplo de envio:
{
"status": "",
"status_log": [],
"access_key": "",
"action": "",
"additional_value": "",
"advalorem": "",
"ademe": "",
"basis_calculation_icms": "",
"basis_calculation_iss": "",
"cfop": "",
"clearance_value": "",
"collection_value": "",
"consignee_corporate_name": "",
"consignee_register_number": "",
"cte_id": "",
"cubage": "",
"cubed_weight": "",
"difal_icms_destination": "",
"difal_icms_origin": "",
"difal_rate_destination": "",
"difal_rate_origin": "",
"file_type": "",
"freight_value": "",
"freight_value_volume_weight": "",
"gris": "",
"gross_weight": "",
"hired_carrier_corporate_name": "",
"hired_carrier_register_number": "",
"hired_shipper_corporate_name": "",
"hired_shipper_register_number": "",
"hire_id": "",
"income_tax": "",
"invoice_issuer_register_number": "",
"issue_date": "",
"issuer_corporate_name": "",
"issuer.register_number": "",
"itr": "",
"nat_op": "",
"number": "",
"operation_type": "",
"operation_type_detail": "",
"operation_type_complement": "",
"percentage_icms": "",
"percentage_iss": "",
"processing": "",
"protocol": "",
"quantity_volumes": "",
"quote_id": "",
"reshipment_value": "",
"sec_cat": "",
"serie": "",
"shipping_cost_invoice": "",
"suframa": "",
"tas": "",
"taxed_weight": "",
"tax_substitution": "",
"toll_value": "",
"total_invoice_value": "",
"tracking_code": "",
"transport_type": "",
"trt": "",
"type": "",
"value": "",
"value_icms": "",
"value_iss": "",
"code": "",
"created_at": "",
"invoice_access_key": "",
"invoice_number": "",
"invoice_serie": ""
}
Resposta:
- Em caso de sucesso deverá ser retornado o código de resposta HTTP 200.
Reprocessamento
- O reprocessamento automático acontece nos casos onde o status do retorno seja:
Condição | Status |
---|---|
igual a | HTTP 408 |
igual a | HTTP 429 |
maior ou igual a | HTTP 500 |
Cada tentativa é realizada até que a API retorne um status de sucesso ou até que o número máximo de tentativas seja atingido.
O intervalo entre as tentativas de reprocessamento é relativo à tentativa anterior, ou seja, cada nova tentativa ocorre após um tempo adicional em relação à última tentativa, e não em relação ao momento de criação do webhook. O exemplo a seguir ilustra esse processo de re-tentativas, com o tempo adicional aplicado a cada nova tentativa:
- Tentativa 1: após 1 minuto (acumulado: 1 minuto)
- Tentativa 2: após 5 minutos (acumulado: 6 minutos)
- Tentativa 3: após 10 minutos (acumulado: 16 minutos)
Veja abaixo a tabela completa com as tentativas e seus respectivos tempos:
Tentativa | Tempo |
---|---|
1 | 1min |
2 | 2min |
3 | 3min |
4 | 5min |
5 | 10min |
6 | 30min |
7 | 1h |
8 | 2h |
9 | 3h |
10 | 4h |
11 | 5h |
12 | 8h |
- Ao solicitar o reprocessamento pelo Dash FR, caso o retorno não seja bem-sucedido, serão realizadas até 3 tentativas, todas com um intervalo de 1 minuto. As tentativas seguem a mesma lógica cumulativa utilizada no fluxo padrão, acumulando o tempo total decorrido entre elas.
Tentativa | Tempo |
---|---|
1 | 1min |
2 | 1min |
3 | 1min |