Download OpenAPI specification:
Describes the SteelHub partner integration as it maps to Tukang.com's existing order system.
Last updated: 2026-07-08
Returns up to 5 nearby vendors with profile, reviews, and site-visit cost, pre-filtered to vendors available at the requested slot.
required | object |
| material_type required | string |
| qty required | integer |
| contact_number required | string |
| preferred_slot required | string <date-time> |
| renovation_or_new_build required | string |
{- "location": {
- "lat": -6.2088,
- "lng": 106.8456
}, - "material_type": "Light Steel",
- "qty": 12,
- "contact_number": "+6281234567890",
- "preferred_slot": "2026-07-10T09:00:00+07:00",
- "renovation_or_new_build": "Bangun Baru"
}{- "message": "",
- "result": [
- {
- "vendor_id": "VND0001122",
- "name": "Budi Konstruksi",
- "rating": 4.8,
- "site_visit_cost": 150000,
- "distance": "3.2 km",
- "about_us": "10 tahun pengalaman renovasi rumah...",
- "certificates": "Sertifikat K3, ...",
- "jobs_completed": 142,
- "reviews": [
- {
- "customer_name": "Andi",
- "rating": 5,
- "feedback": "Kerja rapi dan tepat waktu",
- "created_date": "2026-06-20"
}
]
}
]
}Called once the customer's site-visit fee payment succeeds. Payment amount is fixed on Tukang.com's side and not accepted from this request.
| order_id required | string SteelHub's own order id. |
| vendor_id required | string Vendor selected by the customer from the match response. |
| name required | string |
| email required | string <email> |
| phone required | string |
| renovation_or_new_build required | string |
| material_type required | string |
| qty required | integer |
| city required | string City name (kota/kabupaten). |
| district required | string District name (kecamatan). |
| village required | string Village name (desa/kelurahan). |
| job_location required | string |
| job_location_lat required | number <float> |
| job_location_lng required | number <float> |
| job_location_detail | string or null |
| job_time required | string <date-time> |
| photo_url_1 | string or null |
| photo_url_2 | string or null |
| notes | string or null |
{- "order_id": "SH-000123456",
- "vendor_id": "VND0001122",
- "name": "Andi Wijaya",
- "email": "andi.wijaya@example.com",
- "phone": "81234567890",
- "renovation_or_new_build": "Bangun Baru",
- "material_type": "Light Steel",
- "qty": 12,
- "city": "Jakarta Selatan",
- "district": "Kebayoran Baru",
- "village": "Senayan",
- "job_location": "Jl. Merdeka No. 1",
- "job_location_lat": -6.2088,
- "job_location_lng": 106.8456,
- "job_location_detail": "Belakang gudang",
- "job_time": "2026-07-10T09:00:00+07:00",
- "photo_url_2": null,
- "notes": "Renovasi"
}{- "message": "Success create order",
- "result": {
- "site_visit_id": "7501130001",
- "status": "scheduled"
}
}Called once material for the order has been marked received. Notifies the assigned vendor to prepare for the job.
| order_id required | string SteelHub's own order id (same value sent to /site-visits). |
| received_at required | string <date-time> |
{- "order_id": "SH-000123456",
- "received_at": "2026-07-10T09:00:00+07:00"
}{- "message": "Success log material received",
- "result": {
- "site_visit_id": "7501130001"
}
}Optional status check, callable anytime for an order that exists in the system. rab is only present once a cost estimate exists for the order.
| id required | string |
{- "message": "",
- "result": {
- "site_visit_id": "7501130001",
- "status": "in_progress",
- "vendor": {
- "id": "VND0001122",
- "name": "Budi Konstruksi"
}, - "customer_name": "Andi Wijaya",
- "job_location": "Jl. Merdeka No. 1",
- "job_time": "2026-07-10T09:00:00+07:00",
- "work_list": "Jenis: Bangun Baru, Material: Light Steel, Qty: 12",
- "notes": "Renovasi",
- "photo_url_2": null,
- "rab": {
- "quote_amount": 5000000,
- "start_time": "2026-07-12",
- "duration": 14,
- "retention_day": 7
}, - "complete_work_title": null,
- "complete_notes": null,
- "complete_photo_url_1": null,
- "complete_photo_url_2": null,
- "created_at": "2026-07-06T14:00:00+07:00",
- "last_modify_at": "2026-07-08T09:00:00+07:00"
}
}Called when the customer rejects the estimate/quotation.
| id required | string |
| reject_notes | string or null Free-text reason for rejection (optional). |
{- "reject_notes": "Harga terlalu tinggi"
}{- "message": "Success reject estimate",
- "result": {
- "site_visit_id": "7501130001",
- "status": "closed"
}
}Called once the customer accepts the estimate/quotation and payment succeeds. Payment amount is fixed on Tukang.com's side and not accepted from this request.
| id required | string |
No fields required.
{ }{- "message": "Success accept estimate",
- "result": {
- "site_visit_id": "7501130001",
- "status": "in_progress"
}
}