Car Image API

Případy použití · Pojišťovnictví

Obrázky aut pro pojistné události a nabídky pojištění

Zdarma dekódujte VIN z pojistky nebo pojistné události, uložte si ID vozidla a ve spisu pojistné události i v PDF nabídky zobrazte jeden označený pohled na pojištěný model.

Průvodce implementací vycházející ze zdokumentovaného chování API; nejmenuje žádného zákazníka. Publikováno .

Problém: záznam uvádí auto, které nikdo nevidí

Formulář nabídky, záznam pojistky i první oznámení škody označují vozidlo stejně: jeho VIN, které zadal zákazník nebo opsal z technického průkazu. Vše, co pak člověk o voze vidí, je text: rok, značka, model a případně výbava. Otázka „Je to vaše vozidlo?“ vedle řádku textu svádí k odpovědi ano na cokoli.

Obrázek modelu, na který se VIN dekóduje, umožní zákazníkovi i likvidátorovi na první pohled ověřit, že záznam uvádí správný druh auta. Nemůže ukázat, o které konkrétní auto jde: render je studiová ilustrace značky, modelu a roku z katalogu a nezobrazuje žádné konkrétní fyzické vozidlo. Tato jediná skutečnost určuje celou integraci popsanou níže.

Jak integrace vypadá

  • Dekódujte při příjmu. Proces kalkulace nebo systém pojistných smluv dekóduje VIN jednou, zdarma, a uloží ID vozidla z katalogu ke smlouvě. Pojistné události otevřené k této smlouvě ho převezmou.
  • Jeden pohled všude. front-3-4, hlavní úhel, v jednom rámečku na obrazovce kalkulace, v pracovním prostředí likvidace pojistných událostí, v PDF nabídky i na portálu pojistných smluv, takže každá obrazovka zobrazuje model stejně.
  • Podepsané URL, nikdy klíč. Prohlížeče a generátory PDF načítají URL bez klíče, které generuje váš server.
  • Slova pro to, co obrázek neřekne. Výbava, příplatková výbava, evidovaná barva, poškození a nájezd zůstávají v textu a na fotkách a u obrázku je uvedeno, že je ilustrační.

Krok 1: dekódujte VIN, zdarma

GET /api/v1/vin/{vin} je zdarma a vyžaduje klíč s oprávněním images:read. Vrací dekódovaná pole z dat vPIC od NHTSA (rok, značka, model, výbava, série, typ karoserie, motor a všechny další atributy, které vPIC zná) a, pokud je vozidlo v katalogu, objekt vehicle s jeho stálým id a připravenou hodnotou image_path.

Dekódujte VIN uvedený v nabídce pojištění
curl --fail-with-body \
  -H "Authorization: Bearer $CAR_IMAGE_API_KEY" \
  "https://carimage.dev/api/v1/vin/WP0AA2A96RS201834"
200 OK (zkráceno)
{
  "data": {
    "vin": "WP0AA2A96RS201834",
    "valid": true,
    "errors": [],
    "suggested_vin": null,
    "year": 2024,
    "make": "Porsche",
    "model": "911",
    "trim": "Carrera, Carrera T, Carrera 4",
    "series": "Type 992",
    "body_class": "Coupe",
    "vehicle": {
      "id": "veh_78qtwrgh37bkr",
      "make": "Porsche",
      "model": "911",
      "year": 2024,
      "image_path": "/api/v1/images/car?vehicle=veh_78qtwrgh37bkr"
    },
    "source": "vpic-db"
  }
}

Přečtěte si trim: „Carrera, Carrera T, Carrera 4“. Vzor tohoto VIN pokrývá tři výbavy, takže ani dekódování neurčí, kterou z nich smlouva pojišťuje, a render modelu 911 z roku 2024 už vůbec ne. Požádejte zákazníka o potvrzení výbavy, uložte ji spolu se series a body_class jako text a obrázek nechte zobrazovat model.

  • VIN se špatnou kontrolní číslicí se přesto dekóduje, s valid: false a popisem problému v errors; suggested_vin pomocí ! označí znak, který vPIC považuje za chybný, a právě to ukažte uživateli, který VIN zadává.
  • Formulář, který má jen první znaky, může odeslat částečný VIN: alespoň pět znaků, s * za každou neznámou pozici a volitelným year.
  • 404 znamená, že vPIC tento vzor nezná. vPIC pokrývá vozidla vyrobená pro americký trh, takže u ostatních trhů začněte od značky a modelu pomocí POST /api/v1/images/resolve, což je také zdarma.

Krok 2: uložte ID vozidla k pojistce i k pojistné události

Uložte data.vehicle.id k pojistce jako prostý řetězec a zkopírujte jej ke každé škodní události, která je k ní otevřena. Id je deterministické a trvalé: stejné vozidlo má stejné id při každém nasazení i po každém vydání katalogu, takže je bezpečné jako cizí klíč, a každý další požadavek uvádí vehicle=veh_78qtwrgh37bkr, místo aby vypisoval značku a model.

Když je data.vehicle null, dekódovaná značka a model v katalogu nejsou, jako u přívěsů a některých užitkových podvozků. Dekódovaná pole můžete i tak zobrazit. Zobrazte je bez obrázku a nikdy místo nich nedávejte podobné auto.

Krok 3: jeden pohled ve spisu pojistné události a v PDF nabídky

Obrazovka s nabídkou, pracoviště pro likvidaci pojistných událostí a portál pojistek jsou aplikace v prohlížeči, takže váš server generuje podepsané URL pomocí POST /api/v1/image-urls: každá URL započítá svůj obrázek jako obrázek vozidla daného měsíce v okamžiku vygenerování, až 50 na jedno volání, a až do vypršení platnosti se načítá zdarma. Obrázek jednou nakomponujte a tento tvar používejte opakovaně: front-3-4 v rámečku 640×400 s fit: "contain" a trim s trochou padding, aby kupé i pickup vyplnily rámeček stejně. Jak dlouho má každá URL platit, záleží na tom, kde se zobrazuje:

  • Pracoviště pro likvidaci škod. URL vygenerujte při vykreslení obrazovky. Výchozí platnost v délce 1 hodiny pokryje pracovní relaci a škodní událost znovu otevřená zítra dostane nové URL.
  • PDF nabídky. Když se PDF generuje z HTML, renderer obrázek jednou načte a vloží, takže výchozí doba platnosti bohatě stačí a služba pro PDF nikdy nemá váš klíč. format: "jpg" obrázek zploští na bílé pozadí, což je pro dokument přesně to pravé.
  • Portál pojistek a e-mail o obnovení. Ty musí fungovat déle, než vydrží jakákoli platnost, takže URL vytvářejte s renew: true a ttl_seconds: 604800 (7 dní). URL zůstává funkční, obnovení započítá obrázek jednou v měsíci, ve kterém proběhne, a nic dalšího, pokud už byl v daném měsíci započítán, a renew_days: 365, nejdelší povolená hodnota, pokryje roční pojistné období.

Klíči, který generuje URL, nastavte na ovládacím panelu seznam povolených originů: URL načtená z jiného webu odpoví 403 s origin_not_allowed, zatímco e-mailoví klienti a prohlížeče PDF, které neposílají Referer, ji stále načtou. Zrušením klíče přestanou fungovat všechny URL, které vygeneroval.

Příjem hlášení, pracovní prostředí, PDF a portál s TypeScript SDK
import { CarImageClient, type ImageParams } from "@meterapp/car-image-sdk";

const client = new CarImageClient({ apiKey: process.env.CAR_IMAGE_API_KEY });

// Quote or policy intake: the VIN in, the vehicle id and the decoded words on the record. Free.
const { data: decoded } = await client.decodeVin(policy.vin);
policy.vehicleId = decoded.vehicle?.id ?? null; // null: show the decoded text and no picture
policy.trimText = decoded.trim;                 // "Carrera, Carrera T, Carrera 4": words, never the picture

if (policy.vehicleId) {
  // One view, framed once, for every screen and document that shows this policy's car.
  const view: ImageParams = {
    vehicle: policy.vehicleId, view: "front-3-4", color: policy.paintHex ?? "silver",
    width: 640, height: 400, fit: "contain", trim: true, padding: 6,
  };

  // The claims workbench: a URL for this session, minted when the screen draws.
  const { data: [workbench] } = await client.createImageUrls({ ...view, format: "auto" });

  // The quote PDF: the HTML-to-PDF renderer loads the URL once and embeds the picture.
  const { data: [pdf] } = await client.createImageUrls({ ...view, format: "jpg" });

  // The policy portal and the renewal email: one URL that keeps working for the term.
  const { data: [portal] } = await client.createImageUrls(
    { ...view, format: "auto" },
    { ttlSeconds: 604800, renew: true, renewDays: 365, idempotencyKey: `policy:${policy.id}:image` }
  );
}

Krok 4: označte ho jako model, nikdy jako pojištěné auto

Popisek umístěte tam, kde je obrázek, nejen do poznámky pod čarou: do alt textu a do titulku pod obrázkem. Render zobrazuje značku, model a rok v barvě, kterou zvolíte, a color může odpovídat barvě uvedené v pojistce (název předvolby nebo libovolný hex). Stále jde ale o model v této barvě, ne o vůz zákazníka.

Blok vozidla v nabídce
<figure>
  <img src="https://carimage.dev/api/v1/delivery/eyJhbGciOi…" width="640" height="400"
       alt="Representative image of a 2024 Porsche 911, not a photo of the insured vehicle">
  <figcaption>
    2024 Porsche 911 · Coupe · Type 992 · trim on the VIN: Carrera, Carrera T or Carrera 4
    <small>Representative image of the model. Not a photo of the insured vehicle.</small>
  </figcaption>
</figure>

Kolik to stojí a který tarif se hodí

  • Zdarma: dekódování VIN, resolve, vyhledávání v katalogu a každé načtení podepsané URL během její platnosti.
  • Jeden obrázek vozidla: každé vozidlo v každém laku a pohledu, započítané jednou měsíčně bez ohledu na to, jak často je doručeno, vygenerováno nebo obnoveno, v libovolné velikosti a formátu.
  • Obrázky vozidel za měsíc: proces tvorby nabídek pracuje s mnoha různými vozidly a každý tarif jich měsíčně zahrnuje určitý počet: Free 100, Pro 2 500 a Business 10 000; Enterprise je podle dohody. Obrázek již v tomto měsíci započítaný se zobrazí vždy a požadavek nad rámec limitu vrátí 402 dřív, než se cokoli započítá, proto tarif zvolte podle počtu vozidel, pro která připravujete nabídky.

U placeného tarifu licence pokrývá render v rámci toho, co váš produkt vytváří pro své uživatele, včetně nabídky nebo zprávy, a to po celou dobu, kdy je tarif aktivní; podrobnosti najdete v licenci.

CLI, SDK a MCP

npx @meterapp/car-image
# decode for free and keep the id
npx @meterapp/car-image vin WP0AA2A96RS201834 --json | jq -r .data.vehicle.id

# one renewing URL for the policy's documents, minted once however often intake retries
npx @meterapp/car-image url --vehicle veh_78qtwrgh37bkr --view front-3-4 --width 640 --height 400 \
  --fit contain --trim --padding 6 --format auto --ttl 604800 --renew --renew-days 365 \
  --idempotency-key policy-88213-image
  • SDK: client.decodeVin(vin, { year? }) a client.createImageUrls(…) jako výše; client.resolve(query) pro vozidlo bez VIN.
  • MCP: decode_vin a create_car_image_urls jsou součástí základní sady nástrojů, takže asistent, který má pojistnou událost v kontextu, dokáže na pokyn „ukaž mi pojištěný model“ odpovědět podle VIN uloženého ve spisu. Nastavení najdete na stránce MCP.

Často kladené otázky

Může obrázek nahradit fotografie pojištěného vozidla?
Ne. Jde o studiový render značky, modelu a roku z katalogu, nikoli o fotografii, a nezobrazuje žádné konkrétní vozidlo. Pomáhá zákazníkovi nebo likvidátorovi ověřit, že záznam uvádí správný typ vozu. Stav, poškození, výbava, doplňky a úpravy se zjišťují z fotografií, prohlídek a dekódovaného textu a u obrázku by mělo být uvedeno, že je ilustrační.
Kolik stojí obrázek u každé nabídky?
Dekódování VIN je zdarma. Obrázek se započítá jako jeden obrázek vozidla daného měsíce ve chvíli, kdy se vygeneruje jeho podepsaná URL nebo se jeho data doručí na váš server, a poté se zobrazuje tak často, jak je potřeba; načtení podepsané URL je až do jejího vypršení zdarma. Obnovovaná URL započítá obrázek jednou v každém dalším měsíci, ve kterém je otevřena, a v měsících, kdy se na ni nikdo nepodívá, nic.
VIN se dekóduje, ale vehicle je null. Co teď?
Dekodér vozidlo rozpoznal, ale katalog pro danou značku, model a rok nemá žádný záznam, což se stává u přívěsů a některých užitkových podvozků. Zobrazte dekódované údaje bez obrázku a nikdy je nenahrazujte podobným autem. Prohledejte katalog pro případ, že se liší pravopis, a pokud záznam opravdu chybí, požádejte o něj na veřejné nástěnce požadavků.
Funguje dekódování VIN i u vozidel mimo americký trh?
Dekodér pracuje s daty vPIC od NHTSA, která pokrývají vozidla vyrobená pro americký trh, takže správně zadaný VIN z jiného trhu může vrátit 404 nebo se dekódovat bez modelu. Takový vůz místo toho najděte podle značky, modelu a roku pomocí bezplatného endpointu resolve; samotný katalog pokrývá i modely z jiných trhů.
Jak dlouho smí spis škodní události obrázek uchovávat?
Po dobu, kdy je váš tarif aktivní. V placeném tarifu licence pokrývá render uvnitř výstupu vašeho produktu, včetně nabídky nebo zprávy; do 30 dnů po skončení tarifu se uložené kopie smažou. Chcete-li obrázky v záznamech uchovat natrvalo, kupte je jako Image Pack. Rendery se také mohou časem vylepšovat, takže záznam, který musí zachovat přesně to, co zákazník viděl, by měl ukládat soubor, nikoli URL.

Čtěte dál

Příběh zákazníka · Dealerský softwareJak v softwaru pro autobazary a dealery převést VIN nebo skladovou tabulku na fotografii každého vozidlaSkladový záznam má VIN a skladové číslo dlouho předtím, než má fotku. Nástroje pro dealery dekódují VIN zdarma, uchovávají ID vozidla v záznamu a díky podepsaným URL zobrazují v CRM jeden konzistentní pohled.