Extract Indian Vehicle RC Data with Zapier: Drive to Fleet Sheets
Watch Google Drive for RC front/back scans, call Cryvis POST /v1/documents/indian-vehicle-rc with multipart front and/or back via Custom Request, and append registration and chassis fields to a fleet Google Sheet.
Fleet ops still retype Registration Certificate (RC) fields into spreadsheets. This Zap watches a Drive folder for Indian RC front and/or back images, calls Cryvis POST /v1/documents/indian-vehicle-rc, and appends structured vehicle rows to Google Sheets for fleet inventory.
Related: Convert PDFs to JSON (custom schemas), Automate KYC (Paths pattern). Hub: /blog/zapier.
Architecture
Google Drive
/fleet-rc/inbox/
KA01AB1234_front.jpg
KA01AB1234_back.jpg
|
v
Zapier: pair front/back by prefix
|
v
Custom Request
POST https://api.cryvis.com/v1/documents/indian-vehicle-rc
-F front=@... (and/or)
-F back=@...
-H "Authorization: Bearer ..."
|
v
Google Sheets: Fleet registryAPI contract
| Item | Value |
|---|---|
| URL | https://api.cryvis.com/v1/documents/indian-vehicle-rc |
| Auth | Authorization: Bearer YOUR_API_KEY |
| Multipart | front and/or back — at least one required |
| Not used | Do not send a generic file part (that is PAN/invoice shape) |
cURL:
curl -X POST https://api.cryvis.com/v1/documents/indian-vehicle-rc \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "front=@rc-front.jpg" \
-F "back=@rc-back.jpg"Docs: /docs/api/extractIndianVehicleRc · /apis/indian-vehicle-rc.
Step 1: Drive naming convention
{registration_guess}_front.jpg
{registration_guess}_back.jpgExamples: KA01AB1234_front.jpg, KA01AB1234_back.jpg. The guess is only for pairing — trust Cryvis registration_number in the Sheet.
Folders:
/fleet-rc/inbox
/fleet-rc/done
/fleet-rc/failedStep 2: Watch and pair
Google Drive → New File in Folder on inbox.
Derive pairing keys with Formatter by Zapier → Text:
pair_key = filename with "_front" / "_back" stripped (and extension removed)
side = front if filename contains "_front", else backCryvis accepts front only, back only, or both. Waiting for both improves completeness (source often becomes front_and_back).
Pairing when sides arrive separately
Drive can deliver _front and _back as two Zap runs seconds apart. Options:
- Storage by Zapier — on first side, store
pair_key→ file id. On second side, read storage, download both binaries, call Cryvis once, clear the key. - Delay by Zapier — after one side, Delay 1–2 minutes, search Drive for the sibling filename, proceed with whatever exists.
- Manual batch — ops drops both files, then a
READY.txtmarker triggers the Zap.
Prefer (1) for production fleets; (3) for low volume.
Step 3: Download binaries
Download available sides into front_bin / back_bin. Build multipart dynamically:
| Condition | Parts sent |
|---|---|
| Both | front, back |
| Front only | front |
| Back only | back |
Use Paths: “Has both” / “Front only” / “Back only” each with its own Custom Request field list.
Step 4: Custom Request
Webhooks by Zapier → Custom Request → multipart as above. Parse JSON data from the test result.
Typical fields:
{
"success": true,
"data": {
"registration_number": "KA01AB1234",
"registration_date": "2019-06-15",
"owner_name": "RAHUL SHARMA",
"address": "12 MG Road, Bengaluru, Karnataka 560001",
"vehicle_class": "LMV",
"manufacturer": "MARUTI SUZUKI",
"model": "SWIFT",
"chassis_number": "MA3EJLF1S00123456",
"engine_number": "K12MN1234567",
"fuel_type": "Petrol",
"insurance_valid_upto": "2025-06-14",
"fitness_valid_upto": "2026-06-14",
"financier": "HDFC BANK LTD",
"source": "front_and_back"
},
"meta": {
"request_id": "req_rc_01hxyz"
}
}source tells you whether extraction used front, back, or both — useful when chassis is missing (often on the side you did not upload).
Step 5: Fleet Sheet columns
| Column | Field |
|---|---|
| processed_at | now |
| registration_number | data.registration_number |
| registration_date | data.registration_date |
| owner_name | data.owner_name |
| address | data.address |
| vehicle_class | data.vehicle_class |
| manufacturer | data.manufacturer |
| model | data.model |
| chassis_number | data.chassis_number |
| engine_number | data.engine_number |
| fuel_type | data.fuel_type |
| insurance_valid_upto | data.insurance_valid_upto |
| fitness_valid_upto | data.fitness_valid_upto |
| financier | data.financier |
| source | data.source |
| drive_pair_key | pair_key |
| status | ok / error |
Google Sheets → Create Spreadsheet Row. Optionally Lookup Spreadsheet Row on registration_number then Update Spreadsheet Row to keep one row per vehicle.
Normalize before Lookup: uppercase and strip spaces so KA 01 AB 1234 matches KA01AB1234.
Step 6: Completeness Filter
After extract:
IF chassis_number empty OR engine_number empty
status_note = incomplete_identifiers
(optional) Slack fleet ops
ELSE
status_note = completeIncomplete rows still belong in the Sheet — do not drop them. Ops can drop the missing side into inbox with the same prefix and you upsert.
Step 7: Move files
Success → done/{pair_key}/. Error → failed/. Clear inbox so New File does not loop.
Step 8: Errors
| Cause | Fix |
|---|---|
No front or back part | At least one required |
Used file like PAN | Wrong field names for RC |
Used first_page | Passport only — not RC |
| 401 | Bearer token |
| Unreadable scan | Re-shoot; keep status=error row |
Field names, source, and fleet reporting
Multipart: front and/or back only — never file (PAN) or first_page (passport). Prefer source=front_and_back; if front-only and chassis empty, request the back (and vice versa). Treat source as an ops signal, not billing.
In Sheets: filter insurance_valid_upto within 30 days; pivot by manufacturer / vehicle_class; count rows where source ≠ front_and_back as quality debt. Credits: 1 per image (Credits) — front+back = two when both upload.
Related reading
CTA
Extract Indian RC front/back to JSON: /apis/indian-vehicle-rc. Docs: /docs/api/extractIndianVehicleRc. In Zapier, Custom Request POST multipart front and/or back to https://api.cryvis.com/v1/documents/indian-vehicle-rc with Bearer auth and write registration_number, chassis_number, and insurance dates into your fleet Sheet.