봉이모바일 × 트레딧 API 연동 스펙

중고폰 매입 접수 · 상태 웹훅 · 시세 웹훅
작성일 2026.04.18 작성 봉이모바일 개발팀 대상 트레딧 개발팀 버전 v1.0
1. 연동 개요
구분방향방식설명
POST 접수 전달봉이 → 트레딧REST API고객 매입 접수 데이터 전달
WEBHOOK 상태 변경트레딧 → 봉이웹훅 (POST)상태 변경 시 즉시 푸시
WEBHOOK 시세 변경트레딧 → 봉이웹훅 (POST)시세 변경 시 즉시 푸시
봉이모바일 역할: 고객 접수 UI + 접수 데이터 전달 + 상태/시세 수신 + 마이페이지 표시
트레딧 역할: 카카오톡 발송 + 계약서 발송 + 수거 + 검수 + 입금 + 상태/시세 웹훅 발송
2. 접수 전달 API (봉이 → 트레딧)
POST 매입 접수 전달
URL[트레딧 API URL] ← 트레딧 제공 필요
MethodPOST
Content-Typeapplication/json
인증API Key (Header) ← 트레딧 제공 필요
Request Body
{ "customer": { "name": "이수현", // 고객명 (PASS 인증 실명) "phone": "01065890129", // 연락처 "address": "전남 광양시 동백길 35 14동202호", // 수거 주소 "birth": "1990-01-15", // 생년월일 (PASS) "gender": "M", // 성별 (PASS) M/F "carrier": "SKT" // 통신사 (PASS) }, "device": { "manufacturer": "삼성전자", // 제조사 "model": "Galaxy A15", // 모델명 "storage": "128G", // 용량 "imei": "353850473495282", // IMEI (선택) "self_grade": "A" // 셀프등급 (A~E) }, "bank": { "bank_name": "KB국민은행", // 은행명 "account_number": "123-456-789012", // 계좌번호 "holder_name": "이수현" // 예금주 }, "type": "후보상", // 구분 (후보상 등) "referrer": "상무점", // 추천인 (매장명 or "없음") "bongi_order_id": "BP-20260418-001" // 봉이 내부 주문번호 }
Request 필드 상세
필드타입필수설명
customer.namestring필수PASS 인증 실명
customer.phonestring필수연락처 (하이픈 없이)
customer.addressstring필수수거 주소
customer.birthstring선택생년월일 (YYYY-MM-DD)
customer.genderstring선택M / F
customer.carrierstring선택SKT / KT / LGU+ / 알뜰폰
device.manufacturerstring필수삼성전자 / Apple / LG
device.modelstring필수모델명
device.storagestring필수128G / 256G / 512G / 1T
device.imeistring선택IMEI 번호
device.self_gradestring필수A / B / C / D / E
bank.bank_namestring필수은행명
bank.account_numberstring필수계좌번호
bank.holder_namestring필수예금주
typestring필수구분 (후보상 등)
referrerstring선택추천인 매장명 (없으면 "없음")
bongi_order_idstring필수봉이 내부 주문번호
Response (성공)
{ "success": true, "tredit_order_id": "20260418-0003571923068800869461", // 트레딧 접수번호 "status": "동의대기" }
Response (실패)
{ "success": false, "error_code": "INVALID_MODEL", "message": "지원하지 않는 모델입니다" }
3. 상태 변경 웹훅 (트레딧 → 봉이)
WEBHOOK 상태 변경 시 봉이로 푸시
URLhttps://bongi-mobile-production.up.railway.app/api/webhook/buyback-status
MethodPOST
Content-Typeapplication/json
인증X-Webhook-Secret: [공유 시크릿 키]
Request Body (트레딧이 봉이로 전송)
{ "tredit_order_id": "20260418-0003571923068800869461", "bongi_order_id": "BP-20260418-001", "status_code": 11, "status_name": "보상완료", "device": { "model": "Galaxy A15", "storage": "128G" }, "grade": { "self_grade": "A", // 고객 셀프등급 "auto_grade": "A", // 자동기능검수등급 "inspect_grade": "B", // 입고후검수등급 "final_grade": "B", // 보상등급 (최종) "final_price": 85000 // 보상가격 (원) }, "logistics": { "pickup_date": "2026-04-19", // 픽업일자 "tracking_number": "1234567890", // 송장번호 "payment_date": "2026-04-20" // 입금일자 }, "timestamp": "2026-04-20T10:30:00+09:00" }
상태 코드 매핑
코드상태명설명봉이 마이페이지 표시
-동의대기고객 동의서 서명 대기접수완료 (동의서 확인 중)
6접수완료위탁업체에 접수됨, 수거 예정수거 대기
?매입대기입고 완료, 검수 진행 중검수 중
11보상완료검수 완료, 고객 계좌 송금매입 완료
41반송대기매입 불가, 반송 준비반송 처리 중
42반송완료기기 고객에게 반송 완료반송 완료
43매입취소고객 요청 or 기타 사유 취소취소
봉이 수신 후 처리
#처리설명
1DB 업데이트bongi_used_phone_buyback 상태/등급/가격 업데이트
2어드민 반영중고폰 매입현황 (11번 메뉴) 상태 자동 반영
3마이페이지 반영고객 마이페이지 진행바 자동 업데이트
4앱 푸시 발송상태 변경 시 고객에게 앱 푸시 알림 (봉이가 발송)
Response (봉이가 응답)
{ "success": true, "received": "2026-04-20T10:30:01+09:00" }
4. 시세 변경 웹훅 (트레딧 → 봉이)
WEBHOOK 시세 변경 시 봉이로 푸시
URLhttps://bongi-mobile-production.up.railway.app/api/webhook/buyback-price
MethodPOST
Content-Typeapplication/json
인증X-Webhook-Secret: [공유 시크릿 키]
Request Body (트레딧이 봉이로 전송)
{ "type": "price_update", "updated_at": "2026-04-18T09:00:00+09:00", "prices": [ { "manufacturer": "Apple", "model": "iPhone 16 Pro Max", "storage": "256G", "grade_a": 1110000, "grade_b": 980000, "grade_c": 920000, "grade_d": 560000, "grade_e": 10000 }, { "manufacturer": "삼성전자", "model": "Galaxy S26 Ultra", "storage": "256G", "grade_a": 950000, "grade_b": 850000, "grade_c": 780000, "grade_d": 450000, "grade_e": 10000 } // ... 변경된 모델만 전송 (전체 302개 아님) ] }
시세 필드 상세
필드타입설명
manufacturerstring제조사 (Apple / 삼성전자 / LG)
modelstring모델명
storagestring용량
grade_a ~ grade_enumber등급별 매입가 (원)
전체 전송 vs 변경분만: 변경된 모델만 전송하면 효율적. 전체 전송도 가능 (봉이에서 upsert 처리).
봉이 처리: 수신 → bongi_used_phone_prices 테이블 upsert → 고객에게 최신 시세 표시
Response (봉이가 응답)
{ "success": true, "updated_count": 2, "received": "2026-04-18T09:00:01+09:00" }
5. 접속 정보
항목URL / 값비고
봉이 웹훅 (상태)POST /api/webhook/buyback-status상태 변경 시 호출
봉이 웹훅 (시세)POST /api/webhook/buyback-price시세 변경 시 호출
봉이 프로덕션https://bongi-mobile-production.up.railway.app
트레딧 접수https://bonge.tredit.ai/model_chk.php온라인 접수 페이지
트레딧 어드민https://soprs.tredit.aiID: bonge / PW: bonge
6. 개발 업무 분담
#업무봉이모바일트레딧
1접수 UI바텀시트 + 신청서 폼 개발-
2접수 전달POST API 호출API 수신 + 처리
3시세 동기화웹훅 수신 → DB 업데이트시세 변경 시 웹훅 푸시
4상태 동기화웹훅 수신 → DB/어드민/마이페이지 반영상태 변경 시 웹훅 푸시
5마이페이지매입 이력 + 진행바 표시-
6어드민매입 현황 조회 + 관리-
7카카오톡 발송-접수 안내 / 계약서 발송
8수거-택배 방문수거 처리
9검수-실물 검수 + 등급 확정
10입금-고객 계좌 송금
봉이: 접수 + 표시 (프론트/어드민/마이페이지)
트레딧: 처리 + 알림 (수거/검수/입금/카톡)
7. 트레딧 확인 요청 사항
#항목설명
1접수 API URL봉이에서 접수 데이터 전달할 엔드포인트
2API Key / 인증 방식접수 API 호출 시 인증 헤더
3웹훅 시크릿 키봉이 웹훅 수신 시 검증용 시크릿
4접수 필드 확인위 Request Body 필드 중 추가/삭제/변경 사항
5상태 코드 확인동의대기/접수완료(6)/매입대기(?)/보상완료(11)/반송대기(41)/반송완료(42)/매입취소(43) — 매입대기 코드 확인 필요
6시세 웹훅 가능 여부시세 변경 시 웹훅 푸시 가능한지, 아니면 봉이가 주기적 조회?
7시세 API URL시세 웹훅 불가 시 봉이가 조회할 시세 API
8사진 등록고객이 기기 사진 업로드 필요한지? 사진등록URL은 트레딧에서 제공?
9매장 코드추천인(매장명) 전달 시 매장명 문자열 or 매장 코드(831=상무점 등)? 코드 목록 필요
10에러 코드 목록접수 실패 시 에러 코드 종류 (INVALID_MODEL 외)
11웹훅 재시도 정책봉이 서버 응답 실패 시 재시도 횟수/간격?
12테스트 환경스테이징/샌드박스 환경 제공 여부
우선 확인: 1번(접수 API URL) + 2번(인증) + 6번(시세 웹훅 가능 여부) + 9번(매장 코드)가 가장 중요합니다.
봉이모바일 × 트레딧 API 연동 스펙 v1.0 | 2026.04.18