Manual - API Preço
Sumário
- 1. Apresentação
- 2. Visão Geral da API
- 3. Autenticação e Autorização
- 4. Padrões Técnicos utilizados
- 5. Documentação dos Endpoints
- 6. Exemplos de Integração
- 7. Ambientes Disponíveis
- 8. Boas Práticas
- 9. Suporte e Contato
- 10. Anexos
1. Apresentação
1.1 Objetivo do manual
Este manual tem como objetivo apresentar a API de preços dos Correios, quais são as especificações e critérios técnicos para seu consumo, caminhos, dados de retorno e fluxo ideal de consulta dos valores cobrados para entrega.
1.2 Escopo da API
A API Preço é restrita, sendo liberada somente para clientes de contrato, que devem ter cadastrados em seu contrato, o código de serviço 38202 API PRECOS. Sem este cadastro, ao tentar consumir a API, será retornado erro de API restrita.
1.3 Público alvo
- Clientes de contrato com os Correios na modalidade a faturar.
- Lojas virtuais e outros sistemas que desejam exibir de forma rápida e confiável, o valor cobrado para a entrega das encomendas enviadas por meios dos Correios, no pacote contratado pelo cliente, nas diversas modalidades de entrega fornecidas pela empresa.
2. Visão Geral da API
A API de preços permite a solicitação de cálculo do custo, em reais, da entrega de objetos nacionais e internacionais. Para objetos nacionais, outra funcionalidade disponível é a listagem dos serviços adicionais disponíveis para um determinado serviço.
2.1 Finalidade da API
Exibir o preço da entrega de objetos nacionais e internacionais, de acordo com os dados informados pelo solicitante.
2.2 Funcionalidades Principais
- Cálculo de preços de entrega de objetos nacionais;
- Cálculo de preços de entrega de objetos internacionais;
- Cálculo de preço de serviço adicional e lista de adicionais disponíveis.
2.3 Arquitetura e Tecnologias Utilizadas
A Arquitetura utilizada é RESTful. Os retornos são em formato JSON. Os acessos são realizados via HTTP (GET e POST).
2.4 Fluxo Geral de Integração

- Pré-requisitos
- Possuir contrato ativo com os Correios.
- Ter uma conta Pessoa Jurídica cadastrada no Meu Correios Homologação.
- Cadastrar senha de APIs no site CWS – Correios Web Service Homologação, via menu “Gestão de acesso a API’s”. Ver Manual do CWS: https://www.correios.com.br/atendimento/developers/manuais/correioswebservice
- Ter o serviço 38202 - API PREÇOS vinculado ao contrato e aos cartões de postagem.
- Autenticação
- Gerar token de acesso: Autenticação via cartão de postagem.
- Utilizar endpoint de autenticação fornecido pelo CWS.
- Armazenar o token com segurança e definir tempo de expiração.
- Identificação da Necessidade
- Definir o tipo de consulta: Nacional, Internacional, Serviços adicionais (ex: mão própria, aviso de recebimento, valor declarado).
- Consumo da API
- Acessar o endpoint da API Preço correspondente à necessidade.
- Enviar os parâmetros obrigatórios (CEP origem/destino, peso, tipo de serviço, etc.).
- Incluir o token de acesso no cabeçalho da requisição.
- Tratamento de Retorno
- Verificar o status HTTP da resposta.
- Tratar mensagens de erro: Token inválido ou expirado, Parâmetros incorretos, Serviço não disponível para o contrato.
- Interpretar os dados retornados: Valor do frete, Prazo de entrega, Serviços adicionais aplicáveis.
- Ambiente de Produção
- Após testes em homologação, migrar para o ambiente de produção.
- Atualizar URLs dos endpoints.
- Gerar token de produção.
- Validar novamente os serviços vinculados ao contrato.
3. Autenticação e Autorização
3.1 Métodos de Autenticação Suportados
O modo de autenticação da API é Bearer Token.
3.2 Obtenção de Credenciais
Para obter um token de acesso, pode-se utilizar a API Token (5), endpoint “/token/v1/autentica/cartaopostagem” ou uma chave de sub-delegação de acesso, método em que um usuário pessoa jurídica delega o acesso à uma ou mais APIs criando uma chave de acesso.
- Para detalhes de como gerar um token de acesso, acessar o manual da API token no link: Manual - Uso da API Token — Correios.
- Sobre como criar chave de subdelegação de acesso, acessar o passo a passo pode ser acessado no link: Sub-Delegação de Acesso.
3.3 Escopos e permissões
A API de preços está disponível somente para clientes de contrato com os Correios na modalidade a faturar.
Caso a API não esteja disponível, solicitar a sua liberação junto a gestão comercial do Correios. Esta liberação ocorrerá mediante cadastro de serviço específico no seu contrato.
3.4 Exemplo de Requisição Autenticada
Exemplo cURL de requisição POST:
Figura 3.1 – Requisição POST cURL
Exemplo de cURL de requisição GET:
Figura 3.2 – Requisição GET cURL
4. Padrões Técnicos utilizados
4.1 Formato das Requisições e Respostas
Os retornos da API, independentemente do verbo utilizado, se dão em formato JSON.
As requisições de consulta (GET), têm o envio dos parâmetros diretamente na URL de consulta, com estes parâmetros variando de acordo com o endpoint consumido. Já as requisições POST, devem ter os dados enviados no corpo da requisição (Body), em formato JSON.
4.2 Endpoints
URL Base:
- Produção: https://api.correios.com.br/preco/v1
- Homologação: https://apihom.correios.com.br/preco/v1
Verbos:
- GET – Consulta preços e serviços adicionais.
- POST – Consulta lista de preços.
4.3 Códigos de Status HTTP e Tratamento de Erros
Toda requisição que é enviada para o servidor retorna um código de status. Esses códigos são divididos em cinco famílias: 1xx, 2xx, 3xx, 4xx e 5xx.
Alguns dos códigos mais importantes e mais utilizados são:
2xx (Códigos de Sucesso)
- 200 – OK: Indica que a operação indicada teve sucesso.
- 201 – Created: Indica que o recurso desejado foi criado com sucesso. Deve retornar um cabeçalho
Location. - 202 – Accepted: Indica que a solicitação foi recebida e será processada em outro momento. Pode retornar um cabeçalho
Location. - 204 – No Content: Usualmente enviado em resposta a uma requisição PUT, POST ou DELETE.
3xx (Códigos de Redirecionamento)
- 301 – Moved Permanently: Significa que o recurso solicitado foi realocado permanentemente. Deve conter um cabeçalho
Locationcom a URL completa. - 303 – See Other: É utilizado quando a requisição foi processada, mas o servidor não deseja enviar o resultado, enviando o cabeçalho
Location. - 304 – Not Modified: É utilizado principalmente em requisições GET condicionais.
- 307 – Temporary Redirect: Similar ao 301, mas indica que o redirecionamento é temporário.
4xx (Erros Causados pelo Cliente)
- 400 – Bad Request: É uma resposta genérica para qualquer tipo de erro de processamento cuja responsabilidade é do cliente.
- 401 – Unauthorized: Utilizado quando o cliente está tentando realizar uma operação sem ter fornecido dados de autenticação válidos.
- 403 – Forbidden: Utilizado quando o cliente está tentando realizar uma operação sem ter a devida autorização.
- 404 – Not Found: Utilizado quando o recurso solicitado não existe.
- 405 – Method Not Allowed: Utilizado quando o método HTTP utilizado não é suportado pela URL. Deve incluir um cabeçalho
Allow. - 409 – Conflict: Utilizado quando há conflitos entre dois recursos.
- 410 – Gone: Semelhante ao 404, mas indica que um recurso já existiu neste local.
- 415 – Unsupported Media Type: Utilizado em resposta a clientes que solicitam um tipo de dados que não é suportado.
5xx (Erros Originados no Servidor)
- 500 – Internal Server Error: É uma resposta de erro genérica.
- 503 – Service Unavailable: Indica que o serviço não está funcionando corretamente. Pode incluir um cabeçalho Retry-After.
4.4 Limites de Requisições (Rate Limit) e bloqueio de acesso
O acesso às APIs é limitado a **150 requisições por segundo por usuário e IP**.
Isso implica que o mesmo usuário, se utilizar mais de um IP, tem essa limitação por IP (dois IPs permitem 300 requisições, 150 por IP).
5. Documentação dos Endpoints
Maiores detalhes da documentação técnica da API poderão ser visualizados no CWS (https://cwshom.correios.com.br/ e https://cws.correios.com.br/). Vide Manual do CWS em https://www.correios.com.br/atendimento/developers/manuais/correioswebservice.
5.1.1 URL Base
- Produção: https://api.correios.com.br/preco/v1
- Homologação: https://apihom.correios.com.br/preco/v1
5.1.2 Nacional – Consulta o preço de serviços / produtos
POST - /v1/nacional - Consulta preço de uma lista de serviços / produtos
Permite a pesquisa em lote de preços de entrega, tamanho do lote, no máximo 100 consultas.
Cabeçalhos
| Cabeçalhos | Tipo |
|---|---|
| Authorization | Bearer Token |
| Content-Type | application/json |
| Accept | application/json |
Lista de campos
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| idLote | String | Identificação do lote de consulta | Não |
| parametrosProduto | |||
| coproduto | String | Código do serviço / produto a ser consultado | Sim |
| nuContrato | String | Número do contrato com os Correios | Não |
| nuDR | String | Número da DR (Regional) do Contrato. Obrigatório caso o número do contrato seja informado | Não |
| cepOrigem | String | CEP de origem da postagem | Sim |
| psObjeto | String | Peso do Objeto em GRAMAS | Sim |
| tpObjeto | String | Tipo de objeto enviado 1 - Envelope, 2 - Pacote; 3 – Rolo. Para que as medidas sejam consideradas no cálculo de peso cúbico, este campo deve ser informado | Não |
| comprimento | String | Comprimento do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2 ou 3. | Não |
| largura | String | Largura do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2. | Não |
| altura | String | Altura do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2. | Não |
| diametro | String | Diâmetro do objeto em centímetros. Obrigatório caso o tipo de objeto seja 3. | Não |
| servicosAdicionais | String | Lista de serviços adicionais | Não |
| vlDeclarado | String | Valor Declarado associado ao serviço | Não |
| dtEvento | String | Data que será usada como base para cálculo do preço. Formato DD-MM-AAAA | Não |
| cepDestino | String | CEP de destino da Postagem | Sim |
Para cotação de serviços de encomenda, os campos `cepOrigem` e `cepDestino` devem ser enviados.
Caso o campo `tpObjeto` seja preenchido com o valor **2 – Pacote**, os campos `comprimento`, `largura` e `altura` devem ser enviados.
Caso o campo `tpObjeto` seja preenchido com o valor **3 – Rolo**, os campos `comprimento` e `diametro` devem ser enviados.
Modelo básico de Requisição (JSON)
{
"idLote": "001",
"parametrosProduto": [
{
"coProduto": "03220",
"nuRequisicao": "0001",
"nuContrato": "9999999999",
"nuDR": 72,
"cepOrigem": "01001001",
"psObjeto": "200",
"nuUnidade": "",
"tpObjeto": "2",
"comprimento": "20",
"largura": "20",
"altura": "20",
"cepDestino": "01001001"
},
{
"coProduto": "03220",
"nuRequisicao": "0002",
"nuContrato": "9999999999",
"nuDR": 72,
"cepOrigem": "01001001",
"psObjeto": "200",
"nuUnidade": "",
"tpObjeto": "2",
"comprimento": "20",
"largura": "20",
"altura": "20",
"cepDestino": "01001001"
}
]
}
GET - /v1/nacional/{coProduto} - Consulta preço de um serviço / produto
Cabeçalhos
| Cabeçalhos | Tipo |
|---|---|
| Authorization | Bearer Token |
| Content-Type | application/json |
| Accept | application/json |
Lista de Campos
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| coproduto | String | Código do serviço / produto a ser consultado | Sim |
| cepDestino | String | CEP de destino da Postagem | Sim |
| nuContrato | String | Número do contrato com os Correios | Não |
| nuDR | String | Número da DR (Regional) do Contrato. Obrigatório caso o número do contrato seja informado | Não |
| cepOrigem | String | CEP de origem da postagem | Sim |
| psObjeto | String | Peso do Objeto em GRAMAS | Sim |
| tpObjeto | String | Tipo de objeto enviado 1 - Envelope, 2 - Pacote; 3 – Rolo. Para que as medidas sejam consideradas no cálculo de peso cúbico, este campo deve ser informado | Não |
| comprimento | String | Comprimento do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2 ou 3. | Não |
| largura | String | Largura do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2. | Não |
| altura | String | Altura do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2. | Não |
| diametro | String | Diâmetro do objeto em centímetros. Obrigatório caso o tipo de objeto seja 3. | Não |
| servicosAdicionais | String | Lista de serviços adicionais | Não |
| vlDeclarado | String | Valor Declarado associado ao serviço | Não |
| dtEvento | String | Data que será usada como base para cálculo do preço. Formato DD-MM-AAAA | Não |
| cepDestino | String | CEP de destino da Postagem | Sim |
Para cotação de serviços de encomenda, os campos `cepOrigem` e `cepDestino` devem ser enviados.
Caso o campo `tpObjeto` seja preenchido com o valor **2 – Pacote**, os campos `comprimento`, `largura` e `altura` devem ser enviados.
Caso o campo `tpObjeto` seja preenchido com o valor **3 – Rolo**, os campos `comprimento` e `diametro` devem ser enviados.
Modelo básico de requisição (GET)
https://api.correios.com.br/preco/v1/nacional/04162?cepDestino=71930000&cepOrigem=70902000&psObjeto=300&tpObjeto=2&largura=22&altura=22&diametro=22
5.1.3 Serviços Adicionais – Preços dos serviços adicionais
GET - /v1/serviços-adicionais/{coProduto} – Consulta preço dos serviços adicionais de um serviço / produto
Cabeçalhos
| Cabeçalhos | Tipo |
|---|---|
| Authorization | Bearer Token |
| Content-Type | application/json |
| Accept | application/json |
Lista de Campos
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| coproduto | String | Código do serviço / produto a ser consultado | Sim |
| vlDeclarado | String | Valor declarado associado ao produto | Não |
| dtEvento | String | Data que será usada para cálculo do preço. Formato AAAA-MM-DD | Não |
| sgPais | String | Sigla do país | Não |
Modelo de requisição (GET)
https://api.correios.com.br/preco/v1/servicos-adicionais/03220?sgPais=BR
5.1.4 Preço de Produtos e Serviços Internacionais
Lista de Serviços disponíveis para consulta:
| Código de serviço | Nome do Serviço |
|---|---|
| 45012 | DOCUMENTO INTERNACION EXPRESSO |
| 45403 | DOCUMENTO INTER EXPRESSO TA |
| 45071 | DOCUMENTO INTER STANDARD CHANC |
| 45039 | DOCUMENTO INTERNACION STANDARD |
| 45209 | EXPORTA FACIL ECONOMICO |
| 45454 | EXPORTA FACIL PRE PG 2 |
| 45110 | EXPORTA FACIL EXPRESSO |
| 45128 | EXPORTA FACIL STANDARD |
POST – /v1/internacional Consulta preço de uma lista de serviços / produtos
Cabeçalhos
| Cabeçalhos | Tipo |
|---|---|
| Authorization | Bearer Token |
| Content-Type | application/json |
| Accept | application/json |
Lista de Campos
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| coproduto | String | Código do serviço / produto a ser consultado | Sim |
| nuRequisicao | String | Número da requisição enviada | Sim |
| nuContrato | String | Número do contrato com os Correios | Não |
| nuDR | String | Número da DR (Regional) do Contrato. Obrigatório caso o número do contrato seja informado | Não |
| cepOrigem | String | CEP de origem da postagem | Sim |
| psObjeto | String | Peso do Objeto em GRAMAS | Sim |
| tpObjeto | String | Tipo de objeto enviado 1 - Envelope, 2 - Pacote; 3 – Rolo. Para que as medidas sejam consideradas no cálculo de peso cúbico, este campo deve ser informado | Não |
| comprimento | String | Comprimento do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2 ou 3. | Não |
| largura | String | Largura do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2. | Não |
| altura | String | Altura do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2. | Não |
| diametro | String | Diâmetro do objeto em centímetros. Obrigatório caso o tipo de objeto seja 3. | Não |
| servicosAdicionais | String | Lista de serviços adicionais | Não |
| vlDeclarado | String | Valor Declarado associado ao serviço | Não |
| dtEvento | String | Data que será usada como base para cálculo do preço. Formato DD-MM-AAAA | Não |
| cepDestino | String | CEP de destino da Postagem | Não |
| sgPaisDestino | String | Sigla do país de destino da postagem | Sim |
Modelo básico de Requisição (JSON)
{
"idLote": "01",
"parametrosProduto": [
{
"coProduto": "45012",
"nuRequisicao": "1",
"nuContrato": "9999999999",
"nuDR": 72,
"cepOrigem": "01001001",
"psObjeto": "300",
"tpObjeto": "1",
"comprimento": "20",
"largura": "20",
"altura": "",
"diametro": "",
"psCubico": "",
"vlDeclarado": "",
"dtEvento": "",
"sgPaisDestino": "US"
}
]
}
GET - /v1/internacional/{coproduto} Consulta preço de serviços / produtos
Cabeçalhos
| Cabeçalhos | Tipo |
|---|---|
| Authorization | Bearer Token |
| Content-Type | application/json |
| Accept | application/json |
Lista de Campos
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| coproduto | String | Código do serviço / produto a ser consultado | Sim |
| sgPaisDestino | String | Sigla do país de destino da postagem | Sim |
| nuRequisicao | String | Número da requisição enviada | Sim |
| nuContrato | String | Número do contrato com os Correios | Não |
| nuDR | String | Número da DR (Regional) do Contrato. Obrigatório caso o número do contrato seja informado | Não |
| cepOrigem | String | CEP de origem da postagem | Sim |
| psObjeto | String | Peso do Objeto em GRAMAS | Sim |
| tpObjeto | String | Tipo de objeto enviado 1 - Envelope, 2 - Pacote; 3 – Rolo. Para que as medidas sejam consideradas no cálculo de peso cúbico, este campo deve ser informado | Não |
| comprimento | String | Comprimento do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2 ou 3. | Não |
| largura | String | Largura do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2. | Não |
| altura | String | Altura do objeto em centímetros. Obrigatório caso o tipo de objeto seja 2. | Não |
| diametro | String | Diâmetro do objeto em centímetros. Obrigatório caso o tipo de objeto seja 3. | Não |
| servicosAdicionais | String | Lista de serviços adicionais | Não |
| vlDeclarado | String | Valor Declarado associado ao serviço | Não |
Modelo básico de requisição (GET)
https://api.correios.com.br/preco/v1/internacional/45012?sgPaisDestino=CN&nuContrato=9999999999&nuDR=72&cepOrigem=70902000&psObjeto=300
6. Exemplos de Integração
O padrão de arquitetura RESTful permite que a API Preço seja consumida pelos mais diversos tipos de linguagens disponíveis no mercado.
6.1 Exemplos requisições (ex: em Linguagens Populares)
Exemplos de consumo da API Preço, usando os verbos GET e POST:
cURL - POST - /v1/nacional - Consulta preço de uma lista de serviços / produtos
curl -X 'POST' \
'https://api.correios.com.br/preco/v1/nacional' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer “Token de acesso”' \
-d '{
"idLote": "001",
"parametrosProduto": [
{
"coProduto": "03220",
"nuRequisicao": "0001",
"nuDR": 72,
"cepOrigem": "01001001",
"psObjeto": "200",
"nuUnidade": "",
"tpObjeto": "2",
"comprimento": "20",
"largura": "20",
"altura": "20",
"cepDestino": "01001001"
},
{
"coProduto": "03298",
"nuRequisicao": "0002",
"nuDR": 72,
"cepOrigem": "01001001",
"psObjeto": "200",
"nuUnidade": "",
"tpObjeto": "2",
"comprimento": "20",
"largura": "20",
"altura": "20",
"cepDestino": "01001001"
}
]
}'
cURL - GET - /v1/nacional/{coProduto} - Consulta preço de um serviço / produto
curl -X 'GET' \
'https://api.correios.com.br/preco/v1/nacional/04162?cepDestino=71930000&nuDR=72&cepOrigem=70902000&psObjeto=300&tpObjeto=2&comprimento=22&largura=22&altura=22' \
-H 'accept: application/json' \
-H 'Authorization: Bearer “Token de acesso”'
6.2 Casos de Uso Comuns
Caso de Uso 1: Buscar preço de entrega para um serviço (GET)
Busca preço de entrega para o serviço Sedex – Código 03220, com Cep de origem 01001-001 e destino 70064-000, de objeto com 300 gramas de peso, tipo pacote, com medidas 20 x 20 x 20, com data de postagem dia 01/10/2025.
- Resumo: Testa a recuperação dos dados de preço de entrega, informando serviço, CEPs, medidas e peso da encomenda.
- Pré-condições: Token de acesso ou chave de subdelegação válidos, com a API Preço (35) entre as APIs liberadas, serviço, CEPs de origem e destino, peso e medidas do pacote.
- Etapas:
- Enviar uma solicitação GET, com os seguintes parâmetros:
https://api.correios.com.br/preco/v1/nacional/03220?cepDestino=71930000&cepOrigem=70902000&psObjeto=300&tpObjeto=2&comprimento=20&largura=20&altura=20 - Verificar se o código de status da resposta é **200 (OK)**.
- Afirmar que os dados JSON retornados contêm as informações esperadas (principalmente
pcFinal,coProduto,psCobrado).
- Enviar uma solicitação GET, com os seguintes parâmetros:
- Resultados Esperados: Dados de código de serviço / produto, peso cobrado, e preço final são entregues corretamente.
- Resultados Reais (Exemplo JSON):
{
"coProduto": "04162",
"pcBase": "11,16",
"pcBaseGeral": "11,64",
"peVariacao": "0,0000",
"pcReferencia": "11,64",
"vlBaseCalculoImposto": "11,64",
"inPesoCubico": "N",
"psCobrado": "300",
"peAdValorem": "0,0100",
"vlSeguroAutomatico": "25,63",
"qtAdicional": "0",
"pcFaixa": "11,64",
"pcFaixaVariacao": "11,64",
"pcProduto": "11,64",
"pcFinal": "11,64"
}
Caso de Uso 2: Buscar preço de entrega para uma lista de serviços (POST)
Busca o preço de entrega de uma lista de serviços (Sedex - 03220, Pac - 03298, Sedex 10 – 03158, Sedex 12 - 03140) para o CEP de origem 01001001 e o CEP de destino 70064000, com medidas 20 x 20 x 20, e com postagem no dia 01/10/2025.
- Resumo: Testa a recuperação dos dados de preço de entrega de diversos serviços.
- Pré-condições: Token de acesso ou chave de subdelegação válidos, com a API Preço (35) entre as APIs liberadas, lista de serviços, CEPs de origem e destino.
- Etapas:
- Enviar uma solicitação POST para
https://api.correios.com.br/preco/v1/nacional. - No corpo da requisição (body), enviar os dados em formato **JSON** (vide exemplo abaixo).
- Verificar se o código de status da resposta é **200 (OK)** ou **206** (indica indisponibilidade de um ou mais dos serviços consultados).
- Afirmar que os dados **JSON** retornados contêm as informações esperadas (principalmente
pcFinal,coProduto,psCobrado), exibindo no retorno somente os serviços em que é possível o envio da encomenda.
- Enviar uma solicitação POST para
- Corpo da Requisição (Exemplo JSON):
{
"idLote": "001",
"parametrosProduto": [
{
"coProduto": "03220",
"nuRequisicao": "0001",
"nuDR": 72,
"cepOrigem": "01001001",
"psObjeto": "200",
"nuUnidade": "",
"tpObjeto": "2",
"comprimento": "20",
"largura": "20",
"altura": "20",
"cepDestino": "01001001"
},
{
"coProduto": "03298",
"nuRequisicao": "0002",
"nuDR": 72,
"cepOrigem": "01001001",
"psObjeto": "200",
"nuUnidade": "",
"tpObjeto": "2",
"comprimento": "20",
"largura": "20",
"altura": "20",
"cepDestino": "01001001"
},
{
"coProduto": "03158",
"nuRequisicao": "0003",
"nuDR": 72,
"cepOrigem": "01001001",
"psObjeto": "200",
"nuUnidade": "",
"tpObjeto": "2",
"comprimento": "20",
"largura": "20",
"altura": "20",
"cepDestino": "01001001"
},
{
"coProduto": "03140",
"nuRequisicao": "0004",
"nuDR": 72,
"cepOrigem": "01001001",
"psObjeto": "200",
"nuUnidade": "",
"tpObjeto": "2",
"comprimento": "20",
"largura": "20",
"altura": "20",
"cepDestino": "01001001"
}
]
}
Verificar se o código de status da resposta é 200 (OK) ou 206 (indica indisponibilidade de um ou mais dos serviços consultados).
Afirmar que os dados JSON retornados contêm as informações esperadas do usuário (prazoEntrega, entregaDominiciliar, entregaSabado).
Resultados Esperados: Dados de prazo de entrega, data máxima, entrega domiciliar, entrega aos sábados são entregues corretamente.
- Resultados Reais (Exemplo JSON):
[
{
"coProduto": "03220",
"pcBase": "9,53",
"pcBaseGeral": "9,53",
"peVariacao": "0,0000",
"pcReferencia": "9,53",
"vlBaseCalculoImposto": "9,53",
"nuRequisicao": "0001",
"inPesoCubico": "N",
"psCobrado": "200",
"peAdValorem": "0,0100",
"vlSeguroAutomatico": "25,63",
"qtAdicional": "0",
"pcFaixa": "9,53",
"pcFaixaVariacao": "9,53",
"pcProduto": "9,53",
"pcFinal": "9,53"
},
{
"coProduto": "03298",
"pcBase": "16,47",
"pcBaseGeral": "16,47",
"peVariacao": "0,0000",
"pcReferencia": "16,47",
"vlBaseCalculoImposto": "16,47",
"nuRequisicao": "0002",
"inPesoCubico": "N",
"psCobrado": "200",
"peAdValorem": "0,0100",
"vlSeguroAutomatico": "25,63",
"qtAdicional": "0",
"pcFaixa": "16,47",
"pcFaixaVariacao": "16,47",
"pcProduto": "16,47",
"pcFinal": "16,47"
},
{
"coProduto": "03158",
"nuRequisicao": "0002",
"txErro": "ERP-006: CEP de origem nao pode postar para CEP de destino."
},
{
"coProduto": "03140",
"pcBase": "28,20",
"pcBaseGeral": "28,20",
"peVariacao": "0,0000",
"pcReferencia": "28,20",
"vlBaseCalculoImposto": "28,20",
"nuRequisicao": "0002",
"inPesoCubico": "N",
"psCobrado": "200",
"peAdValorem": "0,0100",
"vlSeguroAutomatico": "25,63",
"qtAdicional": "0",
"pcFaixa": "28,20",
"pcFaixaVariacao": "28,20",
"pcProduto": "28,20",
"pcFinal": "28,20"
}
]
7. Ambientes Disponíveis
7.1 Ambiente de Homologação
- URL Base: https://apihom.correios.com.br/preco/v3
- Credencial de acesso: Token Homologação
- Coleção de endpoints: https://apihom.correios.com.br/preco/v3/api-docs
7.2 Ambiente de Produção
- URL Base: https://api.correios.com.br/preco/v3
- Credencial de acesso: Token
- Coleção de endpoints: https://api.correios.com.br/preco/v3/api-docs
8. Boas Práticas
Aplicando boas práticas, você evita erros ao utilizar nossas APIs e consegue obter melhor desempenho e performance em suas integrações. Dentre várias ações, destacamos:
- Tratar os retornos corretamente, inclusive os erros recebidos;
- Respeitar os limites de uso da API;
- Uso eficiente dos dados;
- Legalidade (LGPD).
8.1 Segurança na Integração
- Não compartilhe dados de acesso às APIs em grupos, fóruns ou documentos compartilhados.
- No caso de fornecimento de acesso às equipes de desenvolvimento, prefira o uso de chave de subdelegação de acesso, pois estas chaves têm validade e podem ser canceladas ou revogadas a qualquer momento.
8.2 Validação de Dados
Sempre valide os dados a serem consultados antes de enviar as solicitações. Os CEPs de origem e destino podem ser validados na API CEP (41), e os serviços disponíveis (Pac, Sedex, etc...) podem ser verificados na API Meu Contrato (566). Isso ajuda a diminuir o consumo de recursos de TI.
9. Suporte e Contato
9.1 Canais de Suporte Técnico
Entre em contato com o representante comercial responsável pelo seu contrato com os Correios; ele é responsável pelo redirecionamento ao suporte tecnológico da sua região.
Suporte tecnológico: https://faleconosco.correios.com.br/faleconosco//app/cadastro/suporte/tecnologico/index.php
Também é possível a abertura de chamado via Fale Com os Correios, vide números na página https://www.correios.com.br/falecomoscorreios/central-de-atendimento.
9.2 Processo de Abertura de Chamados
Fale Com os Correios - Suporte tecnológico: https://www.correios.com.br/falecomoscorreios/central-de-atendimento
10. Anexos
10.1 Glossário de Termos Técnicos
| Termo | Descrição |
|---|---|
| API | Application Programming Interfaces (Interface de Programação de Aplicações): conjunto de regras e protocolos que permite a comunicação entre diferentes softwares. |
| API Manager | Sistema gerador de tokens para acesso de APIs. |
| Autenticação | Processo de verificação de uma identidade digital do usuário. |
| Autorização | Processo para verificar quais são os privilégios concedidos. |
| Cartão de postagem | Cartão que identifica um usuário como cliente de contrato dos Correios. |
| CEP | Código de Endereçamento Postal - código numérico de oito dígitos usado pelos Correios no Brasil. |
| Código de acesso a APIs | Código de acesso criado pelo usuário no site Correios Web Services. |
| Contrato comercial | Instrumento que o cliente firma com os Correios para a prestação de serviços. |
| DNE | Diretório Nacional de Endereços - Base de endereçamento dos Correios. |
| HTTPS | Hypertext Transfer Protocol Secure: versão segura do protocolo HTTP. |
| Meu Correios | Mecanismo de autenticação e autorização para acesso aos serviços que os Correios disponibilizam via internet. |
| REST | Representational State Transfer - estilo de arquitetura de software para comunicação entre sistemas na web. |
| Token ou bearer token | Credencial de segurança que concede acesso a recursos protegidos. |
| Unidade | Denominação comum aos endereços dos Correios (agências, centros de distribuição, etc.). |
10.2 Referências e links úteis
- Correios Web Services – CWS: https://cws.correios.com.br/
- Manual – Correios Web Service: https://www.correios.com.br/atendimento/developers/manuais/correioswebservice
- Correios – desenvolvedores: https://www.correios.com.br/atendimento/developers
- Contrate os Correios: https://www.correios.com.br/enviar/precisa-de-ajuda/contrate-os-correios/
- Suporte ao cliente com contrato: https://faleconosco.correios.com.br/faleconosco/app/cadastro/suporte/index.php
- Central de Atendimento: https://www.correios.com.br/falecomoscorreios/central-de-atendimento
10.3 Histórico de Alterações da API e da respectiva documentação
| Data | Evento | Versão | Responsável | Observações |
|---|---|---|---|---|
| 24/11/2025 | Criação do Manual | 1.0 | Correios | - |