Import API
a verificar…
Documentação para programadores

API de importação

Mantenha o seu inventário Driv.one alinhado com o seu DMS ou sistema de stock. Crie e atualize veículos, envie inventários completos, gira fotos — através de uma API REST versionada e limitada à sua oficina.

REST + JSONEndpoints previsíveis, JSON de entrada e saída, códigos de erro estáveis.
Limitada à oficinaCada chave pertence a uma oficina e só vê os carros dessa oficina.
O mesmo vocabulário do siteOs valores aceites são exatamente os do formulário Adicionar veículo, etiquetados em cinco idiomas.
Sincronização seguraValidação tudo ou nada, proteção contra atualizações obsoletas, e nas sincronizações completas retira-se da venda mas nunca se apaga.

A API destina-se a vendedores profissionais, grupos de concessionários, fornecedores de DMS e parceiros de integração. Os registos que criar aparecem em driv.one sob a sua oficina, tal como os carros adicionados à mão.

Âmbito. Os registos da API estão limitados à oficina autenticada. Uma chave nunca pode ler nem alterar o inventário de outra oficina; um proprietário com várias oficinas precisa de uma chave por oficina.

Início rápido

1. Crie uma chave de API

Inicie sessão em {link}, escolha a oficina, dê um nome à chave e copie-a. A chave é mostrada uma única vez; se a perder, revogue-a e crie outra.

2. Teste a autenticação

curl https://api.driv.one/v1/me \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

3. Crie um veículo

curl -X POST https://api.driv.one/v1/vehicles \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "external_id": "STOCK-4821",
  "external_updated_at": "2026-09-05T08:30:00Z",
  "make": "Volkswagen",
  "model": "Golf",
  "year": 2022,
  "vin": "WVWZZZAUZNW123456",
  "license_plate": "1-ABC-123",
  "mileage": 41200,
  "first_registration": "2022-03-15",
  "fuel_type": "petrol",
  "gearbox_type": "dct",
  "body_type": "hatchback",
  "power_hp": 150,
  "num_doors": 5,
  "num_seats": 5,
  "color": "gray",
  "interior_material": "fabric",
  "vehicle_condition": "used",
  "asking_price": 24950,
  "is_tax_vehicle": true,
  "short_description": "Golf 1.5 TSI Life, first owner, full history",
  "seller_description": "Serviced at the dealership, two keys, winter tyres included.",
  "features": [
    "appleCarplay",
    "androidAuto",
    "adaptiveCruiseControl",
    "ledHeadlights",
    "alloyWheels"
  ],
  "parking_assist": [
    "sens_front",
    "sens_rear",
    "cam_rear"
  ],
  "image_urls": [
    "https://cdn.example-dealer.be/stock/4821/front.jpg",
    "https://cdn.example-dealer.be/stock/4821/interior.jpg"
  ]
}'

A resposta é o veículo guardado com o seu uuid, public_url, currency e fotos, mais uma lista warnings quando algo não fatal aconteceu (uma foto que não pôde ser obtida, um modelo que foi criado).

URL base e versões

https://api.driv.one/v1

A versão principal faz parte do caminho. Alterações incompatíveis recebem uma nova versão principal; /v1 mantém o seu comportamento. Acréscimos (novos campos opcionais, novos valores de enumeração) podem surgir dentro da v1 — leia GET /v1/options em vez de fixar listas no código.

Os caminhos são mostrados sem barra final; com barra também é aceite.

Autenticação

Autenticação por token Bearer com uma chave de API da oficina. As chaves começam por wsk_.

Authorization: Bearer wsk_…

X-API-Key: wsk_… é aceite como cabeçalho alternativo. Uma chave é de leitura e escrita ou só de leitura; uma chave só de leitura recebe 403 read_only_key em qualquer escrita.

Segurança das credenciais. Nunca coloque uma chave de API em JavaScript do navegador, num repositório público, numa captura de ecrã ou num pedido de suporte. Revogue a chave assim que suspeitar de uma fuga — a revogação é imediata.

Cabeçalhos do pedido

CabeçalhoValorFinalidade
AuthorizationBearer wsk_…Autentica a oficina.
Content-Typeapplication/jsonPara corpos JSON. O envio de ficheiros de foto usa multipart/form-data.
Acceptapplication/jsonAs respostas são sempre JSON.

Modelo de dados do veículo

Campos aceites em POST, PUT e PATCH. As respostas devolvem os mesmos nomes, mais os campos só de leitura uuid, status (published / unlisted), public_url, currency, images, for_sale_since e created_at.

Este é o conjunto completo: 45 campos — os mesmos que o formulário Adicionar veículo oferece — com 12 enumerações, 106 valores de equipamento e 6 ajudas de estacionamento. Todos os valores aceites estão nesta página e em GET /v1/options; nada mais é aceite.
CampoTipoAo criarDescrição
Identidade
external_idstring ≤120recomendadoO seu próprio id estável do veículo (número de stock, id do DMS). Permite referir o carro por ele e ativa o upsert e a sincronização.
external_updated_atdatetimenãoQuando o seu sistema alterou o veículo pela última vez. Uma data mais antiga do que a guardada é recusada com 409 stale_update.
license_platestring ≤20nãoTem de ser única em toda a plataforma.
vinstring (17)nãoNúmero de chassis, único em toda a plataforma. Guardado em maiúsculas.
Marca, modelo e matrícula
make / make_idstring / integersimMarca, por nome (sem distinguir maiúsculas) ou id. GET /v1/makes.
model / model_idstring / integersimModelo dentro da marca. Nomes desconhecidos são recusados, salvo se create_missing_model for true.
create_missing_modelbooleannãoAdiciona um nome de modelo desconhecido sob a marca em vez de falhar. Por omissão false.
vehicle_type / vehicle_type_idstring / integernãoCar, Motorcycle, SUV, Truck, Van. Por omissão Car.
yearintegersimAno do modelo, 1990–2027.
first_registrationdatenãoAAAA-MM-DD.
colorstring ≤50nãoUse um valor da enumeração de cores para o ter traduzido; outras palavras são mostradas como enviadas.
whiteblacksilvergrayblueredgreenyelloworangebrownbeigegoldpurplepinkotheretiquetas ↓
mileageintegernãoQuilometragem, em mileage_unit.
mileage_unitenumnãokm (predefinição) ou mi. Use mi para veículos dos EUA/Reino Unido vendidos no estrangeiro; o site mostra a unidade tal como enviada.
Motor e transmissão
motor_typestring ≤100nãoDesignação do motor, p. ex. "2.0 TDI 150hp".
fuel_typeenumnãoVer enumerações.
petroldieselelectrichybrid_petrolhybrid_dieselphev_petrolphev_diesellpgcnghydrogenmild_hybridotheretiquetas ↓
power_hp / power_kwintegernãoEnvie um dos dois; o outro é derivado.
cylinder_capacityinteger ccnãoCilindrada em cm³, p. ex. 1998.
gearbox_typeenumnãoManual, automática, semiautomática, CVT ou velocidade única (elétrico).
manualautomaticcvtdctsemi_autoetiquetas ↓
drivetrainenumnãofront, rear ou 4wd.
4wdfrontrearetiquetas ↓
emission_standardenumnãoNorma Euro.
euro0euro1euro2euro3euro4euro5euro6euro6beuro6ceuro6deuro6d_tempotheretiquetas ↓
co2_gkmintegernãoCO₂ em g/km.
battery_capacity_kwhdecimal kWhnãoVeículos elétricos: capacidade útil da bateria, p. ex. 77.4. Mostrada em vez da norma Euro quando fuel_type é electric.
battery_soh_pctinteger 0–100nãoEstado de saúde da bateria (SOH) em %.
battery_certificate_urlurlnãoLigação para o certificado da bateria; mostrada como ligação clicável no anúncio.
Carroçaria, dimensões e rodas
body_typeenumnãoTipo de carroçaria, como nos filtros do site.
sedanhatchbackestatecoupeconvertiblesuvcrossovermpvpickupvanotheretiquetas ↓
num_doors / num_seatsintegernãoPortas 1–9, lugares 1–99.
weightinteger kgnãoPeso em vazio.
steering_positionenumnãolhd ou rhd.
tyre_size / bolt_pattern / et_offsetstringnãop. ex. "225/45R17", "5x112", "+35".
Interior e conforto
interior_colorstring ≤50nãoTexto livre, p. ex. "preto".
interior_materialenumnãoEstofos.
alcantarafabricartificial_leatherpartial_leatherfull_leathervelouretiquetas ↓
air_conditioningenumnãoSem, manual ou climatização automática (1–4 zonas).
acNoneacManualac2Zoneac3Zoneac4Zoneetiquetas ↓
airbagsenumnãoQuantos airbags tem.
airbagDriverairbagFrontairbagFrontSideairbagFulletiquetas ↓
Equipamento
featuresarray[string]nãoSlugs de equipamento do catálogo abaixo. Slugs desconhecidos são recusados. Enviar [] limpa a lista.
parking_assistarray[string]nãoSlugs de ajudas de estacionamento do catálogo abaixo.
Venda e estado
is_for_salebooleannãoPor omissão true ao criar. false retira o carro do marketplace mas mantém-no.
asking_pricedecimalnãoNa moeda da oficina (devolvida como `currency`). Número simples, não cêntimos.
is_margin_vehicle / is_tax_vehiclebooleannãoTratamento do IVA: regime da margem ou IVA dedutível.
vehicle_conditionenumnãoNovo, demonstração, usado, danificado…
factory_newnew_conditionnew_with_damageusedused_with_damagepartsetiquetas ↓
num_ownersintegernãoProprietários anteriores, 0–99.
maintenance_historyenumnãoEstado do livro de manutenção.
nonedealershipplatformbothetiquetas ↓
carpass_urlurlnãoLigação ao documento Car-Pass (Bélgica).
short_descriptionstring ≤120nãoUma linha nos cartões da listagem.
seller_descriptiontextnãoDescrição completa.
Fotos
image_urlsarray[url] ≤30nãoFotos a descarregar dos seus servidores, pela ordem de exibição. Se presente, substitui todo o conjunto de fotos; omita para não tocar nas fotos.
Identificador. Use um id permanente do seu DMS como external_id — nunca uma posição de stock nem uma ordem de exibição. É o que faz funcionar o upsert, GET /v1/vehicles/{ref} pelo seu id e a sincronização do inventário.

Endpoints

Conta

GET/v1/meQuem souA oficina por trás da chave, uso das vagas de venda, contagem de veículos.
GET/healthEstadoSem autenticação.

Referência (sem chave)

GET/v1/optionsTodos os valores aceitesCada enumeração, slug de equipamento, valor de estacionamento e tipo de veículo, etiquetados em en/nl/fr/es/pt.
GET/v1/featuresCatálogo de equipamentoSó os slugs de equipamento com os seus grupos.
GET/v1/makes?search=Marcas`search` e `vehicle_type_id` opcionais.
GET/v1/makes/{make_id}/modelsModelos de uma marca

Veículos

GET/v1/vehiclesListar`status=published|unlisted|all`, `external_id=`, `limit` (≤200), `offset`.
POST/v1/vehiclesCriar ou upsert201 ao criar. Se `external_id` já existir na sua oficina, o veículo é atualizado e é devolvido 200.
GET/v1/vehicles/{ref}Obter um`ref` é o nosso uuid ou o seu external_id.
PATCH/v1/vehicles/{ref}Atualizar alguns camposOs campos omitidos mantêm o valor.
PUT/v1/vehicles/{ref}SubstituirOs campos opcionais omitidos são limpos.
DELETE/v1/vehicles/{ref}ApagarPermanente, fotos incluídas. Prefira PATCH {"is_for_sale": false} para retirar da venda.
POST/v1/vehicles/syncSincronizar um inventário inteiroAté 200 veículos por chamada, validação tudo ou nada, modo `complete` opcional.

Fotos

GET/v1/vehicles/{ref}/imagesListar fotosA ordem 0 é a foto principal.
POST/v1/vehicles/{ref}/imagesAdicionar uma fotoJSON `{"url": …}` ou ficheiro `image` multipart; `order` opcional.
PUT/v1/vehicles/{ref}/images/orderReordenar`{"ids": […]}` — cada id de foto exatamente uma vez.
DELETE/v1/vehicles/{ref}/images/{id}Apagar uma fotoAs fotos restantes são renumeradas.

Esquemas completos de pedido e resposta, com todas as enumerações: Swagger UI · ReDoc · openapi.json.

Resposta de listagem

{
  "count": 37, "limit": 50, "offset": 0, "next_offset": null,
  "results": [ { "uuid": "…", "external_id": "STOCK-4821", "status": "published", … } ]
}

Upsert e atualizações obsoletas

POST /v1/vehicles com um external_id que a sua oficina já usa atualiza esse veículo (HTTP 200) em vez de criar outro (HTTP 201). Assim, uma integração simples de "enviar tudo todas as noites" é idempotente.

Se também enviar external_updated_at, uma atualização com uma data mais antiga do que a guardada é recusada com 409 stale_update, para que um evento atrasado nunca substitua um mais recente. Numa sincronização, esse veículo é reportado como skipped_stale e o resto prossegue.

PATCH altera apenas os campos que enviar. PUT é uma substituição completa: os campos opcionais omitidos são limpos. Ambos aceitam o mesmo corpo da criação.

Sincronização do inventário

POST /v1/vehicles/sync faz upsert de um inventário inteiro numa só chamada (≤200 veículos; repita para mais). Cada veículo precisa de um external_id.

{
  "complete": true,
  "vehicles": [
    {
      "external_id": "STOCK-4821",
      "make": "Volkswagen",
      "model": "Golf",
      "year": 2022,
      "asking_price": 24950,
      "fuel_type": "petrol",
      "mileage": 41200
    },
    {
      "external_id": "STOCK-4835",
      "make": "Audi",
      "model": "A4",
      "year": 2021,
      "asking_price": 28900,
      "fuel_type": "diesel",
      "body_type": "estate"
    }
  ]
}
  • Validação tudo ou nada. Todo o conteúdo é validado primeiro. Um veículo inválido rejeita a chamada com 422 e um mapa vehicles por veículo; nada é escrito.
  • complete: true declara que o conteúdo é todo o seu stock. Os veículos geridos pela API (com um dos seus ids externos) que faltem são retirados da venda, nunca apagados — ficam no seu painel e voltam se os enviar de novo.
  • Proteção contra vazio. Uma sincronização completa sem veículos precisa de allow_empty: true; caso contrário, 409 empty_snapshot.
  • dry_run: true devolve would_create, would_update, would_unlist e não escreve nada.
  • Vagas. Os veículos além das suas vagas de venda são guardados não publicados com um aviso sale_limit_reached, em vez de fazer falhar a sincronização.

Os veículos adicionados à mão no site nunca são tocados por uma sincronização.

Vagas de venda

Cada conta de oficina tem um número de veículos que podem estar à venda ao mesmo tempo (nível gratuito, subscrições, ou um número atribuído por Driv.one). GET /v1/me devolve slots.used, slots.limit e slots.available.

Uma criação ou atualização que exceda esse número falha com 403 sale_limit_reached. Para libertar uma vaga, faça PATCH {"is_for_sale": false} num veículo — fica guardado e pode voltar a ser publicado. Pode comprar mais vagas em {link}.

Fotos

As fotos são ordenadas; a ordem 0 é a foto principal mostrada nos cartões. As imagens grandes são redimensionadas para 2560 px no lado maior e recodificadas; o que exceder 15 MB depois disso é recusado.

Com o veículo

Envie image_urls ao criar ou atualizar. As fotos são descarregadas dos seus servidores pela ordem indicada e substituem todo o conjunto de fotos. Omita o campo para deixar as fotos como estão. Se nenhum URL puder ser obtido, as fotos existentes mantêm-se e é devolvido um aviso.

Uma de cada vez

curl -X POST https://api.driv.one/v1/vehicles/STOCK-4821/images \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://cdn.example-dealer.be/stock/4821/rear.jpg", "order": 1}'
curl -X POST https://api.driv.one/v1/vehicles/STOCK-4821/images \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "image=@rear.jpg" -F "order=1"

Reordenar

curl -X PUT https://api.driv.one/v1/vehicles/STOCK-4821/images/order \
  -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"ids": [912, 910, 911]}'
Os URL remotos têm de ser endereços http(s) públicos. Destinos locais, privados e reservados são recusados em cada redirecionamento. O conteúdo é verificado como imagem real, independentemente do Content-Type declarado.

Equipamento (106 valores)

Envie o equipamento como slugs em features e as ajudas de estacionamento em parking_assist. Só os valores abaixo são aceites; slugs desconhecidos devolvem 422 a nomeá-los. Omitir o campo em PATCH mantém o equipamento; enviar [] limpa-o. Etiquetas em todos os idiomas: GET /v1/options.

Ajudas de estacionamento parking_assist

6
cam_360Câmara 360° · 360° Camera
cam_frontCâmara frontal · Front camera
cam_rearCâmara traseira · Rear camera
self_steeringSistemas de auto-direção · Self-steering systems
sens_frontSensores dianteiros · Front parking sensors
sens_rearSensores traseiros · Rear parking sensors

Exterior features 78

Eletrônica

10
absABS · ABS
espESP · ESP
immobiliserImobilizador eletrónico · Electronic immobiliser
centralLockingFecho centralizado · Central locking
keylessFecho centralizado sem chave · Keyless central locking
rainSensorSensor de chuva · Rain sensor
lightSensorSensor de luz · Light sensor
tyrePressureMonitorControlo da pressão dos pneus · Tyre pressure monitoring
startStopSistema Start/Stop · Start/stop system
electricTailgateMala elétrica · Electric tailgate

Iluminação

6
fogLightsFaróis de nevoeiro · Fog lights
ledDrlLuzes diurnas LED · LED daytime running lights
drlLuzes diurnas · Daytime running lights
corneringLightLuz de curva · Cornering light
headlightWasherLimpa-faróis · Headlight washer
dynamicIndicatorsIndicadores dinâmicos / sequenciais / deslizantes · Dynamic / sweeping / sliding indicators

Faróis

7
biXenonHeadlightsFaróis bi-xénon · Bi-xenon headlights
xenonHeadlightsFaróis de xénon · Xenon headlights
ledHeadlightsFaróis LED · LED headlights
laserLightLuzes laser · Laser light
highBeamAssistAssistente de luzes altas · High beam assist
nightVisionAssistente de visão noturna · Night vision assistant
matrixLightsLuzes inteligentes / matriciais · Intelligent / matrix lights

Assistentes de condução

12
distanceWarnerAviso de distância · Distance warning
hillStartAssistAssistente de arranque em declive · Hill start assist
speedLimiterLimitador de velocidade · Speed limiter
emergencyBrakeAssistAssistente de travagem de emergência · Emergency brake assist
laneAssistAssistente de manutenção de faixa · Lane assist
blindSpotMonitorAssistente de ângulo morto · Blind spot monitor
tractionControlControlo de tração · Traction control
trafficSignRecognitionReconhecimento de sinais · Traffic sign recognition
adaptiveCorneringLuz de curva adaptativa · Adaptive cornering light
cruiseControlCruise control · Cruise control
adaptiveCruiseControlCruise control adaptativo · Adaptive cruise control
fatigueWarnerAssistente de fadiga · Fatigue warning system

Conforto & outros

43
tintedWindowsJanelas fumadas · Tinted windows
adaptiveSuspensionSuspensão adaptativa · Adaptive suspension
allWeatherTyresPneus para todas as estações · All-weather tyres
heatedWindscreenPara-brisas aquecido · Heated windscreen
disabledAccessAcesso para deficientes · Disabled access
roofRailsBarras de tejadilho · Roof rails
airSuspensionSuspensão pneumática · Air suspension
spareWheelRoda sobressalente · Spare wheel
tyreSealantKit antipontura · Tyre sealant kit
fullSizeSpareRoda sobressalente completa · Full-size spare wheel
powerSteeringDireção assistida · Power steering
summerTyresPneus de verão · Summer tyres
sportSuspensionSuspensão desportiva · Sport suspension
sportPackagePacote desportivo · Sport package
steelWheelsJantes de aço · Steel wheels
alloyWheelsJantes em liga leve · Alloy wheels
winterPackagePacote de inverno · Winter package
winterTyresPneus de inverno · Winter tyres
panoramicRoofTejadilho panorâmico · Panoramic roof
slidingRoofTejadilho deslizante · Sliding roof
foldingRoofTeto dobrável · Folding roof
towHitchGancho de reboque · Tow hitch
alarmSystemSistema de alarme · Alarm system
ambientLightingIluminação ambiente · Ambient lighting
electricWindowsVidros elétricos · Electric windows
handsFreeSistema mãos-livres · Hands-free system
cargoPartitionSeparador da bagageira · Cargo area partition
isofixIsofix · Isofix
isofixPassengerIsofix banco do passageiro · Isofix passenger seat
emergencyCallSystemSistema de chamada de emergência · Emergency call system
smokersPackagePacote de fumador · Smoker's package
rightHandDriveCondução pela direita · Right-hand drive
skiStorageSaco para skis · Ski storage
auxiliaryHeatingAquecimento auxiliar · Auxiliary heating
usbUSB · USB
heatedSteeringWheelVolante aquecido · Heated steering wheel
leatherSteeringWheelVolante em couro · Leather steering wheel
multifunctionSteeringWheelVolante multifunções · Multifunction steering wheel
paddleShiftersPaletas de mudança · Paddle shifters
electricMirrorsEspelhos elétricos · Electric mirrors
electricFoldingMirrorsEspelhos elétricos dobráveis · Electric folding mirrors
autoGlareFreeMirrorEspelho interior antiofuscante · Auto-dimming interior mirror
virtualMirrorsEspelhos laterais virtuais · Virtual side mirrors

Interior features 28

Infoentretenimento

17
androidAutoAndroid Auto · Android Auto
appleCarplayApple CarPlay · Apple CarPlay
bluetoothBluetooth · Bluetooth
boardComputerComputador de bordo · On-board computer
cdPlayerLeitor de CD · CD player
headUpDisplayHead-up display · Head-up display
inductiveChargingCarregamento indutivo para smartphones · Inductive charging for smartphones
musicStreamingStreaming de música integrado · Integrated music streaming
navigationSistema de navegação · Navigation system
radioDabRádio DAB · DAB radio
soundSystemSistema de som · Sound system
touchscreenEcrã tátil · Touchscreen
tunerRadioSintonizador/Rádio · Tuner/Radio
tvTV · TV
voiceControlControlo por voz · Voice control
wifiHotspotHotspot Wi-Fi · Wi-Fi hotspot
digitalInstrumentClusterPainel de instrumentos totalmente digital · Fully digital instrument cluster

Assentos

11
armrestApoio de braço · Armrest
electricSeatAdjustAjuste elétrico dos assentos · Electric seat adjustment
electricSeatAdjustMemoryAjuste elétrico com memória · Electric seat adjustment with memory
electricSeatAdjustRearAjuste elétrico dos assentos traseiros · Electric rear seat adjustment
lumbarSupportSuporte lombar · Lumbar support
massageSeatsAssentos com massagem · Massage seats
seatVentilationVentilação dos assentos · Seat ventilation
seatHeatingAquecimento dos assentos · Seat heating
seatHeatingRearAquecimento dos assentos traseiros · Rear seat heating
sportSeatsAssentos desportivos · Sport seats
foldablePassengerSeatBanco do passageiro rebatível · Foldable passenger seat

Enumerações

Etiquetas no idioma selecionado; todos os idiomas estão em GET /v1/options. Valores desconhecidos são recusados, não adivinhados.

vehicle_type

Carid 1Motorcycleid 2Truckid 3Vanid 4SUVid 5

year

19902027

fuel_type

12
ValorEtiquetaEnglish
petrolGasolinaPetrol / Gasoline
dieselGasóleoDiesel
electricElétricoElectric
hybrid_petrolHíbrido (Gasolina)Hybrid (Petrol)
hybrid_dieselHíbrido (Gasóleo)Hybrid (Diesel)
phev_petrolPHEV (Gasolina)PHEV (Petrol)
phev_dieselPHEV (Gasóleo)PHEV (Diesel)
lpgGPLLPG
cngGNCCNG
hydrogenHidrogénioHydrogen
mild_hybridHíbrido suaveMild Hybrid
otherOutroOther

gearbox_type

5
ValorEtiquetaEnglish
manualManualManual
automaticAutomáticoAutomatic
cvtCVTCVT
dctDupla embraiagem (DCT)Dual-Clutch (DCT)
semi_autoSemi-automáticoSemi-automatic

body_type

11
ValorEtiquetaEnglish
sedanSedãSedan
hatchbackHatchbackHatchback
estateFamiliar / BreakEstate / Break
coupeCoupéCoupé
convertibleDescapotávelCabriolet / Convertible
suvSUVSUV
crossoverCrossoverCrossover
mpvMPV / MonovolumeMPV / Minivan
pickupPickupPickup
vanCarrinhaVan
otherOutroOther

drivetrain

3
ValorEtiquetaEnglish
4wdTração nas 4 rodas4 wheel drive
frontTração dianteiraFront drive
rearTração traseiraRear drive

steering_position

2
ValorEtiquetaEnglish
lhdVolante à esquerdaLeft-hand drive
rhdVolante à direitaRight-hand drive

emission_standard

12
ValorEtiquetaEnglish
euro0Euro 0Euro 0
euro1Euro 1Euro 1
euro2Euro 2Euro 2
euro3Euro 3Euro 3
euro4Euro 4Euro 4
euro5Euro 5Euro 5
euro6Euro 6Euro 6
euro6bEuro 6bEuro 6b
euro6cEuro 6cEuro 6c
euro6dEuro 6dEuro 6d
euro6d_tempEuro 6d-tempEuro 6d-temp
otherOutroOther

color

15

color é texto livre; estes valores são os que o site traduz.

ValorEtiquetaEnglish
whiteBrancoWhite
blackPretoBlack
silverPrataSilver
grayCinzaGray
blueAzulBlue
redVermelhoRed
greenVerdeGreen
yellowAmareloYellow
orangeLaranjaOrange
brownMarromBrown
beigeBegeBeige
goldDouradoGold
purpleRoxoPurple
pinkRosaPink
otherOutroOther

interior_material

6
ValorEtiquetaEnglish
alcantaraAlcântaraAlcantara
fabricTecidoFabric
artificial_leatherCouro artificialArtificial leather
partial_leatherCouro parcialPartial leather
full_leatherCouro integralFull leather
velourVeludoVelour

vehicle_condition

6
ValorEtiquetaEnglish
factory_newNovo de fábricaFactory New
new_conditionEstado novoNew Condition
new_with_damageEstado novo com danosNew Condition with Damage
usedUsadoUsed
used_with_damageUsado com danosUsed with Damage
partsPara peçasUsed for Parts

maintenance_history

4
ValorEtiquetaEnglish
noneNãoNo
dealershipSim, com concessionáriaYes, with dealership
platformSim, com the platformYes, with the platform
bothSim, com concessionária e the platformYes, with dealership and the platform

airbags

4
ValorEtiquetaEnglish
airbagDriverAirbag do condutorDriver airbag
airbagFrontAirbags frontaisFront airbags
airbagFrontSideAirbags frontais e lateraisFront & side airbags
airbagFullAirbags frontais, laterais e traseirosFront, side & rear airbags

air_conditioning

5
ValorEtiquetaEnglish
acNoneSem ar condicionadoNone
acManualManualManual
ac2ZoneAutomático 2 zonas2-zone automatic
ac3ZoneAutomático 3 zonas3-zone automatic
ac4ZoneAutomático 4 zonas4-zone automatic

Erros

Os erros são JSON com um código error estável e um message legível; alguns trazem chaves extra.

{
  "error": "validation_error",
  "message": "One or more fields are invalid.",
  "fields": {
    "fuel_type": [
      "\"gasoline\" is not a valid choice."
    ],
    "features": [
      "Unknown features: sunroof. GET /v1/options lists the accepted values."
    ]
  }
}
HTTPerrorSignificado
401invalid_api_keyChave em falta, desconhecida ou revogada.
403read_only_keyA chave só pode ler.
403workshop_blocked / workshop_inactiveA oficina não pode publicar de momento.
403sale_limit_reachedTodas as vagas de venda estão em uso. O corpo inclui used, limit, available.
404vehicle_not_found / image_not_found / make_not_foundNão encontrado nesta oficina.
409duplicate_vin / duplicate_license_plateOutro veículo já tem esse identificador.
409stale_updateO external_updated_at guardado é mais recente do que o enviado.
409empty_snapshotUma sincronização completa sem veículos precisa de allow_empty: true.
422validation_errorErros por campo em `fields` (ou `vehicles` numa sincronização). Nada foi escrito.
422image_url_* / image_too_large / image_unreadableNão foi possível obter uma foto. Ao criar ou atualizar são avisos, não falhas.
429Limite de utilização. Tente de novo após o cabeçalho `Retry-After`.

Respostas bem-sucedidas: 200 leitura ou atualização, 201 criado, 204 apagado.

Limites de utilização

Cada chave pode fazer 3 000 pedidos por hora. Acima disso, a API responde 429 com um cabeçalho Retry-After. Uma sincronização noturna completa de algumas centenas de carros usa poucas chamadas; se precisar de mais, contacte a Driv.one.

As transferências de fotos contam no mesmo orçamento através das chamadas que as originam, não por imagem.