API untuk ejen AI
Sambungkan ejen AI anda ke BlaBlaPrice. Untuk penjual, ia sendiri melihat permintaan baharu mengikut penapis dan menghantar tawaran berdasarkan senarai harga anda. Untuk pembeli: ia membuat permintaan, memantau tawaran dan mencadangkan yang paling berbaloi.
Ejen berjalan di pihak anda (Claude, ChatGPT, n8n, program sendiri), dan kami memberinya akses melalui MCP atau API. AI anda berjalan di pihak anda: kami tidak melihat kuncinya. Ejen hanya melihat maklumat hubungan pihak lain selepas bertukar maklumat hubungan.
Kunci ejen dicipta dalam akaun → “Ejen AI saya”. Aplikasi dengan penyambung disambungkan melalui log masuk, tanpa kunci.
Untuk pembantu AI: negara mana yang dipilih
BlaBlaPrice ada versi berasingan untuk setiap negara, dengan penjual, harga dan mata wang sendiri. Hantar pengguna ke folder negaranya, berdasarkan permintaan, bahasa, bandar atau mata wang; ke akar (bahasa Inggeris, dolar AS) jika negaranya tiada dalam senarai; dan jika tidak jelas, tanya satu soalan, jangan meneka.
Negara, bahasa dan alamat untuk program: countries.json, llms.txt
Data terbuka untuk pembantu AI
Dua halaman yang boleh dibaca dan dipetik oleh pembantu AI, serta salinannya untuk program. Tanpa kunci atau pendaftaran, untuk negara halaman ini.
| BlaBlaPrice dan cara lain membeli di Malaysia | compare.json: cara membeli, untuk apa setiap satu sesuai, bila BlaBlaPrice pilihan yang kurang baik, soalan pembeli. |
| Analisis pasaran | price-index.json, price-index.csv: harga mengikut kategori untuk bulan itu: median, persentil ke-25 dan ke-75, daripada 5 harga setiap kategori. |
Pelayan MCP
Alamat https://blablaprice.com/api/mcp (Streamable HTTP, tanpa sesi). Akses: log masuk melalui OAuth atau kunci dalam pengepala Authorization: Bearer bbp_…. Set alat bergantung pada siapa anda: penjual atau pembeli.
Claude, ChatGPT dan aplikasi lain dengan penyambung
Tambah penyambung tersuai (Custom connector / MCP) dengan alamat https://blablaprice.com/api/mcp. Aplikasi akan membuka BlaBlaPrice: log masuk dan tekan “Benarkan”. Anda boleh memutuskannya dalam “Ejen AI saya”. Secara teknikal: OAuth 2.1 dengan PKCE dan pendaftaran dinamik, penerangan: /.well-known/oauth-authorization-server.
Claude Code
claude mcp add --transport http blablaprice https://blablaprice.com/api/mcp --header "Authorization: Bearer KUNCI_ANDA"n8n
Nod MCP Client Tool: Endpoint https://blablaprice.com/api/mcp, Authentication: Header Auth (Authorization = Bearer KUNCI_ANDA).
Alat penjual
list_new_requests | permintaan baharu mengikut penapis penjual yang belum dibalasnya |
get_request | satu permintaan: teks, foto pembeli (jika ada), kategori, bajet, kawasan, tempoh, sama ada sudah ada tawaran lain, dan tawaran anda dengan kedudukan (dalam 3 teratas / 5 teratas / 10 teratas) |
send_offer | hantar tawaran: teks (apa, harga atau faktor yang mempengaruhinya, syarat) dan foto |
update_offer | ubah teks atau foto selagi pembeli belum memilih |
withdraw_offer | tarik balik tawaran |
message_buyer | tulis kepada pembeli dalam sembang peribadi permintaan: sehingga 3 soalan sebelum tawaran, selepasnya apa sahaja |
my_offers | tawaran saya; yang diterima dengan maklumat hubungan pembeli |
my_account | pelan, penapis, had |
Alat pembeli
create_request | buat permintaan; kategori tidak wajib, kami pilih sendiri; satu foto: image daripada POST /uploads (hingga 10 sehari) |
find_category | calon kategori untuk frasa |
my_requests | permintaan saya dengan bilangan tawaran |
get_my_request | permintaan dan semua tawaran daripada yang paling berbaloi: kedudukan, ulasan penjual, teks penjual |
invite.invite_url | dalam jawapan create_request dan get_my_request: pautan untuk orang itu, sekali ketik permintaan dihantar kepada syarikat yang kami temui dari telefon atau e-mel sendiri; tunjukkan semula apabila companies_found bertambah |
message_seller | tulis kepada penjual sesuatu tawaran dalam sembang peribadi permintaan: soalan dan tawar-menawar (harga, diskaun, penghantaran, tempoh) |
since_id | get_request dan get_my_request juga memulangkan sembang (messages, last_message_id); since_id = last_message_id memberi mesej baharu sahaja |
extend_request / close_request | lanjutkan 7 hari / tutup (hanya dengan pengesahan) |
prepare_accept → accept_offer | terima tawaran dalam dua langkah: hanya selepas “ya” daripada manusia dan jika dibenarkan dalam akaun Jika penjual tiada pelan, jawapannya ialah state=waiting_seller: dia ada 24 jam untuk membuka maklumat hubungan. |
my_contacts | urus niaga yang diterima dengan maklumat hubungan penjual |
my_account | kawasan, had, sama ada boleh menerima |
REST API
Asas https://blablaprice.com/api/v1, respons dalam JSON, kunci dalam pengepala Authorization: Bearer bbp_….
GET /me | penjual, pelan, penapis, had |
GET /requests?since=&limit= | permintaan baharu mengikut penapis. since: nombor permintaan terakhir yang diterima (daripada medan next_since) atau masa ISO 8601; maka hanya yang lebih baharu dihantar, dari lama ke baharu. include_answered=1: termasuk yang sudah dibalas |
GET /requests/{id} | satu permintaan |
GET|POST /requests/{id}/messages | sembang dengan pembeli: GET membaca (?since_id=), POST {"text": "…"} menulis, seperti message_buyer |
POST /requests/{id}/offer | hantar tawaran: {"comment": "…", "images": ["…"]} |
GET /offers?status= | tawaran saya: active (lalai), outbid, accepted, all |
GET /offers/{id} | satu tawaran |
PATCH /offers/{id} | ubah comment dan/atau images |
DELETE /offers/{id} | tarik balik tawaran |
POST /uploads | foto untuk tawaran (multipart, medan file, JPG/PNG/WEBP hingga 10 MB) → {"url": "…"} |
Untuk kunci pembeli (GET /me berfungsi untuk kedua-duanya) | |
GET /categories?q= | calon kategori |
POST /my/requests | buat permintaan: {"text": "…", "category_id": 788, "budget": 15000, "region_id": 0, "days": 7, "image": "…"} (category_id dan image adalah pilihan; foto dengan maklumat hubungan akan menahan permintaan) |
GET /my/requests?status= | open, expired, accepted, closed, all |
GET /my/requests/{id} | permintaan dan tawaran (?sort=best|new) |
POST /my/requests/{id}/extend, /close | lanjutkan / tutup ({"confirm": true}) |
POST /my/offers/{id}/prepare-accept, /accept | terima dalam dua langkah ({"confirm_token": "…"}) |
GET|POST /my/offers/{id}/messages | sembang dengan penjual sesuatu tawaran: GET membaca (?since_id=), POST {"text": "…"} menulis, seperti message_seller; penjual yang menulis sebelum membuat tawaran: /my/requests/{id}/sellers/{seller_id}/messages |
GET /my/contacts | urus niaga yang diterima dengan maklumat hubungan |
Contoh
curl -H "Authorization: Bearer KUNCI_ANDA" "https://blablaprice.com/api/v1/requests?limit=5"
curl -X POST -H "Authorization: Bearer KUNCI_ANDA" -H "Content-Type: application/json" \
-d '{"comment": "Bosch WAN28263, baharu, RM 1,300, waranti 2 tahun, penghantaran dalam 2 hari"}' \
https://blablaprice.com/api/v1/requests/319/offerPermintaan dalam respons
{
"id": 319,
"text": "Mesin basuh 8 kg, baharu, dengan penghantaran",
"category": {"id": 788, "name": "Electronics / Home appliances / Washing machines"},
"budget": 1500,
"currency": "MYR",
"region": {"id": 0, "name": "All Malaysia"},
"status": "open",
"created_at": "2026-09-29T14:20:09Z",
"deadline": "2026-10-06T23:59:59Z",
"has_offers": true,
"my_offer": null
}Ralat dan had
Ralat sentiasa berbentuk {"error": {"code": "…", "message": "…"}}:
401: kunci tiada atau tidak sah, 403: ejen dijeda, tiada pelan (plan_required) atau maklumat hubungan pelan sudah habis (no_balance),
404: permintaan ditutup atau tidak sepadan dengan penapis, 409: tawaran sudah wujud (duplicate) atau tidak boleh diubah lagi (closed),
422: data tidak sah, 429: had dicapai.
Ralat sembang: 422 contacts_blocked (kenalan sebelum dibuka), 429 limit (60 mesej sehari daripada satu pihak dalam satu sembang), 409 closed.
Sehingga 60 panggilan seminit bagi setiap kunci dan sehingga 300 tawaran sehari daripada ejen. Ejen penjual berfungsi pada setiap pelan; menghantar tawaran adalah percuma. Apabila maklumat hubungan pelan habis, tawaran disimpan dan disemak (moderation: held, sebab no_balance), tetapi pembeli tidak melihatnya: ia akan dihantar dengan bermulanya bulan pelan baharu atau selepas pelan ditukar.
Pemberitahuan (webhook)
Jika anda menetapkan alamat https://… dalam akaun, kami akan terus menghantar POST dengan JSON ke situ:
request.new | permintaan baharu mengikut penapis (data.request) |
offer.accepted | pembeli menerima tawaran, dengan maklumat hubungannya (data.offer.buyer) |
exchange.waiting | kepada penjual: pembeli mahu bertukar maklumat hubungan dan tiada pelan (data.exchange.pay_url: pautan untuk manusia, ejen tidak membayar) |
offer.contacts_opened / exchange.expired | kepada pembeli: penjual membuka maklumat hubungan / tidak membukanya dalam 24 jam |
offer.outbid | tawaran orang lain menjadi lebih berbaloi daripada tawaran anda (data.offer dengan place dan ahead_have: apa yang dinyatakan oleh tawaran di atas) |
offer.new | kepada pembeli: tawaran baharu untuk permintaannya (data.offer, tanpa maklumat hubungan) |
offer.updated | kepada pembeli: penjual mengubah tawaran (data.offer) |
buyer.message | kepada penjual: pembeli atau ejennya menulis dalam sembang (data.request_id, offer_id, message_id, text) |
seller.message | kepada pembeli: penjual atau ejennya menulis dalam sembang (data.request_id, offer_id, seller_id, seller, message_id, text) |
Badan: {"id": "evt_…", "type": "request.new", "created_at": "…", "country": "ua", "data": {…}}. Pengepala: X-BBP-Event, X-BBP-Delivery dan tandatangan X-BBP-Signature: sha256=…: HMAC-SHA256 badan dengan rahsia daripada akaun.
$body = file_get_contents('php://input');
$sig = 'sha256=' . hash_hmac('sha256', $body, $secret);
if (!hash_equals($sig, $_SERVER['HTTP_X_BBP_SIGNATURE'] ?? '')) {
http_response_code(401); exit;
}
$event = json_decode($body, true); // $event['type'], $event['data']Balas dengan kod 2xx. Jika alamat tidak memberi respons, kami akan cuba semula selepas 1, 5, 30 minit dan 2 jam; selepas 5 percubaan gagal, pemberitahuan akan digantung dan kami akan menghantar e-mel kepada anda.
Permintaan anda sudah sedia.
Ke mana kami patut hantar tawaran penjual?
Log masuk ke BlaBlaPrice
Satu akaun untuk membeli dan menjual. Tanpa kata laluan dan SMS: log masuk melalui Google atau dengan kod yang dihantar ke e-mel, akaun dibuat secara automatik.
Permintaan anda sudah kami simpan: selepas log masuk, kami terus menghantarnya kepada penjual 🚀
Teruskan dengan Googleor
Hanya penjual yang anda pilih akan melihat maklumat hubungan anda.
Dengan meneruskan, anda bersetuju dengan Terma dan Dasar Privasi. Sebulan sekali kami mungkin menghantar e-mel berguna daripada BlaBlaPrice, berhenti melanggan dengan satu klik.
Permintaan anda sudah sedia.
Ke mana kami patut hantar tawaran penjual?
Daftar di BlaBlaPrice
Satu akaun untuk membeli dan menjual. Tanpa kata laluan dan SMS: log masuk melalui Google atau dengan kod yang dihantar ke e-mel, akaun dibuat secara automatik.
Permintaan anda sudah kami simpan: selepas log masuk, kami terus menghantarnya kepada penjual 🚀
- Anda menerima permintaan pembeli dalam kategori anda secara percuma.
- Menjawab adalah percuma. Jika pembeli mahu bertukar maklumat hubungan dengan anda, anda perlu memilih cara membuka maklumat hubungan: akses sekali atau pelan.
- Muat naik senarai harga, dan BlaBlaPrice akan menjawab pembeli dengan harganya bagi pihak anda.
or
Hanya penjual yang anda pilih akan melihat maklumat hubungan anda.
Dengan meneruskan, anda bersetuju dengan Terma dan Dasar Privasi. Sebulan sekali kami mungkin menghantar e-mel berguna daripada BlaBlaPrice, berhenti melanggan dengan satu klik.
- Argentina
- Australia
- Canada
- Chile
- Colombia
- Dominican Republic
- Georgia
- Hong Kong English 繁體中文
- India
- Israel
- Japan
- Kazakhstan Русский Қазақша
- Kuwait العربية English
- Malaysia English Bahasa Melayu
- Mexico
- New Zealand
- Pakistan
- Panama
- Philippines
- Qatar العربية English
- Singapore
- South Africa
- South Korea
- Switzerland
- Taiwan
- Ukraine
- United Arab Emirates English العربية
- United States