Pahami endpoint pencarian provider.

Endpoint ini dipakai untuk pencarian provider publik dengan pencarian gabungan dan filter yang paling lengkap.

Auth dan validasi

  • Autentikasi: tidak perlu.
  • Query wajib: q.
  • Jika q kosong, endpoint mengembalikan QUERY_REQUIRED.
  • Jika q kurang dari 2 karakter, endpoint mengembalikan QUERY_TOO_SHORT.

Query parameter

  • page, limit
  • city, location
  • categorySlug, capabilityTag
  • minTrustLevel, minRating
  • industry, projectBudget, businessSize
  • hourlyRateMin, hourlyRateMax, sort
  • limit default 20 dan dibatasi maksimal 50.
  • sort dinormalisasi oleh backend. Nilai yang didukung mengikuti mode direktori seperti relevance, highest_rated, most_reviewed, dan trust.

Field respons yang penting

  • data[] berisi ringkasan provider publik ditambah objek search.
  • search.source menunjukkan strategi retrieval yang dipakai. Saat ini nilainya hybrid.
  • search.rrfScore, keywordRank, dan vectorRank membantu menjelaskan ranking hasil.
  • meta memuat query aktif, pagination, total hasil, dan sumber retrieval.

Respons sukses

{
  "data": [
    {
      "id": "provider-1",
      "slug": "acme-studio",
      "companyName": "Acme Studio",
      "search": {
        "source": "hybrid",
        "rrfScore": 0.03125,
        "keywordRank": 1,
        "vectorRank": 2
      }
    }
  ],
  "meta": {
    "q": "web development",
    "page": 1,
    "limit": 20,
    "total": 1,
    "totalPages": 1,
    "source": "hybrid",
    "rrf": {
      "k": 60,
      "keywordCandidates": 20,
      "vectorCandidates": 20,
      "mergedCandidates": 24
    },
    "tookMs": 12
  }
}

Respons error

Dua error validasi yang paling penting untuk endpoint ini adalah:

{
  "error": {
    "code": "QUERY_REQUIRED",
    "message": "Query q wajib diisi.",
    "details": null
  }
}
{
  "error": {
    "code": "QUERY_TOO_SHORT",
    "message": "Query minimal 2 karakter.",
    "details": null
  }
}