CarzinCarzinAPI V2
IntroduçãoAutenticaçãoErros e limitesvalidatecatalogfipeclassifiedsaccountappconversionsconsentauthmessageshomecontentsubscriptionssearchaffiliatesresellersroutinglocationsstoressupportMigração da V1OpenAPI 3.1 ↗

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.

Base URL

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/session revoga 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/social exige também X-Service-Token e 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/challenges com JSON vazio. Encaminhe data.nonceHash para a solicitação de identidade da Apple e mantenha data.nonce associado à tentativa. Envie o identity token, o nonce original e, opcionalmente, o nome em POST /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. Configure APPLE_CLIENT_IDS no 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/send retorna 202 com challengeId e validade; a entrega depende do job de SMS. Envie o identificador e o código de seis dígitos em POST /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/valuations exige também X-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 /classifieds retorna facets com 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.

StatusSignificado
200 / 201 / 202Consulta/operação concluída, recurso criado ou envio enfileirado.
400 / 422JSON, campos ou regra de negócio inválidos.
401 / 403Credencial/sessão inválida ou permissão insuficiente.
404Recurso não encontrado ou não pertencente ao membro.
415Use application/json; form-data pertence à V1.
429Limite atingido; observe Retry-After e não repita imediatamente.
500 / 503Falha 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 JSONTipo / limitesObrigatório
pathstring; mínimo 2 caracteres; máximo 2048 caracteresSim
methodstring (GET, POST, PUT, PATCH, DELETE)Sim
queryobjectNão
bodyvalorNão
headersobjectNã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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
manufacturerinteger; máximo 9007199254740991Sim
modelinteger; máximo 9007199254740991Sim
versioninteger; máximo 9007199254740991Sim
yearinteger; mínimo 1900; máximo 2027Sim
note_designinteger; mínimo 1; máximo 5Sim
note_performanceinteger; mínimo 1; máximo 5Sim
note_confortinteger; mínimo 1; máximo 5Sim
note_drivinginteger; mínimo 1; máximo 5Sim
note_consumptioninteger; mínimo 1; máximo 5Sim
note_benefitinteger; mínimo 1; máximo 5Sim
comment_positivestring; mínimo 10 caracteres; máximo 500 caracteresSim
comment_negativestring; máximo 500 caracteresNã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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
manufacturerstring; mínimo 1 caracteres; máximo 180 caracteresSim
modelstring; mínimo 1 caracteres; máximo 180 caracteresSim
yearstringSim
versionstring; mínimo 1 caracteres; máximo 180 caracteresSim
emailstring; máximo 254 caracteresSim
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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
namestring; mínimo 2 caracteres; máximo 150 caracteresSim
emailstring; máximo 254 caracteresSim
reasonenum / unionSim
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 JSONTipo / limitesObrigatório
vehicleTypestring (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 JSONTipo / limitesObrigatório
vehicleTypestring (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 JSONTipo / limitesObrigató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 JSONTipo / limitesObrigatório
vehicleTypestring (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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
paymentIdstringSim
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 JSONTipo / limitesObrigatório
namestring; mínimo 2 caracteres; máximo 120 caracteresNão
genderinteger; mínimo 0; máximo 2Não
birthdaystringNão
emailReceiveinteger; mínimo 0; máximo 1Não
cityinteger; máximo 9007199254740991Não
photostring; máximo 13981016 caracteresNão
removePhotointeger; mínimo 0; máximo 1Não
passwordenum / unionNão
slugstring; máximo 40 caracteresNão
emailstring; máximo 254 caracteresSim
documentstringNão
phonestring; máximo 30 caracteresNão
phoneMobilestring; máximo 30 caracteresNão
postalcodestringNão
addressstring; máximo 200 caracteresNão
neighborhoodstring; máximo 120 caracteresNão
statestringNã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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
replystring; mínimo 2 caracteres; máximo 3000 caracteresSim
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 JSONTipo / limitesObrigatório
vehicleTypestring (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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
manufacturerinteger; máximo 9007199254740991Sim
modelinteger; máximo 9007199254740991Sim
versioninteger; máximo 9007199254740991Sim
yearManufactureinteger; mínimo 1900; máximo 2100Sim
yearModelinteger; mínimo 1900; máximo 2100Sim
mileageinteger; mínimo 0; máximo 2000000Sim
pricenumber; mínimo 10000; máximo 100000000Sim
licensePlatestringSim
postalcodeenum / unionNão
colorstring; mínimo 1 caracteres; máximo 40 caracteresSim
fuelstring; mínimo 1 caracteres; máximo 80 caracteresSim
gearstring; máximo 40 caracteresNão
doorsinteger; mínimo 2; máximo 5Não
ownerstring; mínimo 2 caracteres; máximo 120 caracteresNão
documentstringNão
phoneMobilestringNão
phonestringNão
statestring (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
cityinteger; máximo 9007199254740991Não
hidePhonesinteger; mínimo 0; máximo 1Não
armoredinteger; mínimo 0; máximo 1Não
attributesarrayNão
descriptionstring; mínimo 20 caracteres; máximo 5000 caracteresSim
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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
manufacturerinteger; máximo 9007199254740991Sim
modelinteger; máximo 9007199254740991Sim
versioninteger; máximo 9007199254740991Sim
yearManufactureinteger; mínimo 1900; máximo 2100Sim
yearModelinteger; mínimo 1900; máximo 2100Sim
mileageinteger; mínimo 0; máximo 2000000Sim
pricenumber; mínimo 10000; máximo 100000000Sim
licensePlatestringSim
postalcodeenum / unionNão
colorstring; mínimo 1 caracteres; máximo 40 caracteresSim
fuelstring; mínimo 1 caracteres; máximo 80 caracteresSim
gearstring; máximo 40 caracteresNão
doorsinteger; mínimo 2; máximo 5Não
ownerstring; mínimo 2 caracteres; máximo 120 caracteresNão
documentstringNão
phoneMobilestringNão
phonestringNão
statestring (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
cityinteger; máximo 9007199254740991Não
hidePhonesinteger; mínimo 0; máximo 1Não
armoredinteger; mínimo 0; máximo 1Não
attributesarrayNão
descriptionstring; mínimo 20 caracteres; máximo 5000 caracteresSim
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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
versioninteger; máximo 9007199254740991Sim
yearManufactureinteger; mínimo 1900; máximo 2100Sim
yearModelinteger; mínimo 1900; máximo 2100Sim
mileageinteger; mínimo 0; máximo 2000000Sim
pricenumber; mínimo 10000; máximo 100000000Sim
colorstring; mínimo 1 caracteres; máximo 40 caracteresSim
fuelstring; mínimo 1 caracteres; máximo 80 caracteresSim
gearstring; máximo 40 caracteresNão
doorsinteger; mínimo 2; máximo 5Não
armoredinteger; mínimo 0; máximo 1Não
attributesarrayNão
descriptionstring; mínimo 20 caracteres; máximo 5000 caracteresSim
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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
reasoninteger; mínimo 2; máximo 5Sim
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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
statusenum / unionSim
commentstring; máximo 2000 caracteresNã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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
imagestring; mínimo 1 caracteres; máximo 13981016 caracteresSim
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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
revisionstringSim
orderarraySim
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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
indexinteger; mínimo 1; máximo 10Sim
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 JSONTipo / limitesObrigatório
subjectstring; mínimo 5 caracteres; máximo 160 caracteresSim
messagestring; mínimo 10 caracteres; máximo 5000 caracteresSim
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 JSONTipo / limitesObrigatório
confirmationstringSim
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 JSONTipo / limitesObrigatório
pushTokenstring; mínimo 1 caracteres; máximo 255 caracteresSim
pushDeviceenum / unionSim
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 JSONTipo / limitesObrigatório
phoneMobilestring; máximo 25 caracteresNã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 JSONTipo / limitesObrigatório
challengeIdstringSim
codestringSim
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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
classifiedIdinteger; máximo 2147483647Sim
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 JSONTipo / limitesObrigatório
vehicleTypestring (cars, motorcycles, trucks)Sim
classifiedIdinteger; máximo 2147483647Sim
paymentIdstringSim
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 JSONTipo / limitesObrigatório
idstring; mínimo 1 caracteres; máximo 128 caracteresSim
kindstringSim
vehicleTypestring (cars, motorcycles, trucks)Sim
valuenumber; mínimo 0Não
occurredAtstringSim
sourceUrlstring; máximo 2048 caracteresNão
marketingConsentbooleanSim
gclidstring; mínimo 1 caracteres; máximo 512 caracteresNão
gbraidstring; mínimo 1 caracteres; máximo 512 caracteresNão
wbraidstring; mínimo 1 caracteres; máximo 512 caracteresNão
msclkidstring; mínimo 1 caracteres; máximo 512 caracteresNã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 JSONTipo / limitesObrigatório
receiptIdstringSim
analyticsbooleanSim
marketingbooleanSim
origininteger; mínimo 0; máximo 3Sim
pathstring; máximo 500 caracteresSim
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 JSONTipo / limitesObrigató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 JSONTipo / limitesObrigatório
identityTokenstring; mínimo 1 caracteres; máximo 16384 caracteresSim
noncestringSim
namestring; máximo 120 caracteresNã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 JSONTipo / limitesObrigatório
emailstring; máximo 254 caracteresSim
passwordstring; mínimo 1 caracteres; máximo 256 caracteresSim
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 JSONTipo / limitesObrigatório
namestring; mínimo 2 caracteres; máximo 120 caracteresSim
emailstring; máximo 254 caracteresSim
passwordstring; mínimo 8 caracteres; máximo 128 caracteresSim
memberTypestring (person, reseller)Não
documentstringNão
phonestringNão
referralstring; máximo 64 caracteresNão
marketingConsentbooleanNã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 JSONTipo / limitesObrigatório
namestring; mínimo 2 caracteres; máximo 120 caracteresSim
emailstring; máximo 254 caracteresSim
sourcestring (google, facebook)Sim
referralstring; máximo 64 caracteresNão
marketingConsentbooleanNã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 JSONTipo / limitesObrigatório
emailstring; máximo 254 caracteresSim
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 JSONTipo / limitesObrigatório
memberIdinteger; máximo 9007199254740991Sim
recoveryTokenstring; mínimo 32 caracteres; máximo 256 caracteresSim
passwordstring; mínimo 8 caracteres; máximo 128 caracteresSim
passwordConfirmationstring; mínimo 1 caracteresSim
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 JSONTipo / limitesObrigatório
classifiedIdinteger; máximo 9007199254740991Sim
vehicleTypestring (cars, motorcycles, trucks)Sim
namestring; mínimo 2 caracteres; máximo 120 caracteresSim
emailstring; máximo 254 caracteresSim
phonestring; máximo 30 caracteresSim
messagestring; mínimo 10 caracteres; máximo 3000 caracteresSim
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 JSONTipo / limitesObrigató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 JSONTipo / limitesObrigató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 JSONTipo / limitesObrigató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 JSONTipo / limitesObrigatório
carsstring; máximo 250 caracteresSim
motorcyclesstring; máximo 250 caracteresSim
trucksstring; máximo 250 caracteresSim
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&section=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&section=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 JSONTipo / limitesObrigatório
namestring; mínimo 2 caracteres; máximo 120 caracteresSim
emailstring; máximo 254 caracteresSim
subjectstring; mínimo 3 caracteres; máximo 160 caracteresSim
messagestring; mínimo 10 caracteres; máximo 5000 caracteresSim
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).

  1. Troque o token de aplicação no formulário V1 por X-API-Key V2, mantida exclusivamente no servidor.
  2. 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.
  3. Faça login V2 e envie Authorization: Bearer TOKEN_OPACO nas operações privadas. Tokens de membro V1 não funcionam como sessão V2; identidade vem da sessão, não de user_id ou seller.
  4. Adapte o código aos novos campos, ao envelope data/meta e a erros error.code/error.message com status HTTP. Não dependa do success ou error: 1 legado.
  5. Substitua o tipo numérico legado: 1 → cars, 2 → motorcycles, 3 → trucks. A V2 usa type ou vehicleType, 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 rotaDiferenças
classified-statesGET /classifieds/statesLista completa das 27 unidades federativas; facets.states contém somente estados com anúncios compatíveis.
classified-citiesGET /catalog?type=cars&mode=buy&state=SPCidades com anúncios; também disponíveis em facets.cities na busca.
classified-manufacturersGET /catalog?type=cars&mode=buyUse mode=sell para o catálogo de publicação.
classified-modelsGET /catalog?type=cars&mode=buy&manufacturer=123Fabricante por ID; versões são consultadas separadamente.
classified-versionsGET /catalog?type=cars&mode=buy&model=123Modelo por ID.
classified-postalcodeGET /locations/postal-codes/{postalcode}CEP no caminho, com oito dígitos; resposta e erros diferem da V1.
classified-searchGET /classifiedsFiltros na query; marca, modelo e cidade usam slugs. Para versão use versionId. Retorno inclui rows, facets e paginação.
classified-detailsGET /classifieds/{id}?vehicleType=carsModelo de resposta diferente; consulte vehicleType retornado.
classified-addPOST /account/classifiedsPublicação autenticada por sessão; edição usa PATCH /account/classifieds/{id}, com campos próprios.
classified-statusPATCH /account/classifieds/{id}/statusExige sessão e propriedade; vehicleType e status vão no JSON.
classified-removeDELETE /account/classifieds/{id}Exige sessão; envie vehicleType e reason em JSON.
classified-image-addPOST /account/classifieds/{id}/imagesImagem em base64; URLs remotas não são aceitas.
classified-image-removeDELETE /account/classifieds/{id}/imagesExige vehicleType e index; V2 também oferece PATCH para reordenar fotos.
fipe-manufacturersGET /catalog/fipe?type=carsOpções de fabricantes.
fipe-modelsGET /catalog/fipe?type=cars&manufacturer=fiatUse slug do fabricante, não o ID legado.
fipe-versions, fipe-yearsGET /catalog/fipe/models/{id}/versions; GET /catalog/fipe/versions/{id}/yearsO ID do modelo vem de /catalog/fipe; versões retornam IDs usados na consulta de anos.
fipe-detailsGET /fipe/values/{id}?type=carsUse o ID retornado na consulta de anos; também há consulta por slug em /fipe.
news-listingGET /content/articles?kind=all&page=1Categoria 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 rotaDiferenças
user-loginPOST /auth/loginRetorna sessão V2; faça login novamente em vez de reutilizar user_token.
user-signupPOST /auth/signupJSON e campos/validações diferentes; consulte o schema.
user-authPOST /auth/socialGoogle/Facebook: somente servidor confiável após validar o provedor; requer X-Service-Token.
user-auth-applePOST /auth/apple/challenges; POST /auth/appleSolicite 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-profileGET /account; PATCH /account/profileLeitura e atualização separadas, com sessão V2 e contratos diferentes.
user-recoveryPOST /auth/recovery; POST /auth/password/resetRecuperação e troca são etapas separadas com token de uso único.
user-deleteDELETE /accountExige sessão e confirmação explícita no JSON.
chat-user (alias user-messages)GET /account/messages?vehicleType=cars&page=1Sessã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=1Sessão e propriedade obrigatórias; paginação de 20 mensagens.
chat-send (alias classified-contact)POST /messagesContato de anúncio ativo com dados do remetente em JSON.
chat-reply (alias classified-reply)POST /account/messages/{id}/repliesExige sessão; envie vehicleType e reply.
chat-remove, classified-message-removeDELETE /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 rotaDiferenças
classified-reportPOST /classifieds/{id}/reportsJSON com vehicleType, name, email e reason (1 a 3).
classified-callPOST /classifieds/{id}/phone-viewsJSON com vehicleType; registra a revelação do telefone de anúncio ativo.
app-version, app-statusGET /app/version; GET /app/status?platform=iosConsulte versões e recursos por plataforma.
app-pushPOST /app/pushSessão obrigatória; envie pushToken e pushDevice (1 Android, 2 iOS), sem user_id.
app-sms-send, app-sms-confirmPOST /app/sms/send; POST /app/sms/confirmSessão obrigatória; envie phoneMobile opcional e confirme com challengeId e code. O código V1 não é aceito.
app-paywallGET /app/paywall?platform=androidInforma planos e regras por plataforma; sessão opcional personaliza as condições para a conta.
app-paymentPOST /app/payment/checkout; POST /app/paymentCrie 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-supportPOST /support/ticketsEnvie name, email, subject e message; schema e resposta diferem da V1.

© 2012-2026 Carzin - Todos os direitos reservados

Futtura Internet LTDA - CNPJ: 05.625.047/0001-64