Documentação da API V2
Carzin API V2
Consulte endpoints, parâmetros, autenticação e exemplos de requisições e respostas para integrar com a Carzin API V2.
https://api.carzin.com.br/v2
A API V2 é exclusiva do subdomínio da API. Esta página e o OpenAPI são públicos; as chamadas aos recursos exigem uma credencial de aplicação.
Autenticação
Chaves de integração são gerenciadas em Ferramentas → API Carzin V2 — Chaves, com título, endpoints autorizados e validade opcional por data e hora em UTC. Guarde a chave exibida ao criar ou regenerar: o segredo não será mostrado novamente. Excluir ou regenerar revoga imediatamente o acesso da chave anterior.
O escopo combina método e rota, por exemplo GET /app/version. Chaves inválidas ou expiradas retornam 401 INVALID_API_KEY; rotas fora do escopo retornam 403 SCOPE_DENIED. Permissões da chave não substituem a sessão de membro ou a credencial de serviço. A documentação e o OpenAPI são públicos.
Envie X-API-Key em todas as chamadas. Essa chave pertence ao servidor e nunca deve entrar no JavaScript do navegador. Nas operações de conta e afiliados, envie também Authorization: Bearer ACCESS_TOKEN.
POST /v2/auth/login
Content-Type: application/json
X-API-Key: APPLICATION_KEY
{"email":"[email protected]","password":"Use-uma-senha-forte!"}
{
"data": {
"user": {"id":123,"name":"Nome Completo"},
"session": {
"accessToken":"OPAQUE_TOKEN",
"tokenType":"Bearer",
"expiresAt":"2026-12-01T12:00:00.000Z"
}
},
"meta":{"requestId":"req-123"}
}- Sessões aleatórias de 256 bits, armazenadas como hash, expiram em 30 dias.
DELETE /auth/sessionrevoga a sessão atual. - Senhas usam scrypt. Um login V2 válido migra o hash legado; tokens de membro da V1 não são aceitos como sessões V2.
- Recuperação retorna uma mensagem neutra e envia um link de uso único, válido por 30 minutos. A troca de senha revoga todas as sessões V2.
- Google/Facebook continuam abstraídos pelo Auth.js.
/auth/socialexige tambémX-Service-Tokene só pode ser chamado pelo servidor após validar o provider; não é login por e-mail público. - Login com Apple usa
POST /auth/apple/challengescom JSON vazio. Encaminhedata.nonceHashpara a solicitação de identidade da Apple e mantenhadata.nonceassociado à tentativa. Envie o identity token, o nonce original e, opcionalmente, o nome emPOST /auth/apple. O desafio expira em cinco minutos e só pode ser usado uma vez. A API valida assinatura, emissor, audiência, expiração, nonce e e-mail verificado nas chaves da Apple; ela nunca aceita um e-mail informado pelo cliente como prova de identidade. ConfigureAPPLE_CLIENT_IDSno servidor. Nunca exponha a API key no aplicativo: use um backend confiável como intermediário e HTTPS. - Uma sessão de membro não concede acesso administrativo. O website faz a ponte de servidor e mantém a sessão em cookie HttpOnly, Secure e SameSite.
- Na confirmação de celular,
POST /app/sms/sendretorna 202 comchallengeIde validade; a entrega depende do job de SMS. Envie o identificador e o código de seis dígitos emPOST /app/sms/confirm. O código é de uso único, expira em cinco minutos e é vinculado ao celular atual da conta. Há limites de envio e tentativas. POST /fipe/valuationsexige tambémX-Service-Token. O website valida Turnstile antes de solicitar a cópia opcional. A resposta 202 confirma o enfileiramento, não a entrega do e-mail.GET /classifiedsretornafacetscom estados, cidades, marcas, modelos, anos, limites de preço, cores, combustível, câmbio, blindagem e vendedor disponíveis no estoque ativo. As opções respeitam os demais filtros, ignorando a própria seleção para permitir sua troca. Marca ignora também modelo; estado ignora cidade. Anos e preços ignoram o próprio intervalo. Listas textuais vêm em ordem alfabética, sem contagens por opção.
# Login com Apple (executar no servidor confiável)
POST /v2/auth/apple/challenges
X-API-Key: APPLICATION_KEY
Content-Type: application/json
{}
# Passe data.nonceHash à Apple; retenha data.nonce para esta tentativa.
POST /v2/auth/apple
X-API-Key: APPLICATION_KEY
Content-Type: application/json
{"identityToken":"APPLE_IDENTITY_TOKEN","nonce":"NONCE_RECEBIDO","name":"Nome Opcional"}
# A resposta contém data.session.accessToken; não registre tokens nem nonces em logs.Respostas, erros e limites
{
"error": {
"code":"VALIDATION_ERROR",
"message":"Confira os campos informados.",
"fields":{"email":["Informe um e-mail válido."]}
},
"meta":{"requestId":"req-123"}
}Sucesso retorna data; falhas retornam error com status HTTP apropriado. Use meta.requestId ao reportar problemas.
| Status | Significado |
|---|---|
| 200 / 201 / 202 | Consulta/operação concluída, recurso criado ou envio enfileirado. |
| 400 / 422 | JSON, campos ou regra de negócio inválidos. |
| 401 / 403 | Credencial/sessão inválida ou permissão insuficiente. |
| 404 | Recurso não encontrado ou não pertencente ao membro. |
| 415 | Use application/json; form-data pertence à V1. |
| 429 | Limite atingido; observe Retry-After e não repita imediatamente. |
| 500 / 503 | Falha de serviço; não trate como sucesso. |
Limite geral: 300 requisições/minuto por IP. Por janela de 15 minutos: login/social 10, cadastro/recuperação/mensagens 5, reset 8, publicação 10 e imagens 20. Validações de negócio continuam valendo após validar o JSON. Fotos são base64 JPEG/PNG/WebP, até 10 MB cada e 10 por anúncio; nenhuma URL remota é aceita para upload V2.
validate
post/validateFirebase App Check
Valida Firebase App Check e encaminha uma requisição à API V2.
Envie o token temporário em X-Firebase-AppCheck. A API valida o token e acrescenta a chave de integração no servidor; o caminho deve ser relativo à V2 e não aceita URLs externas.
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| path | string; mínimo 2 caracteres; máximo 2048 caracteres | Sim |
| method | string (GET, POST, PUT, PATCH, DELETE) | Sim |
| query | object | Não |
| body | valor | Não |
| headers | object | Não |
curl -X POST 'https://api.carzin.com.br/v2/validate' \
-H 'X-Firebase-AppCheck: FIREBASE_APP_CHECK_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"path": "/app/version",
"method": "GET"
}'catalog
get/catalog/fipe/models/{id}/versionsChave de aplicação
Listar versões FIPE de um modelo
Parâmetros de consulta
- type
- string (cars, motorcycles, trucks); padrão: cars; opcional
curl -X GET 'https://api.carzin.com.br/v2/catalog/fipe/models/{id}/versions' \
-H 'X-API-Key: APPLICATION_KEY'get/catalog/fipe/versions/{id}/yearsChave de aplicação
Listar anos FIPE de uma versão
Parâmetros de consulta
- type
- string (cars, motorcycles, trucks); padrão: cars; opcional
curl -X GET 'https://api.carzin.com.br/v2/catalog/fipe/versions/{id}/years' \
-H 'X-API-Key: APPLICATION_KEY'post/catalog/guide/reviewsSessão de membro
Publicar uma avaliação de veículo do proprietário autenticado
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| manufacturer | integer; máximo 9007199254740991 | Sim |
| model | integer; máximo 9007199254740991 | Sim |
| version | integer; máximo 9007199254740991 | Sim |
| year | integer; mínimo 1900; máximo 2027 | Sim |
| note_design | integer; mínimo 1; máximo 5 | Sim |
| note_performance | integer; mínimo 1; máximo 5 | Sim |
| note_confort | integer; mínimo 1; máximo 5 | Sim |
| note_driving | integer; mínimo 1; máximo 5 | Sim |
| note_consumption | integer; mínimo 1; máximo 5 | Sim |
| note_benefit | integer; mínimo 1; máximo 5 | Sim |
| comment_positive | string; mínimo 10 caracteres; máximo 500 caracteres | Sim |
| comment_negative | string; máximo 500 caracteres | Não |
curl -X POST 'https://api.carzin.com.br/v2/catalog/guide/reviews' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"manufacturer": 1,
"model": 1,
"version": 1,
"year": 1900,
"note_design": 1,
"note_performance": 1,
"note_confort": 1,
"note_driving": 1,
"note_consumption": 1,
"note_benefit": 1,
"comment_positive": "<comment_positive>"
}'get/catalog/guideChave de aplicação
Read guide models, years, technical data, news and owner reviews
Exemplo de filtros: ?vehicleType=cars&manufacturer=fiat&model=pulse
Parâmetros de consulta
- vehicleType
- string (cars, motorcycles, trucks); padrão: cars; opcional
- manufacturer
- string; opcional
- model
- string; opcional
- year
- integer; mínimo: 1900; máximo: 2100; opcional
- version
- integer; máximo: 9007199254740991; opcional
- page
- integer; padrão: 1; mínimo: 1; máximo: 1000; opcional
- tab
- string (overview, versoes, ficha-tecnica, noticias, opinioes); padrão: overview; opcional
- q
- string; opcional
- brand
- string; opcional
- style
- integer; mínimo: 1; máximo: 8; opcional
- order
- string (recent, price, price-desc); padrão: recent; opcional
- priceMin
- number; mínimo: 0; máximo: 100000000; opcional
- priceMax
- number; mínimo: 0; máximo: 100000000; opcional
- motorMin
- number; mínimo: 0; máximo: 100; opcional
- motorMax
- number; mínimo: 0; máximo: 100; opcional
- powerMin
- number; mínimo: 0; máximo: 10000; opcional
- powerMax
- number; mínimo: 0; máximo: 10000; opcional
- trunkMin
- number; mínimo: 0; máximo: 100000; opcional
- trunkMax
- number; mínimo: 0; máximo: 100000; opcional
- category
- string; opcional
curl -X GET 'https://api.carzin.com.br/v2/catalog/guide?vehicleType=cars&manufacturer=fiat&model=pulse' \
-H 'X-API-Key: APPLICATION_KEY'get/catalogChave de aplicação
List manufacturers, models or versions
Exemplo de filtros: ?type=cars&mode=buy&manufacturer=123&model=456
Parâmetros de consulta
- type
- string (cars, motorcycles, trucks); padrão: cars; opcional
- manufacturer
- integer; máximo: 9007199254740991; opcional
- model
- integer; máximo: 9007199254740991; opcional
- version
- integer; máximo: 9007199254740991; opcional
- year
- integer; mínimo: 1900; máximo: 2100; opcional
- mode
- string (buy, sell); padrão: sell; opcional
- state
- string; opcional
curl -X GET 'https://api.carzin.com.br/v2/catalog?type=cars&mode=buy&manufacturer=123&model=456' \
-H 'X-API-Key: APPLICATION_KEY'get/catalog/fipeChave de aplicação
Read minimal FIPE form options
Exemplo de filtros: ?type=cars&manufacturer=fiat&model=pulse
Parâmetros de consulta
- type
- string (cars, motorcycles, trucks); padrão: cars; opcional
- manufacturer
- string; opcional
- model
- string; opcional
curl -X GET 'https://api.carzin.com.br/v2/catalog/fipe?type=cars&manufacturer=fiat&model=pulse' \
-H 'X-API-Key: APPLICATION_KEY'fipe
get/fipe/values/{id}Chave de aplicação
Consultar valor FIPE e histórico de preços
Parâmetros de consulta
- type
- string (cars, motorcycles, trucks); padrão: cars; opcional
curl -X GET 'https://api.carzin.com.br/v2/fipe/values/{id}' \
-H 'X-API-Key: APPLICATION_KEY'post/fipe/valuationsServiço autenticado
Enfileirar um e-mail opcional com a avaliação FIPE (apenas website confiável)
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| manufacturer | string; mínimo 1 caracteres; máximo 180 caracteres | Sim |
| model | string; mínimo 1 caracteres; máximo 180 caracteres | Sim |
| year | string | Sim |
| version | string; mínimo 1 caracteres; máximo 180 caracteres | Sim |
| string; máximo 254 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/fipe/valuations' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"manufacturer": "<manufacturer>",
"model": "<model>",
"year": "<year>",
"version": "<version>",
"email": "[email protected]"
}' \
-H 'X-Service-Token: SERVICE_SECRET'get/fipeChave de aplicação
Read FIPE manufacturers, models, years, versions or price history
Exemplo de filtros: ?type=cars&manufacturer=fiat&model=pulse&year=2026&version=10-turbo-200-flex-aut
Parâmetros de consulta
- type
- string (cars, motorcycles, trucks); padrão: cars; opcional
- manufacturer
- string; opcional
- model
- string; opcional
- year
- string; opcional
- version
- string; opcional
curl -X GET 'https://api.carzin.com.br/v2/fipe?type=cars&manufacturer=fiat&model=pulse&year=2026&version=10-turbo-200-flex-aut' \
-H 'X-API-Key: APPLICATION_KEY'classifieds
get/classifieds/statesChave de aplicação
Listar os estados brasileiros na ordem de prioridade legada
curl -X GET 'https://api.carzin.com.br/v2/classifieds/states' \
-H 'X-API-Key: APPLICATION_KEY'post/classifieds/{id}/reportsChave de aplicação
Denunciar um anúncio
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| name | string; mínimo 2 caracteres; máximo 150 caracteres | Sim |
| string; máximo 254 caracteres | Sim | |
| reason | enum / union | Sim |
curl -X POST 'https://api.carzin.com.br/v2/classifieds/{id}/reports' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"name": "Nome Completo",
"email": "[email protected]",
"reason": 1
}'post/classifieds/{id}/phone-viewsChave de aplicação
Registrar a exibição do telefone de um anúncio ativo
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
curl -X POST 'https://api.carzin.com.br/v2/classifieds/{id}/phone-views' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars"
}'get/classifiedsChave de aplicação
Buscar anúncios ativos com filtros de veículo, localização e preço
Exemplo de filtros: ?vehicleType=cars&manufacturer=toyota&state=SP&priceMax=100000&order=price-asc&page=1
Parâmetros de consulta
- vehicleType
- string (cars, motorcycles, trucks); padrão: cars; opcional
- state
- string; opcional
- city
- string; opcional
- manufacturer
- string; opcional
- model
- string; opcional
- versionId
- integer; máximo: 9007199254740991; opcional
- title
- string; opcional
- q
- string; opcional
- yearMin
- integer; mínimo: 1900; máximo: 2100; opcional
- yearMax
- integer; mínimo: 1900; máximo: 2100; opcional
- priceMin
- number; mínimo: 0; opcional
- priceMax
- number; mínimo: 0; opcional
- color
- integer; mínimo: 1; máximo: 18; opcional
- gear
- integer; mínimo: 1; máximo: 5; opcional
- fuel
- integer; mínimo: 1; máximo: 10; opcional
- armored
- string (0, 1, true, false); opcional
- sellerType
- integer; mínimo: 1; máximo: 2; opcional
- sellerId
- integer; máximo: 9007199254740991; opcional
- order
- string (newest, oldest, price-asc, price-desc); padrão: newest; opcional
- page
- integer; padrão: 1; mínimo: 1; máximo: 10000; opcional
curl -X GET 'https://api.carzin.com.br/v2/classifieds?vehicleType=cars&manufacturer=toyota&state=SP&priceMax=100000&order=price-asc&page=1' \
-H 'X-API-Key: APPLICATION_KEY'get/classifieds/{id}Chave de aplicação
Read a public classified
Exemplo de filtros: ?vehicleType=cars
Parâmetros de consulta
- vehicleType
- string (cars, motorcycles, trucks); padrão: cars; opcional
curl -X GET 'https://api.carzin.com.br/v2/classifieds/{id}?vehicleType=cars' \
-H 'X-API-Key: APPLICATION_KEY'post/classifieds/{id}/viewsChave de aplicação
POST /classifieds/{id}/views
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
curl -X POST 'https://api.carzin.com.br/v2/classifieds/{id}/views' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars"
}'get/classifieds/bannerChave de aplicação
Select three paid active classifieds, preferring model then manufacturer
Exemplo de filtros: ?type=cars&model=123
Parâmetros de consulta
- model
- integer; máximo: 9007199254740991; obrigatório
- type
- string (cars, motorcycles, trucks); padrão: cars; opcional
curl -X GET 'https://api.carzin.com.br/v2/classifieds/banner?type=cars&model=123' \
-H 'X-API-Key: APPLICATION_KEY'account
get/account/messagesSessão de membro
Listar mensagens recebidas pelo membro autenticado
Parâmetros de consulta
- vehicleType
- string (cars, motorcycles, trucks); padrão: cars; opcional
- page
- integer; padrão: 1; mínimo: 1; máximo: 10000; opcional
- messageId
- integer; máximo: 2147483647; opcional
- message_id
- integer; máximo: 2147483647; opcional
curl -X GET 'https://api.carzin.com.br/v2/account/messages' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'get/account/classifieds/{id}/messagesSessão de membro
Listar mensagens recebidas em um anúncio próprio
Parâmetros de consulta
- vehicleType
- string (cars, motorcycles, trucks); padrão: cars; opcional
- page
- integer; padrão: 1; mínimo: 1; máximo: 10000; opcional
- messageId
- integer; máximo: 2147483647; opcional
- message_id
- integer; máximo: 2147483647; opcional
curl -X GET 'https://api.carzin.com.br/v2/account/classifieds/{id}/messages' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'get/account/classifieds/{type}/{id}/verificationSessão de membro
Consultar a confirmação de telefone de um anúncio próprio
curl -X GET 'https://api.carzin.com.br/v2/account/classifieds/{type}/{id}/verification' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'post/account/classifieds/{type}/{id}/verificationSessão de membro
Concluir a publicação após confirmar o telefone
| Campo JSON | Tipo / limites | Obrigatório |
|---|
curl -X POST 'https://api.carzin.com.br/v2/account/classifieds/{type}/{id}/verification' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{}'get/account/phone-verificationSessão de membro
Consultar a confirmação de telefone da conta
curl -X GET 'https://api.carzin.com.br/v2/account/phone-verification' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'get/account/classifieds/{type}/{id}/completionSessão de membro
Consultar o estado privado da publicação e a disponibilidade do plano Premium
curl -X GET 'https://api.carzin.com.br/v2/account/classifieds/{type}/{id}/completion' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'post/account/classifieds/{id}/checkoutSessão de membro
Criar ou reutilizar uma preferência de pagamento do Mercado Pago Checkout Pro
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
curl -X POST 'https://api.carzin.com.br/v2/account/classifieds/{id}/checkout' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars"
}'post/account/classifieds/{id}/checkout/verifySessão de membro
Verificar o pagamento retornado com o Mercado Pago, a titularidade e o valor esperado
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| paymentId | string | Sim |
curl -X POST 'https://api.carzin.com.br/v2/account/classifieds/{id}/checkout/verify' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"paymentId": "<paymentId>"
}'patch/account/profileSessão de membro
Atualizar o perfil do membro autenticado
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| name | string; mínimo 2 caracteres; máximo 120 caracteres | Não |
| gender | integer; mínimo 0; máximo 2 | Não |
| birthday | string | Não |
| emailReceive | integer; mínimo 0; máximo 1 | Não |
| city | integer; máximo 9007199254740991 | Não |
| photo | string; máximo 13981016 caracteres | Não |
| removePhoto | integer; mínimo 0; máximo 1 | Não |
| password | enum / union | Não |
| slug | string; máximo 40 caracteres | Não |
| string; máximo 254 caracteres | Sim | |
| document | string | Não |
| phone | string; máximo 30 caracteres | Não |
| phoneMobile | string; máximo 30 caracteres | Não |
| postalcode | string | Não |
| address | string; máximo 200 caracteres | Não |
| neighborhood | string; máximo 120 caracteres | Não |
| state | string | Não |
curl -X PATCH 'https://api.carzin.com.br/v2/account/profile' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"email": "[email protected]"
}'post/account/messages/{id}/repliesSessão de membro
Responder a uma mensagem recebida
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| reply | string; mínimo 2 caracteres; máximo 3000 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/account/messages/{id}/replies' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"reply": "<reply>"
}'delete/account/messages/{id}Sessão de membro
Remover uma mensagem recebida
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
curl -X DELETE 'https://api.carzin.com.br/v2/account/messages/{id}' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars"
}'post/account/classifiedsSessão de membro
Publicar um anúncio
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| manufacturer | integer; máximo 9007199254740991 | Sim |
| model | integer; máximo 9007199254740991 | Sim |
| version | integer; máximo 9007199254740991 | Sim |
| yearManufacture | integer; mínimo 1900; máximo 2100 | Sim |
| yearModel | integer; mínimo 1900; máximo 2100 | Sim |
| mileage | integer; mínimo 0; máximo 2000000 | Sim |
| price | number; mínimo 10000; máximo 100000000 | Sim |
| licensePlate | string | Sim |
| postalcode | enum / union | Não |
| color | string; mínimo 1 caracteres; máximo 40 caracteres | Sim |
| fuel | string; mínimo 1 caracteres; máximo 80 caracteres | Sim |
| gear | string; máximo 40 caracteres | Não |
| doors | integer; mínimo 2; máximo 5 | Não |
| owner | string; mínimo 2 caracteres; máximo 120 caracteres | Não |
| document | string | Não |
| phoneMobile | string | Não |
| phone | string | Não |
| state | string (AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA, PB, PR, PE, PI, RJ, RN, RS, RO, RR, SC, SP, SE, TO) | Não |
| city | integer; máximo 9007199254740991 | Não |
| hidePhones | integer; mínimo 0; máximo 1 | Não |
| armored | integer; mínimo 0; máximo 1 | Não |
| attributes | array | Não |
| description | string; mínimo 20 caracteres; máximo 5000 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/account/classifieds' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"manufacturer": 1,
"model": 1,
"version": 1,
"yearManufacture": 1900,
"yearModel": 1900,
"mileage": 0,
"price": 10000,
"licensePlate": "<licensePlate>",
"color": "<color>",
"fuel": "<fuel>",
"description": "<description>"
}'post/account/classifieds/websiteSessão de membro
Publicar um anúncio pelo website
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| manufacturer | integer; máximo 9007199254740991 | Sim |
| model | integer; máximo 9007199254740991 | Sim |
| version | integer; máximo 9007199254740991 | Sim |
| yearManufacture | integer; mínimo 1900; máximo 2100 | Sim |
| yearModel | integer; mínimo 1900; máximo 2100 | Sim |
| mileage | integer; mínimo 0; máximo 2000000 | Sim |
| price | number; mínimo 10000; máximo 100000000 | Sim |
| licensePlate | string | Sim |
| postalcode | enum / union | Não |
| color | string; mínimo 1 caracteres; máximo 40 caracteres | Sim |
| fuel | string; mínimo 1 caracteres; máximo 80 caracteres | Sim |
| gear | string; máximo 40 caracteres | Não |
| doors | integer; mínimo 2; máximo 5 | Não |
| owner | string; mínimo 2 caracteres; máximo 120 caracteres | Não |
| document | string | Não |
| phoneMobile | string | Não |
| phone | string | Não |
| state | string (AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA, PB, PR, PE, PI, RJ, RN, RS, RO, RR, SC, SP, SE, TO) | Não |
| city | integer; máximo 9007199254740991 | Não |
| hidePhones | integer; mínimo 0; máximo 1 | Não |
| armored | integer; mínimo 0; máximo 1 | Não |
| attributes | array | Não |
| description | string; mínimo 20 caracteres; máximo 5000 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/account/classifieds/website' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"manufacturer": 1,
"model": 1,
"version": 1,
"yearManufacture": 1900,
"yearModel": 1900,
"mileage": 0,
"price": 10000,
"licensePlate": "<licensePlate>",
"color": "<color>",
"fuel": "<fuel>",
"description": "<description>"
}'patch/account/classifieds/{id}Sessão de membro
Editar um anúncio próprio (a partir da versão; identidade e dados do vendedor são imutáveis)
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| version | integer; máximo 9007199254740991 | Sim |
| yearManufacture | integer; mínimo 1900; máximo 2100 | Sim |
| yearModel | integer; mínimo 1900; máximo 2100 | Sim |
| mileage | integer; mínimo 0; máximo 2000000 | Sim |
| price | number; mínimo 10000; máximo 100000000 | Sim |
| color | string; mínimo 1 caracteres; máximo 40 caracteres | Sim |
| fuel | string; mínimo 1 caracteres; máximo 80 caracteres | Sim |
| gear | string; máximo 40 caracteres | Não |
| doors | integer; mínimo 2; máximo 5 | Não |
| armored | integer; mínimo 0; máximo 1 | Não |
| attributes | array | Não |
| description | string; mínimo 20 caracteres; máximo 5000 caracteres | Sim |
curl -X PATCH 'https://api.carzin.com.br/v2/account/classifieds/{id}' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"version": 1,
"yearManufacture": 1900,
"yearModel": 1900,
"mileage": 0,
"price": 10000,
"color": "<color>",
"fuel": "<fuel>",
"description": "<description>"
}'delete/account/classifieds/{id}Sessão de membro
Remover um anúncio próprio
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| reason | integer; mínimo 2; máximo 5 | Sim |
curl -X DELETE 'https://api.carzin.com.br/v2/account/classifieds/{id}' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"reason": 2
}'get/account/classifieds/{type}/{id}Sessão de membro
GET /account/classifieds/{type}/{id}
curl -X GET 'https://api.carzin.com.br/v2/account/classifieds/{type}/{id}' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'patch/account/classifieds/{id}/statusSessão de membro
Alterar o status de um anúncio próprio
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| status | enum / union | Sim |
| comment | string; máximo 2000 caracteres | Não |
curl -X PATCH 'https://api.carzin.com.br/v2/account/classifieds/{id}/status' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"status": 1
}'post/account/classifieds/{id}/imagesSessão de membro
Enviar uma imagem JPEG, PNG ou WebP em base64
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| image | string; mínimo 1 caracteres; máximo 13981016 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/account/classifieds/{id}/images' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"image": "<image>"
}'patch/account/classifieds/{id}/imagesSessão de membro
Reordenar ou remover fotos do anúncio; a primeira será a capa
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| revision | string | Sim |
| order | array | Sim |
curl -X PATCH 'https://api.carzin.com.br/v2/account/classifieds/{id}/images' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"revision": "<revision>",
"order": "<order>"
}'delete/account/classifieds/{id}/imagesSessão de membro
Remover uma foto de anúncio próprio
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| index | integer; mínimo 1; máximo 10 | Sim |
curl -X DELETE 'https://api.carzin.com.br/v2/account/classifieds/{id}/images' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"index": 1
}'get/account/payment-historySessão de membro
GET /account/payment-history
curl -X GET 'https://api.carzin.com.br/v2/account/payment-history' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'get/account/support/ticketsSessão de membro
GET /account/support/tickets
curl -X GET 'https://api.carzin.com.br/v2/account/support/tickets' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'post/account/support/ticketsSessão de membro
Abrir um chamado privado para suporte da conta
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| subject | string; mínimo 5 caracteres; máximo 160 caracteres | Sim |
| message | string; mínimo 10 caracteres; máximo 5000 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/account/support/tickets' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"subject": "<subject>",
"message": "<message>"
}'get/account/reportSessão de membro
GET /account/report
curl -X GET 'https://api.carzin.com.br/v2/account/report' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'delete/accountSessão de membro
Solicitar a exclusão segura da conta autenticada
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| confirmation | string | Sim |
curl -X DELETE 'https://api.carzin.com.br/v2/account' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"confirmation": "<confirmation>"
}'get/accountSessão de membro
GET /account
curl -X GET 'https://api.carzin.com.br/v2/account' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'app
get/app/versionChave de aplicação
Consultar as versões atuais do aplicativo
curl -X GET 'https://api.carzin.com.br/v2/app/version' \
-H 'X-API-Key: APPLICATION_KEY'get/app/statusChave de aplicação
Consultar a disponibilidade dos recursos do aplicativo
Parâmetros de consulta
- platform
- string (android, ios); padrão: android; opcional
curl -X GET 'https://api.carzin.com.br/v2/app/status' \
-H 'X-API-Key: APPLICATION_KEY'get/app/paywallChave de aplicação
Consultar os planos padrão do aplicativo; opcionalmente personalizar com uma sessão V2 válida
Parâmetros de consulta
- platform
- string (android, ios); padrão: android; opcional
curl -X GET 'https://api.carzin.com.br/v2/app/paywall' \
-H 'X-API-Key: APPLICATION_KEY'post/app/pushChave de aplicação
Cadastrar um dispositivo autenticado para notificações push
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| pushToken | string; mínimo 1 caracteres; máximo 255 caracteres | Sim |
| pushDevice | enum / union | Sim |
curl -X POST 'https://api.carzin.com.br/v2/app/push' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"pushToken": "<pushToken>",
"pushDevice": 1
}'post/app/sms/sendChave de aplicação
Enviar um código de confirmação de telefone
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| phoneMobile | string; máximo 25 caracteres | Não |
curl -X POST 'https://api.carzin.com.br/v2/app/sms/send' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{}'post/app/sms/confirmChave de aplicação
Validar um código de confirmação de telefone
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| challengeId | string | Sim |
| code | string | Sim |
curl -X POST 'https://api.carzin.com.br/v2/app/sms/confirm' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"challengeId": "<challengeId>",
"code": "<code>"
}'post/app/payment/checkoutChave de aplicação
Criar um pagamento Premium pelo aplicativo
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| classifiedId | integer; máximo 2147483647 | Sim |
curl -X POST 'https://api.carzin.com.br/v2/app/payment/checkout' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"classifiedId": 1
}'post/app/paymentChave de aplicação
Verificar um pagamento do aplicativo com os dados do checkout no servidor
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| classifiedId | integer; máximo 2147483647 | Sim |
| paymentId | string | Sim |
curl -X POST 'https://api.carzin.com.br/v2/app/payment' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"vehicleType": "cars",
"classifiedId": 1,
"paymentId": "<paymentId>"
}'conversions
post/conversionsChave de aplicação
Enfileirar uma conversão verificada (apenas serviço confiável)
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| id | string; mínimo 1 caracteres; máximo 128 caracteres | Sim |
| kind | string | Sim |
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| value | number; mínimo 0 | Não |
| occurredAt | string | Sim |
| sourceUrl | string; máximo 2048 caracteres | Não |
| marketingConsent | boolean | Sim |
| gclid | string; mínimo 1 caracteres; máximo 512 caracteres | Não |
| gbraid | string; mínimo 1 caracteres; máximo 512 caracteres | Não |
| wbraid | string; mínimo 1 caracteres; máximo 512 caracteres | Não |
| msclkid | string; mínimo 1 caracteres; máximo 512 caracteres | Não |
curl -X POST 'https://api.carzin.com.br/v2/conversions' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"id": "<id>",
"kind": "<kind>",
"vehicleType": "cars",
"occurredAt": "<occurredAt>",
"marketingConsent": true
}'consent
post/consentChave de aplicação
Registrar as escolhas de categorias de cookies (apenas website confiável)
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| receiptId | string | Sim |
| analytics | boolean | Sim |
| marketing | boolean | Sim |
| origin | integer; mínimo 0; máximo 3 | Sim |
| path | string; máximo 500 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/consent' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"receiptId": "<receiptId>",
"analytics": true,
"marketing": true,
"origin": 0,
"path": "<path>"
}'auth
post/auth/apple/challengesChave de aplicação
Gerar um desafio de uso único para login com Apple
| Campo JSON | Tipo / limites | Obrigatório |
|---|
curl -X POST 'https://api.carzin.com.br/v2/auth/apple/challenges' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{}'post/auth/appleChave de aplicação
Entrar com um token de identidade Apple verificado
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| identityToken | string; mínimo 1 caracteres; máximo 16384 caracteres | Sim |
| nonce | string | Sim |
| name | string; máximo 120 caracteres | Não |
curl -X POST 'https://api.carzin.com.br/v2/auth/apple' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"identityToken": "<identityToken>",
"nonce": "<nonce>"
}'post/auth/loginChave de aplicação
Entrar com e-mail e senha
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| string; máximo 254 caracteres | Sim | |
| password | string; mínimo 1 caracteres; máximo 256 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/auth/login' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"email": "[email protected]",
"password": "Use-uma-senha-forte!"
}'post/auth/signupChave de aplicação
Criar uma conta pessoal ou de lojista
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| name | string; mínimo 2 caracteres; máximo 120 caracteres | Sim |
| string; máximo 254 caracteres | Sim | |
| password | string; mínimo 8 caracteres; máximo 128 caracteres | Sim |
| memberType | string (person, reseller) | Não |
| document | string | Não |
| phone | string | Não |
| referral | string; máximo 64 caracteres | Não |
| marketingConsent | boolean | Não |
curl -X POST 'https://api.carzin.com.br/v2/auth/signup' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"name": "Nome Completo",
"email": "[email protected]",
"password": "Use-uma-senha-forte!"
}'post/auth/socialServiço autenticado
Integração de identidade confiável do Auth.js
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| name | string; mínimo 2 caracteres; máximo 120 caracteres | Sim |
| string; máximo 254 caracteres | Sim | |
| source | string (google, facebook) | Sim |
| referral | string; máximo 64 caracteres | Não |
| marketingConsent | boolean | Não |
curl -X POST 'https://api.carzin.com.br/v2/auth/social' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'X-Service-Token: SERVICE_SECRET' \
-H 'Content-Type: application/json' \
--data '{
"name": "Nome Completo",
"email": "[email protected]",
"source": "google"
}'get/auth/sessionSessão de membro
GET /auth/session
curl -X GET 'https://api.carzin.com.br/v2/auth/session' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'delete/auth/sessionSessão de membro
DELETE /auth/session
curl -X DELETE 'https://api.carzin.com.br/v2/auth/session' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'post/auth/recoveryChave de aplicação
Enviar um link de recuperação de senha de uso único
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| string; máximo 254 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/auth/recovery' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"email": "[email protected]"
}'post/auth/password/resetChave de aplicação
Redefinir a senha e revogar todas as sessões
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| memberId | integer; máximo 9007199254740991 | Sim |
| recoveryToken | string; mínimo 32 caracteres; máximo 256 caracteres | Sim |
| password | string; mínimo 8 caracteres; máximo 128 caracteres | Sim |
| passwordConfirmation | string; mínimo 1 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/auth/password/reset' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"memberId": 1,
"recoveryToken": "<recoveryToken>",
"password": "Use-uma-senha-forte!",
"passwordConfirmation": "Use-uma-senha-forte!"
}'messages
post/messagesChave de aplicação
Entrar em contato com o proprietário de um anúncio ativo
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| classifiedId | integer; máximo 9007199254740991 | Sim |
| vehicleType | string (cars, motorcycles, trucks) | Sim |
| name | string; mínimo 2 caracteres; máximo 120 caracteres | Sim |
| string; máximo 254 caracteres | Sim | |
| phone | string; máximo 30 caracteres | Sim |
| message | string; mínimo 10 caracteres; máximo 3000 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/messages' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"classifiedId": 1,
"vehicleType": "cars",
"name": "Nome Completo",
"email": "[email protected]",
"phone": "<phone>",
"message": "<message>"
}'home
get/homeChave de aplicação
GET /home
curl -X GET 'https://api.carzin.com.br/v2/home' \
-H 'X-API-Key: APPLICATION_KEY'content
get/content/articles/redirectChave de aplicação
Resolver o link curto de uma notícia publicada pelo ID
Exemplo de filtros: ?id=123
Parâmetros de consulta
- id
- integer; máximo: 4294967295; obrigatório
curl -X GET 'https://api.carzin.com.br/v2/content/articles/redirect?id=123' \
-H 'X-API-Key: APPLICATION_KEY'get/content/articles/existsChave de aplicação
Verificar se a URL de uma notícia publicada existe sem carregar conteúdo relacionado
Parâmetros de consulta
- category
- string; obrigatório
- article
- string; obrigatório
curl -X GET 'https://api.carzin.com.br/v2/content/articles/exists' \
-H 'X-API-Key: APPLICATION_KEY'get/content/articles/detailChave de aplicação
Consultar uma notícia publicada com conteúdo relacionado e galerias
Exemplo de filtros: ?category=mercado&article=exemplo
Parâmetros de consulta
- category
- string; obrigatório
- article
- string; obrigatório
curl -X GET 'https://api.carzin.com.br/v2/content/articles/detail?category=mercado&article=exemplo' \
-H 'X-API-Key: APPLICATION_KEY'post/content/articles/{id}/viewsChave de aplicação
POST /content/articles/{id}/views
curl -X POST 'https://api.carzin.com.br/v2/content/articles/{id}/views' \
-H 'X-API-Key: APPLICATION_KEY'get/content/articlesChave de aplicação
Listar notícias publicadas por categoria, marcador ou autor
Exemplo de filtros: ?kind=all&q=tabela+fipe&page=1
Parâmetros de consulta
- kind
- string (all, category, tag, author); obrigatório
- slug
- string; opcional
- page
- integer; padrão: 1; mínimo: 1; máximo: 1000; opcional
- q
- string; opcional
curl -X GET 'https://api.carzin.com.br/v2/content/articles?kind=all&q=tabela+fipe&page=1' \
-H 'X-API-Key: APPLICATION_KEY'get/content/tags/detailChave de aplicação
Resolver um marcador editorial aninhado
Exemplo de filtros: ?parent=carros&slug=fiat
Parâmetros de consulta
- parent
- string; obrigatório
- slug
- string; obrigatório
curl -X GET 'https://api.carzin.com.br/v2/content/tags/detail?parent=carros&slug=fiat' \
-H 'X-API-Key: APPLICATION_KEY'get/content/feedChave de aplicação
GET /content/feed
curl -X GET 'https://api.carzin.com.br/v2/content/feed' \
-H 'X-API-Key: APPLICATION_KEY'subscriptions
get/subscriptions/unsubscribe/{token}Chave de aplicação
GET /subscriptions/unsubscribe/{token}
curl -X GET 'https://api.carzin.com.br/v2/subscriptions/unsubscribe/{token}' \
-H 'X-API-Key: APPLICATION_KEY'search
get/searchChave de aplicação
Search news, classifieds, FIPE and vehicle guide
Parâmetros de consulta
- q
- string; obrigatório
curl -X GET 'https://api.carzin.com.br/v2/search' \
-H 'X-API-Key: APPLICATION_KEY'affiliates
get/affiliates/plansSessão de membro
GET /affiliates/plans
curl -X GET 'https://api.carzin.com.br/v2/affiliates/plans' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'get/affiliates/me/reportSessão de membro
GET /affiliates/me/report
curl -X GET 'https://api.carzin.com.br/v2/affiliates/me/report' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'post/affiliates/me/withdrawalsSessão de membro
POST /affiliates/me/withdrawals
curl -X POST 'https://api.carzin.com.br/v2/affiliates/me/withdrawals' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'get/affiliates/meSessão de membro
GET /affiliates/me
curl -X GET 'https://api.carzin.com.br/v2/affiliates/me' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'post/affiliates/me/profileSessão de membro
POST /affiliates/me/profile
curl -X POST 'https://api.carzin.com.br/v2/affiliates/me/profile' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Authorization: Bearer ACCESS_TOKEN'resellers
get/resellers/plansChave de aplicação
GET /resellers/plans
curl -X GET 'https://api.carzin.com.br/v2/resellers/plans' \
-H 'X-API-Key: APPLICATION_KEY'get/resellers/me/planChave de aplicação
GET /resellers/me/plan
curl -X GET 'https://api.carzin.com.br/v2/resellers/me/plan' \
-H 'X-API-Key: APPLICATION_KEY'post/resellers/me/plan/checkoutChave de aplicação
POST /resellers/me/plan/checkout
| Campo JSON | Tipo / limites | Obrigatório |
|---|
curl -X POST 'https://api.carzin.com.br/v2/resellers/me/plan/checkout' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{}'post/resellers/me/plan/syncChave de aplicação
POST /resellers/me/plan/sync
| Campo JSON | Tipo / limites | Obrigatório |
|---|
curl -X POST 'https://api.carzin.com.br/v2/resellers/me/plan/sync' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{}'post/resellers/me/plan/cancelChave de aplicação
POST /resellers/me/plan/cancel
| Campo JSON | Tipo / limites | Obrigatório |
|---|
curl -X POST 'https://api.carzin.com.br/v2/resellers/me/plan/cancel' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{}'get/resellers/me/stockChave de aplicação
GET /resellers/me/stock
curl -X GET 'https://api.carzin.com.br/v2/resellers/me/stock' \
-H 'X-API-Key: APPLICATION_KEY'patch/resellers/me/stockChave de aplicação
PATCH /resellers/me/stock
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| cars | string; máximo 250 caracteres | Sim |
| motorcycles | string; máximo 250 caracteres | Sim |
| trucks | string; máximo 250 caracteres | Sim |
curl -X PATCH 'https://api.carzin.com.br/v2/resellers/me/stock' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"cars": "<cars>",
"motorcycles": "<motorcycles>",
"trucks": "<trucks>"
}'routing
get/routing/resolveChave de aplicação
Resolve the first website slug across brands, categories, tags and stores
Exemplo de filtros: ?slug=fiat§ion=cars
Parâmetros de consulta
- slug
- string; obrigatório
- section
- string (cars, motorcycles, trucks); opcional
curl -X GET 'https://api.carzin.com.br/v2/routing/resolve?slug=fiat§ion=cars' \
-H 'X-API-Key: APPLICATION_KEY'locations
get/locations/postal-codes/{postalcode}Chave de aplicação
GET /locations/postal-codes/{postalcode}
curl -X GET 'https://api.carzin.com.br/v2/locations/postal-codes/{postalcode}' \
-H 'X-API-Key: APPLICATION_KEY'stores
get/stores/{memberId}Chave de aplicação
GET /stores/{memberId}
curl -X GET 'https://api.carzin.com.br/v2/stores/{memberId}' \
-H 'X-API-Key: APPLICATION_KEY'support
post/support/ticketsChave de aplicação
Open a support ticket
| Campo JSON | Tipo / limites | Obrigatório |
|---|---|---|
| name | string; mínimo 2 caracteres; máximo 120 caracteres | Sim |
| string; máximo 254 caracteres | Sim | |
| subject | string; mínimo 3 caracteres; máximo 160 caracteres | Sim |
| message | string; mínimo 10 caracteres; máximo 5000 caracteres | Sim |
curl -X POST 'https://api.carzin.com.br/v2/support/tickets' \
-H 'X-API-Key: APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{
"name": "Nome Completo",
"email": "[email protected]",
"subject": "<subject>",
"message": "<message>"
}'Migrando da API V1
A V1 continua disponível para clientes existentes. A V2 não é uma troca automática de URL: revise métodos, autenticação, campos e respostas antes de migrar. As rotas abaixo são relativas a /api/ (V1, sem extensão) e /v2 (V2).
- Troque o
tokende aplicação no formulário V1 porX-API-KeyV2, mantida exclusivamente no servidor. - Use GET e parâmetros de query nas consultas; nas escritas use o método indicado e JSON com
Content-Type: application/json, inclusive nos DELETE com corpo. - Faça login V2 e envie
Authorization: Bearer TOKEN_OPACOnas operações privadas. Tokens de membro V1 não funcionam como sessão V2; identidade vem da sessão, não deuser_idouseller. - Adapte o código aos novos campos, ao envelope
data/metae a erroserror.code/error.messagecom status HTTP. Não dependa dosuccessouerror: 1legado. - Substitua o tipo numérico legado:
1 → cars,2 → motorcycles,3 → trucks. A V2 usatypeouvehicleType, conforme o recurso. Confira paginação, validações e restrições de cada endpoint no OpenAPI.
Exemplo: login
Execute no servidor; os valores abaixo são apenas placeholders. Use HTTPS e não registre credenciais em logs.
# V1: POST form-urlencoded
curl -X POST 'https://carzin.com.br/api/user-login' \
--data-urlencode 'token=V1_APPLICATION_TOKEN' \
--data-urlencode '[email protected]' \
--data-urlencode 'password=SENHA'
# V2: POST JSON
curl -X POST 'https://api.carzin.com.br/v2/auth/login' \
-H 'X-API-Key: V2_APPLICATION_KEY' \
-H 'Content-Type: application/json' \
--data '{"email":"[email protected]","password":"SENHA"}'
# Use data.session.accessToken como Bearer nas operações privadas.Correlação de endpoints
A tabela indica a alternativa funcional mais próxima, não paridade de payload ou resposta. Consulte a referência acima e o OpenAPI para detalhes; algumas operações exigem etapas ou regras de segurança adicionais.
Catálogo, classificados e FIPE
| V1: POST /api/… | V2: método e rota | Diferenças |
|---|---|---|
| classified-states | GET /classifieds/states | Lista completa das 27 unidades federativas; facets.states contém somente estados com anúncios compatíveis. |
| classified-cities | GET /catalog?type=cars&mode=buy&state=SP | Cidades com anúncios; também disponíveis em facets.cities na busca. |
| classified-manufacturers | GET /catalog?type=cars&mode=buy | Use mode=sell para o catálogo de publicação. |
| classified-models | GET /catalog?type=cars&mode=buy&manufacturer=123 | Fabricante por ID; versões são consultadas separadamente. |
| classified-versions | GET /catalog?type=cars&mode=buy&model=123 | Modelo por ID. |
| classified-postalcode | GET /locations/postal-codes/{postalcode} | CEP no caminho, com oito dígitos; resposta e erros diferem da V1. |
| classified-search | GET /classifieds | Filtros na query; marca, modelo e cidade usam slugs. Para versão use versionId. Retorno inclui rows, facets e paginação. |
| classified-details | GET /classifieds/{id}?vehicleType=cars | Modelo de resposta diferente; consulte vehicleType retornado. |
| classified-add | POST /account/classifieds | Publicação autenticada por sessão; edição usa PATCH /account/classifieds/{id}, com campos próprios. |
| classified-status | PATCH /account/classifieds/{id}/status | Exige sessão e propriedade; vehicleType e status vão no JSON. |
| classified-remove | DELETE /account/classifieds/{id} | Exige sessão; envie vehicleType e reason em JSON. |
| classified-image-add | POST /account/classifieds/{id}/images | Imagem em base64; URLs remotas não são aceitas. |
| classified-image-remove | DELETE /account/classifieds/{id}/images | Exige vehicleType e index; V2 também oferece PATCH para reordenar fotos. |
| fipe-manufacturers | GET /catalog/fipe?type=cars | Opções de fabricantes. |
| fipe-models | GET /catalog/fipe?type=cars&manufacturer=fiat | Use slug do fabricante, não o ID legado. |
| fipe-versions, fipe-years | GET /catalog/fipe/models/{id}/versions; GET /catalog/fipe/versions/{id}/years | O ID do modelo vem de /catalog/fipe; versões retornam IDs usados na consulta de anos. |
| fipe-details | GET /fipe/values/{id}?type=cars | Use o ID retornado na consulta de anos; também há consulta por slug em /fipe. |
| news-listing | GET /content/articles?kind=all&page=1 | Categoria usa kind=category&slug={slug}; V1 usa ID de categoria e 10 resultados por página, V2 usa 15. |
Conta e mensagens
| V1: POST /api/… | V2: método e rota | Diferenças |
|---|---|---|
| user-login | POST /auth/login | Retorna sessão V2; faça login novamente em vez de reutilizar user_token. |
| user-signup | POST /auth/signup | JSON e campos/validações diferentes; consulte o schema. |
| user-auth | POST /auth/social | Google/Facebook: somente servidor confiável após validar o provedor; requer X-Service-Token. |
| user-auth-apple | POST /auth/apple/challenges; POST /auth/apple | Solicite um desafio de uso único e envie o identity token assinado pela Apple e o nonce original. O e-mail do cliente não é aceito. |
| user-profile | GET /account; PATCH /account/profile | Leitura e atualização separadas, com sessão V2 e contratos diferentes. |
| user-recovery | POST /auth/recovery; POST /auth/password/reset | Recuperação e troca são etapas separadas com token de uso único. |
| user-delete | DELETE /account | Exige sessão e confirmação explícita no JSON. |
| chat-user (alias user-messages) | GET /account/messages?vehicleType=cars&page=1 | Sessão obrigatória; filtra opcionalmente por messageId. Paginação e formato diferem da V1. |
| chat-classified (alias classified-messages) | GET /account/classifieds/{id}/messages?vehicleType=cars&page=1 | Sessão e propriedade obrigatórias; paginação de 20 mensagens. |
| chat-send (alias classified-contact) | POST /messages | Contato de anúncio ativo com dados do remetente em JSON. |
| chat-reply (alias classified-reply) | POST /account/messages/{id}/replies | Exige sessão; envie vehicleType e reply. |
| chat-remove, classified-message-remove | DELETE /account/messages/{id} | Remove mensagem própria; envie vehicleType em JSON. Confira as diferenças de regras e resposta. |
Aplicativo e outras operações
| V1: POST /api/… | V2: método e rota | Diferenças |
|---|---|---|
| classified-report | POST /classifieds/{id}/reports | JSON com vehicleType, name, email e reason (1 a 3). |
| classified-call | POST /classifieds/{id}/phone-views | JSON com vehicleType; registra a revelação do telefone de anúncio ativo. |
| app-version, app-status | GET /app/version; GET /app/status?platform=ios | Consulte versões e recursos por plataforma. |
| app-push | POST /app/push | Sessão obrigatória; envie pushToken e pushDevice (1 Android, 2 iOS), sem user_id. |
| app-sms-send, app-sms-confirm | POST /app/sms/send; POST /app/sms/confirm | Sessão obrigatória; envie phoneMobile opcional e confirme com challengeId e code. O código V1 não é aceito. |
| app-paywall | GET /app/paywall?platform=android | Informa planos e regras por plataforma; sessão opcional personaliza as condições para a conta. |
| app-payment | POST /app/payment/checkout; POST /app/payment | Crie o checkout no servidor e confirme o paymentId para o mesmo anúncio; pagamentos externos sem referência V2 não são aceitos. |
| app-support | POST /support/tickets | Envie name, email, subject e message; schema e resposta diferem da V1. |

