사업자 회원이 자기 프로그램으로 발주를 등록하고, 발주·송장·상품·예치금·클레임을 조회할 수 있는 REST API 입니다. 키 발급은 내 계정 → API 연동 키에서.
서버 주소: https://www.sweetiefood.com
인증: OAuth2 client_credentials · Bearer 토큰(30일)
응답: { success, message, data }
한도: 분당 300회 · 일 20,000회(초과 429) · 허용 IP 지정 가능
POST https://www.sweetiefood.com/api/v1/oauth/token
Content-Type: application/x-www-form-urlencoded
client_id=<Client ID>&client_secret=<Secret Key>
→ { "data": { "token_type":"Bearer", "access_token":"...", "expires_in":2592000 } }GET https://www.sweetiefood.com/api/v1/seller/products
Authorization: Bearer <access_token>
→ data.products[] = { product_code, name, price } // price = 도매가POST https://www.sweetiefood.com/api/v1/seller/product_matches
Authorization: Bearer <access_token>
Content-Type: application/json
{ "matches": [
{ "match_string": "내 상품명", "products": [ { "product_code": "<code>", "qty": 1 } ] }
] }
// 이후 발주 때 product_string 으로 "내 상품명" 을 쓰면 자동 변환(1:N 가능)POST https://www.sweetiefood.com/api/v1/seller/orders
Authorization: Bearer <access_token>
Content-Type: application/json
{ "orders": [ {
"customer_order_code": "MYORDER-1001", // 주문마다 고유(중복방지)
"receiver_name": "홍길동",
"receiver_hp": "01012345678",
"receiver_addr1": "서울시 ...", // 기본주소
"receiver_addr2": "○○아파트 101동 1001호", // 상세주소(동/호수) — 아파트는 꼭!
"receiver_zipcode": "01234",
"delivery_msg": "부재시 문앞",
"items": [ { "product_code": "<code>", "qty": 2 } ]
// 또는 { "product_string": "내 상품명", "qty": 2 }
} ] }
→ data.results[] = { customer_order_code, ok, order_key, total_amount }GET https://www.sweetiefood.com/api/v1/seller/orders?limit=100
Authorization: Bearer <access_token>
→ data.orders[] = { order_key, customer_order_code, status,
tracking_numbers[], courier, items[] }
다음 페이지: ?cursor=<next_cursor>GET https://www.sweetiefood.com/api/v1/seller/orders/changed?updated_since=2026-08-30T00:00:00 Authorization: Bearer <access_token> → 그 시각 이후 생성·발송된 주문만. next_cursor 로 이어받기(폴링에 적합)
GET https://www.sweetiefood.com/api/v1/seller/balance (scope: balance.read)
→ data.deposit_balance
GET https://www.sweetiefood.com/api/v1/seller/claims?claim_type=cancel (scope: order.read)
claim_type = cancel | return | exchange, updated_since=<datetime>
→ data.orders[] = { claim_no, claim_type, claim_status, order_code, refund_total_amount }