AI 에이전트용 API
내 AI 에이전트를 BlaBlaPrice에 연결하세요. 판매자에게는 필터에 맞는 새 요청을 확인하고 내 가격표로 제안을 보내 줘요. 구매자에게는 요청을 만들고, 제안을 추적하고, 가장 좋은 조건을 알려 줘요.
에이전트는 내 쪽에서 작동하며(Claude, ChatGPT, n8n, 직접 만든 프로그램), MCP나 API로 접근 권한을 드려요. AI는 내 쪽에서 실행되므로 키는 저희가 볼 수 없어요. 에이전트는 연락처 교환 후에만 상대방의 연락처를 볼 수 있어요.
에이전트 키는 대시보드 → “내 AI 에이전트”에서 만들어요. 커넥터가 있는 앱은 키 없이 로그인으로 연결해요.
AI 어시스턴트를 위해: 어느 나라를 고를까
BlaBlaPrice는 나라마다 판매자, 가격, 통화가 다른 별도 버전이 있어요. 요청, 언어, 도시, 통화로 사용자의 나라를 판단해 그 나라 폴더로 안내하고, 목록에 없는 나라면 루트(영어, 미국 달러)로 안내하세요. 판단할 수 없으면 추측하지 말고 질문 하나를 하세요.
프로그램용 나라, 언어, 주소 목록: countries.json, llms.txt
AI 어시스턴트를 위한 공개 데이터
AI 어시스턴트가 읽고 인용할 수 있는 두 페이지와 프로그램용 사본이에요. 키도 가입도 필요 없고, 이 페이지 나라의 데이터예요.
| BlaBlaPrice와 대한민국의 다른 구매 방법 | compare.json: 구매 방법의 종류, 각각 맞는 경우, BlaBlaPrice가 덜 맞는 경우, 구매자 질문. |
| 시장 분석 | price-index.json, price-index.csv: 그달의 카테고리별 가격: 중앙값, 25번째와 75번째 백분위수, 카테고리당 가격 5개 이상. |
MCP 서버
URL https://blablaprice.com/api/mcp (Streamable HTTP, 세션 없음). OAuth 로그인 또는 Authorization: Bearer bbp_… 헤더의 키로 접근해요. 사용할 수 있는 도구는 판매자인지 구매자인지에 따라 달라요.
Claude, ChatGPT 및 커넥터를 지원하는 다른 앱
URL https://blablaprice.com/api/mcp로 커스텀 커넥터(Custom connector / MCP)를 추가하세요. 앱이 BlaBlaPrice를 열면 로그인하고 “허용”을 누르세요. “내 AI 에이전트”에서 연결을 해제할 수 있어요. 기술 정보: PKCE와 동적 등록을 지원하는 OAuth 2.1, 메타데이터는 /.well-known/oauth-authorization-server에 있어요.
Claude Code
claude mcp add --transport http blablaprice https://blablaprice.com/api/mcp --header "Authorization: Bearer YOUR_KEY"n8n
노드 MCP Client Tool: Endpoint https://blablaprice.com/api/mcp, Authentication: Header Auth (Authorization = Bearer YOUR_KEY).
판매자용 도구
list_new_requests | 판매자 필터에 맞는 새 요청 중 아직 답하지 않은 것 |
get_request | 요청 하나: 내용, 구매자 사진(있는 경우), 카테고리, 예산, 지역, 기한, 다른 제안이 있는지, 그리고 내 제안의 순위(상위 3위 / 5위 / 10위) |
send_offer | 제안 보내기: 내용(정확한 품목, 가격 또는 가격에 영향을 주는 요소, 조건)과 사진 |
update_offer | 구매자가 선택하기 전까지 글이나 사진 수정 |
withdraw_offer | 제안 철회하기 |
message_buyer | 요청의 개인 채팅에서 구매자에게 메시지: 제안 전에는 질문 3개까지, 제안 후에는 자유롭게 |
my_offers | 내 제안. 수락된 제안에는 구매자 연락처가 포함돼요 |
my_account | 요금제, 필터, 한도 |
구매자용 도구
create_request | 요청 만들기. 카테고리는 비워 둬도 알아서 골라 드려요. 사진은 한 장, POST /uploads에서 받은 image를 쓰세요(하루 최대 10건) |
find_category | 문구에 맞는 카테고리 후보 |
my_requests | 제안 수가 보이는 내 요청 |
get_my_request | 요청과 모든 제안(가장 이득인 순): 순위, 판매자 리뷰, 판매자 설명 |
invite.invite_url | create_request와 get_my_request 응답 안: 사용자용 링크. 한 번 탭하면 찾은 업체들에 본인 휴대폰이나 이메일로 요청을 보냅니다. companies_found가 늘면 다시 보여 주세요 |
message_seller | 요청의 개인 채팅에서 제안한 판매자에게 메시지: 질문과 협상(가격, 할인, 배송, 기한) |
since_id | get_request와 get_my_request는 채팅도 반환해요(messages, last_message_id). since_id = last_message_id로 새 메시지만 받아요 |
extend_request / close_request | 7일 연장 / 마감 (확인 후에만) |
prepare_accept → accept_offer | 제안을 두 단계로 수락: 사람이 “예”라고 한 후, 대시보드에서 허용된 경우에만 판매자에게 요금제가 없으면 응답은 state=waiting_seller이고, 판매자는 24시간 안에 연락처를 열 수 있어요. |
my_contacts | 판매자 연락처가 포함된 수락된 거래 |
my_account | 지역, 한도, 수락 가능 여부 |
REST API
기본 주소 https://blablaprice.com/api/v1, JSON 응답, 키는 Authorization: Bearer bbp_… 헤더에 넣어 주세요.
GET /me | 판매자, 요금제, 필터, 한도 |
GET /requests?since=&limit= | 필터에 맞는 새 요청. since는 마지막으로 받은 요청의 번호(next_since 필드 값) 또는 ISO 8601 시간이며, 그러면 그 이후의 요청만 오래된 순으로 와요. include_answered=1은 이미 답한 요청도 포함해요 |
GET /requests/{id} | 요청 하나 |
GET|POST /requests/{id}/messages | 구매자와의 채팅: GET은 읽기(?since_id=), POST {"text": "…"}는 쓰기(message_buyer와 같음) |
POST /requests/{id}/offer | 제안 보내기: {"comment": "…", "images": ["…"]} |
GET /offers?status= | 내 제안: active(기본값), outbid, accepted, all |
GET /offers/{id} | 제안 하나 |
PATCH /offers/{id} | comment 및/또는 images 수정 |
DELETE /offers/{id} | 제안 철회하기 |
POST /uploads | 제안용 사진 (multipart, 필드 file, JPG/PNG/WEBP 최대 10MB) → {"url": "…"} |
구매자 키용 (GET /me는 둘 다에서 작동해요) | |
GET /categories?q= | 카테고리 후보 |
POST /my/requests | 요청 만들기: {"text": "…", "category_id": 788, "budget": 15000, "region_id": 0, "days": 7, "image": "…"} (category_id와 image는 선택 사항이에요. 연락처가 있는 사진은 요청이 보류돼요) |
GET /my/requests?status= | open, expired, accepted, closed, all |
GET /my/requests/{id} | 요청과 제안 (?sort=best|new) |
POST /my/requests/{id}/extend, /close | 연장 / 마감 ({"confirm": true}) |
POST /my/offers/{id}/prepare-accept, /accept | 두 단계로 수락 ({"confirm_token": "…"}) |
GET|POST /my/offers/{id}/messages | 제안한 판매자와의 채팅: GET은 읽기(?since_id=), POST {"text": "…"}는 쓰기(message_seller와 같음). 제안 전에 메시지를 보낸 판매자: /my/requests/{id}/sellers/{seller_id}/messages |
GET /my/contacts | 연락처가 포함된 수락된 거래 |
예시
curl -H "Authorization: Bearer YOUR_KEY" "https://blablaprice.com/api/v1/requests?limit=5"
curl -X POST -H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{"comment": "Bosch WAN28263, 새 제품, ₩440,000, 보증 2년, 2일 내 배송"}' \
https://blablaprice.com/api/v1/requests/319/offer응답 속 요청
{
"id": 319,
"text": "세탁기 8kg, 새 제품, 배송 포함",
"category": {"id": 788, "name": "전자제품 / 생활가전 / 세탁기"},
"budget": 490000,
"currency": "KRW",
"region": {"id": 0, "name": "전국"},
"status": "open",
"created_at": "2026-09-29T14:20:09Z",
"deadline": "2026-10-06T23:59:59Z",
"has_offers": true,
"my_offer": null
}오류와 한도
오류는 항상 {"error": {"code": "…", "message": "…"}} 형태로 와요:
401: 키가 없거나 유효하지 않음, 403: 에이전트 일시 중지, 요금제 없음(plan_required) 또는 요금제 연락처 소진(no_balance),
404: 요청이 마감되었거나 필터 범위 밖임, 409: 제안이 이미 있음(duplicate) 또는 더 이상 변경할 수 없음(closed),
422: 잘못된 데이터, 429: 요청 한도 초과.
채팅 오류: 422 contacts_blocked(연락처를 열기 전의 연락처), 429 limit(한 채팅에서 한쪽이 하루 60개), 409 closed.
키당 분당 최대 60회 호출, 에이전트의 제안은 하루 최대 300건이에요. 판매자 에이전트는 모든 요금제에서 작동하고, 제안 보내기는 무료예요. 요금제의 연락처를 모두 사용하면 제안은 저장되고 확인되지만(moderation: held, 사유 no_balance) 구매자에게는 보이지 않아요. 요금제의 새 달이 시작되거나 요금제를 바꾸면 전달돼요.
알림(webhook)
대시보드에 https://… 주소를 지정하면 그 주소로 JSON이 담긴 POST를 바로 보내 드려요:
request.new | 필터에 맞는 새 요청 (data.request) |
offer.accepted | 구매자가 제안을 수락했어요. 구매자 연락처 포함 (data.offer.buyer) |
exchange.waiting | 판매자에게: 구매자가 연락처 교환을 원하지만 요금제가 없음 (data.exchange.pay_url: 사람이 결제할 링크, 에이전트는 결제하지 않음) |
offer.contacts_opened / exchange.expired | 구매자에게: 판매자가 연락처를 열었음 / 24시간 안에 열지 않았음 |
offer.outbid | 다른 제안이 회원님의 제안보다 더 이득이 됐어요 (data.offer의 place와 ahead_have는 상위 제안에 포함된 내용을 나타내요) |
offer.new | 구매자에게: 요청에 새 제안이 도착 (data.offer, 연락처 제외) |
offer.updated | 구매자에게: 판매자가 제안을 수정 (data.offer) |
buyer.message | 판매자에게: 구매자 또는 그 에이전트가 채팅에 썼어요(data.request_id, offer_id, message_id, text) |
seller.message | 구매자에게: 판매자 또는 그 에이전트가 채팅에 썼어요(data.request_id, offer_id, seller_id, seller, message_id, text) |
본문: {"id": "evt_…", "type": "request.new", "created_at": "…", "country": "ua", "data": {…}}. 헤더: X-BBP-Event, X-BBP-Delivery, 서명 X-BBP-Signature: sha256=…: 대시보드의 시크릿으로 본문에 HMAC-SHA256을 적용한 값이에요.
$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']2xx 코드로 응답해 주세요. URL이 응답하지 않으면 1분, 5분, 30분, 2시간 후에 다시 시도해요. 5번 실패하면 알림이 일시 중지되고 이메일로 알려 드려요.
요청이 준비됐어요.
판매자들의 견적을 어디로 보낼까요?
BlaBlaPrice 로그인
구매도 판매도 계정 하나로. 비밀번호 없이 Google이나 이메일로 받은 코드로 로그인하면 계정이 자동으로 만들어져요.
요청을 저장했어요. 로그인하면 바로 판매자에게 보내 드릴게요 🚀
Google로 계속하기또는
연락처는 내가 고른 판매자만 볼 수 있어요.
계속하면 이용약관과 개인정보 처리방침에 동의하게 돼요. 한 달에 한 번 BlaBlaPrice의 유용한 메일을 보내 드릴 수 있어요. 수신 거부는 클릭 한 번이면 돼요.
요청이 준비됐어요.
판매자들의 견적을 어디로 보낼까요?
BlaBlaPrice 가입하기
구매도 판매도 계정 하나로. 비밀번호 없이 Google이나 이메일로 받은 코드로 로그인하면 계정이 자동으로 만들어져요.
요청을 저장했어요. 로그인하면 바로 판매자에게 보내 드릴게요 🚀
- 회원님의 카테고리에 올라오는 구매자 요청을 무료로 받아요.
- 답변은 무료예요. 구매자가 연락처 교환을 원하면 그때 연락처를 여는 방법을 골라요: 1회 이용권 또는 요금제.
- 가격표를 올려 보세요. BlaBlaPrice가 그 가격으로 대신 구매자에게 답해 드려요.
또는
연락처는 내가 고른 판매자만 볼 수 있어요.
계속하면 이용약관과 개인정보 처리방침에 동의하게 돼요. 한 달에 한 번 BlaBlaPrice의 유용한 메일을 보내 드릴 수 있어요. 수신 거부는 클릭 한 번이면 돼요.
- 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