Cakupan halaman
Semua endpoint di halaman ini bersifat publik. Tidak ada API key atau session yang dibutuhkan untuk membaca kategori aktif, daftar provider, maupun detail satu provider yang sudah tayang.
- Semua response memakai bentuk JSON.
- Listing dan detail provider hanya mengambil provider yang `approved` dan sudah punya `publishedAt`.
- Field ringkas provider mengikuti bentuk hasil `toBusinessSummary` di backend.
GET /api/v1/categories
Endpoint ini dipakai untuk membaca kategori aktif beserta child category yang boleh dipakai oleh direktori, filter, dan halaman discovery programatik.
- Autentikasi: tidak perlu.
- Parameter wajib: tidak ada.
- Respons memisahkan kategori induk dan `children` di dalam objek yang sama.
{
"data": [
{
"id": "cat-parent",
"slug": "digital-infrastructure",
"name": "Digital Infrastructure",
"children": [
{
"id": "cat-child",
"slug": "nextjs-development",
"name": "Next.js Development"
}
]
}
],
"meta": {
"total": 12,
"rootCount": 4
}
}GET /api/v1/providers
Endpoint ini dipakai untuk membaca daftar provider publik dengan pagination, sorting, dan filter dasar.
- Autentikasi: tidak perlu.
- Query opsional:
page,limit,sort,city,country,minTrustLevel. limitmaksimal 50. Nilai default saat ini 20.sortsaat ini mendukungratingatautrust.
GET /api/v1/providers?page=1&limit=20&sort=trust&city=Jakarta&minTrustLevel=2{
"data": [
{
"id": "provider-1",
"slug": "acme-studio",
"companyName": "Acme Studio",
"city": "Jakarta",
"country": "ID",
"trustLevel": 3,
"confidenceScore": "0.800",
"overallRating": "4.80",
"totalReviews": 12
}
],
"meta": {
"page": 1,
"limit": 20,
"total": 120,
"totalPages": 6,
"sort": "trust"
}
}GET /api/v1/providers/{slug}
Endpoint ini dipakai untuk membaca ringkasan satu provider yang sudah tayang.
- Autentikasi: tidak perlu.
- Path wajib:
slug. - Jika slug tidak ditemukan atau provider belum tayang, endpoint mengembalikan error
BUSINESS_NOT_FOUNDdengan status 404. - Field yang dikembalikan tetap ringkas dan tidak sama dengan data di dashboard internal.
GET /api/v1/providers/acme-studio{
"data": {
"id": "provider-1",
"slug": "acme-studio",
"companyName": "Acme Studio",
"tagline": "Build web apps",
"trustLevel": 3,
"confidenceScore": "0.800",
"overallRating": "4.80",
"totalReviews": 12,
"capabilityTags": ["website", "seo"]
}
}