Emitir e consultar CT-e
Consultar CT-e
GET https://apifiscal.weesy.com.br/v1/cte/{id}
Abrir na referência interativaMostra a situação atual do CT-e (status), a chave de acesso, o protocolo de autorização e a última resposta da SEFAZ. Use para acompanhar o CT-e se você não usa webhook.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
| id obrigatório | caminho | string | Id do CT-e, devolvido no campo |
Exemplo de chamada
cURL
curl --request GET \
--url "https://apifiscal.weesy.com.br/v1/cte/6ade6278e8340a492a46b564" \
--header "Authorization: Bearer $WEESY_TOKEN"Node.js
const resposta = await fetch("https://apifiscal.weesy.com.br/v1/cte/6ade6278e8340a492a46b564", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.WEESY_TOKEN}`,
},
});
console.log(resposta.status, await resposta.text());Python
import os
import requests
resposta = requests.get(
"https://apifiscal.weesy.com.br/v1/cte/6ade6278e8340a492a46b564",
headers={"Authorization": f"Bearer {os.environ['WEESY_TOKEN']}"},
timeout=30,
)
print(resposta.status_code, resposta.text)PHP
<?php
$contexto = stream_context_create(["http" => [
"method" => "GET",
"header" => implode("\r\n", ["Authorization: Bearer " . getenv("WEESY_TOKEN")]),
"ignore_errors" => true, // lê o corpo também nas respostas de erro
]]);
$resposta = file_get_contents("https://apifiscal.weesy.com.br/v1/cte/6ade6278e8340a492a46b564", false, $contexto);
echo $http_response_header[0], PHP_EOL, $resposta, PHP_EOL;C#
using System.Net.Http.Headers;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("WEESY_TOKEN"));
using var resposta = await http.GetAsync("https://apifiscal.weesy.com.br/v1/cte/6ade6278e8340a492a46b564");
Console.WriteLine($"{(int)resposta.StatusCode} {await resposta.Content.ReadAsStringAsync()}");Respostas
- 200: O CT-e.
- 401: Token ausente, errado ou revogado (credencialinvalida). Confira o cabeçalho Authorization. (formato de erro)
- 404: ctenaoencontrado — não existe, ou é de outra empresa. (formato de erro)
Campos da resposta 200
| Campo | Tipo | Descrição | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id obrigatório | string | O | ||||||||||||||||||||||||
| idIntegracao obrigatório | string | O código seu que veio na emissão. | ||||||||||||||||||||||||
| status obrigatório | string | Situação do CT-e. A lista pode crescer: trate valor desconhecido sem quebrar.
A carta de correção não muda o | ||||||||||||||||||||||||
| ambiente obrigatório | string | Onde o documento é emitido.
O ambiente | ||||||||||||||||||||||||
| empresa obrigatório | object | |||||||||||||||||||||||||
| empresa. obrigatório | string | CNPJ sem pontos, barra ou traço (14 posições). Já aceita o CNPJ com letras, que começa a valer em 2026. | ||||||||||||||||||||||||
| empresa. obrigatório | string | |||||||||||||||||||||||||
| empresa. | string | Sigla do estado, em maiúsculas. Valores: | ||||||||||||||||||||||||
| serie obrigatório | string | |||||||||||||||||||||||||
| numero | string ou null | Número do CT-e. Vazio até a Weesy montar o XML. | ||||||||||||||||||||||||
| chaveAcesso | string ou null | |||||||||||||||||||||||||
| protocolo | string ou null | Protocolo de autorização da SEFAZ. | ||||||||||||||||||||||||
| autorizadoEm | string (date-time) ou null | |||||||||||||||||||||||||
| cfop | string | |||||||||||||||||||||||||
| tomador | object | |||||||||||||||||||||||||
| tomador. | integer | Quem paga o frete (o "tomador do serviço") — código oficial
| ||||||||||||||||||||||||
| tomador. | string | CPF (11 números) ou CNPJ (14 posições), sem pontuação. | ||||||||||||||||||||||||
| tomador. | string | |||||||||||||||||||||||||
| remetente | object | |||||||||||||||||||||||||
| remetente. obrigatório | string | CPF (11 números) ou CNPJ (14 posições), sem pontuação. | ||||||||||||||||||||||||
| remetente. obrigatório | string | |||||||||||||||||||||||||
| destinatario | object | |||||||||||||||||||||||||
| destinatario. obrigatório | string | CPF (11 números) ou CNPJ (14 posições), sem pontuação. | ||||||||||||||||||||||||
| destinatario. obrigatório | string | |||||||||||||||||||||||||
| expedidor | object ou null | |||||||||||||||||||||||||
| expedidor. | string | CPF (11 números) ou CNPJ (14 posições), sem pontuação. | ||||||||||||||||||||||||
| expedidor. | string | |||||||||||||||||||||||||
| recebedor | object ou null | |||||||||||||||||||||||||
| recebedor. | string | CPF (11 números) ou CNPJ (14 posições), sem pontuação. | ||||||||||||||||||||||||
| recebedor. | string | |||||||||||||||||||||||||
| origem | object | Identificação do município por código IBGE, nome e UF. | ||||||||||||||||||||||||
| origem. obrigatório | string | Código IBGE do município. | ||||||||||||||||||||||||
| origem. | string | Nome do município. | ||||||||||||||||||||||||
| origem. | string | Sigla da unidade federativa. | ||||||||||||||||||||||||
| destino | object | Identificação do município por código IBGE, nome e UF. | ||||||||||||||||||||||||
| destino. obrigatório | string | Código IBGE do município. | ||||||||||||||||||||||||
| destino. | string | Nome do município. | ||||||||||||||||||||||||
| destino. | string | Sigla da unidade federativa. | ||||||||||||||||||||||||
| documentosTransportados | array de object | |||||||||||||||||||||||||
| documentosTransportados[] obrigatório | string | Chave de acesso de 44 dígitos — o "RG" do documento fiscal na SEFAZ. | ||||||||||||||||||||||||
| valores | object | |||||||||||||||||||||||||
| valores. obrigatório | number | Valor total do frete. | ||||||||||||||||||||||||
| valores. obrigatório | number | Quanto a transportadora vai receber de fato (normalmente igual ao total). | ||||||||||||||||||||||||
| valores. | array de object | Como o total se divide. Opcional. | ||||||||||||||||||||||||
| valores. obrigatório | string | Nome curto do componente. | ||||||||||||||||||||||||
| valores. obrigatório | number | Valor em reais, como número com 2 casas decimais (ex. | ||||||||||||||||||||||||
| carga | object | |||||||||||||||||||||||||
| carga. | number | Valor em reais, como número com 2 casas decimais (ex. | ||||||||||||||||||||||||
| carga. | string | |||||||||||||||||||||||||
| sefaz | object | Última resposta da SEFAZ, como ela mandou. Útil para entender uma rejeição. | ||||||||||||||||||||||||
| sefaz. | integer ou null | Código de resposta da SEFAZ (ex. | ||||||||||||||||||||||||
| sefaz. | string ou null | Texto da SEFAZ que explica o código. | ||||||||||||||||||||||||
| sefaz. | string ou null | Número do protocolo da SEFAZ, quando houver. | ||||||||||||||||||||||||
| eventos | array de object | Cancelamentos e cartas de correção, do mais antigo para o mais novo. | ||||||||||||||||||||||||
| eventos[] obrigatório | string |
| ||||||||||||||||||||||||
| eventos[] obrigatório | integer | Número do evento desse tipo no CT-e (a 1ª carta de correção é 1, a 2ª é 2...). | ||||||||||||||||||||||||
| eventos[] obrigatório | string |
| ||||||||||||||||||||||||
| eventos[] | string ou null | Só no cancelamento. | ||||||||||||||||||||||||
| eventos[] | array de object | Só na carta de correção. | ||||||||||||||||||||||||
| eventos[] obrigatório | string | Grupo do XML onde está o campo (ex. | ||||||||||||||||||||||||
| eventos[] obrigatório | string | Nome da tag a corrigir dentro do grupo (ex. | ||||||||||||||||||||||||
| eventos[] obrigatório | string | O valor correto. | ||||||||||||||||||||||||
| eventos[] | string | Só quando o grupo se repete no XML — qual ocorrência corrigir (começa em | ||||||||||||||||||||||||
| eventos[] | string ou null | Protocolo do evento na SEFAZ, quando registrado. | ||||||||||||||||||||||||
| eventos[] | object | Última resposta da SEFAZ, como ela mandou. Útil para entender uma rejeição. | ||||||||||||||||||||||||
| eventos[] | integer ou null | Código de resposta da SEFAZ (ex. | ||||||||||||||||||||||||
| eventos[] | string ou null | Texto da SEFAZ que explica o código. | ||||||||||||||||||||||||
| eventos[] | string ou null | Número do protocolo da SEFAZ, quando houver. | ||||||||||||||||||||||||
| eventos[] obrigatório | string (date-time) | Data e hora no horário de Brasília (ex. | ||||||||||||||||||||||||
| eventos[] | string (date-time) ou null | |||||||||||||||||||||||||
| historico | array de object | Por onde o CT-e passou, em ordem. | ||||||||||||||||||||||||
| historico[] obrigatório | string | Situação do CT-e. A lista pode crescer: trate valor desconhecido sem quebrar.
A carta de correção não muda o | ||||||||||||||||||||||||
| historico[] obrigatório | string (date-time) | Data e hora em UTC, terminada em | ||||||||||||||||||||||||
| historico[] | string ou null | |||||||||||||||||||||||||
| links obrigatório | object | |||||||||||||||||||||||||
| links. obrigatório | string | |||||||||||||||||||||||||
| links. | string ou null | Vazio até autorizar. | ||||||||||||||||||||||||
| links. | string ou null | Vazio até autorizar. | ||||||||||||||||||||||||
| criadoEm obrigatório | string (date-time) | Data e hora em UTC, terminada em | ||||||||||||||||||||||||
| atualizadoEm obrigatório | string (date-time) | Data e hora em UTC, terminada em |
Exemplo de resposta 200
{
"id": "6ade6278e8340a492a46b564",
"idIntegracao": "frete-10432",
"status": "autorizado",
"ambiente": "homologacao",
"empresa": {
"cnpj": "21664333000195",
"razaoSocial": "EMPRESA EXEMPLO TRANSPORTES LTDA",
"uf": "SP"
},
"serie": "1",
"numero": "1234",
"chaveAcesso": "35261021664333000195570010000012341000012345",
"protocolo": "135260000123456",
"autorizadoEm": "2026-10-26T09:27:41-03:00",
"cfop": "6353",
"tomador": {
"papel": 0,
"cpfCnpj": "11222333000181",
"nome": "EMPRESA EXEMPLO LTDA"
},
"remetente": {
"cpfCnpj": "11222333000181",
"nome": "EMPRESA EXEMPLO LTDA"
},
"destinatario": {
"cpfCnpj": "12345678000195",
"nome": "CLIENTE EXEMPLO LTDA"
},
"expedidor": null,
"recebedor": null,
"origem": {
"codigoIbge": "3550308",
"nome": "São Paulo",
"uf": "SP"
},
"destino": {
"codigoIbge": "4106902",
"nome": "Curitiba",
"uf": "PR"
},
"documentosTransportados": [
{
"chaveNfe": "35261011222333000181550010000456781000456789"
}
],
"valores": {
"valorTotalServico": 850,
"valorReceber": 850
},
"carga": {
"valor": 15800,
"produtoPredominante": "MATERIAL DE CONSTRUCAO"
},
"sefaz": {
"cStat": 100,
"mensagem": "Autorizado o uso do CT-e",
"protocolo": "135260000123456"
},
"eventos": [],
"historico": [
{
"status": "recebido",
"em": "2026-10-26T12:27:34Z"
},
{
"status": "em_processamento",
"em": "2026-10-26T12:27:35Z"
},
{
"status": "autorizado",
"em": "2026-10-26T12:27:41Z"
}
],
"links": {
"self": "/v1/cte/6ade6278e8340a492a46b564",
"xml": "/v1/cte/6ade6278e8340a492a46b564/xml",
"dacte": "/v1/cte/6ade6278e8340a492a46b564/dacte"
},
"criadoEm": "2026-10-26T12:27:34Z",
"atualizadoEm": "2026-10-26T12:27:41Z"
}