{"success":true,"baseUrl":"https://api.midam.top","authentication":{"type":"Bearer","header":"Authorization","example":"Authorization: Bearer sk_live_xxxxxxxx"},"apis":[{"name":"getProductInfo","title":"상품 상세 조회","description":"상품의 상세 정보(상품명, SKU, 가격, 재고, 이미지 등)를 조회합니다. 숫자 offerId, 상품 URL, openOfferId(키워드 검색 등에서 받은 암호화 ID)로 조회할 수 있습니다. 호출 시 일일 사용량에서 1회 차감됩니다.","method":"POST","path":"/v1/apis/getProductInfo","auth":"Bearer API 토큰","contentType":"application/json","parameters":[{"name":"offerId","type":"string","required":false,"description":"숫자 상품 ID 또는 상품 상세 URL입니다. URL을 넣으면 경로 /offer/{id}.html 에서 id만 추출해 조회합니다. openOfferId와 함께 넣을 경우 openOfferId가 우선합니다.","example":"900331543129"},{"name":"openOfferId","type":"string","required":false,"description":"1688 암호화 상품 ID입니다. keywordSearch 결과의 openOfferId를 그대로 넣을 수 있습니다. offerId와 둘 중 하나는 필수입니다.","example":"Wcv2w970KoL1BCpJGQp3vwKvcBThOPlpHnUtkK3T0n4="},{"name":"channel","type":"string","required":false,"default":"other","description":"유통 채널 식별자입니다. 별도 값이 없으면 other 를 사용합니다.","example":"other"}],"requestExample":{"offerId":"900331543129","channel":"other"},"requestExamples":[{"title":"상품 ID (숫자)","body":{"offerId":"900331543129","channel":"other"}},{"title":"상품 URL","body":{"offerId":"https://shop.example.com/offer/900331543129.html","channel":"other"}},{"title":"openOfferId (암호화 ID)","body":{"openOfferId":"Wcv2w970KoL1BCpJGQp3vwKvcBThOPlpHnUtkK3T0n4=","channel":"other"}}],"successExample":{"success":true,"api":"getProductInfo","data":{"raw":{"success":true,"productInfo":{}}},"usage":{"dailyLimit":500,"usedToday":1,"remainingToday":499}},"errors":[{"httpStatus":400,"code":"INVALID_PARAMETER","message":"offerId(숫자 ID·상품 URL) 또는 openOfferId(암호화 ID) 중 하나는 필수입니다.","note":"offerId·openOfferId 모두 누락"},{"httpStatus":401,"code":"INVALID_API_TOKEN","message":"유효한 Bearer 토큰이 필요합니다."},{"httpStatus":401,"code":"TOKEN_DISABLED","message":"비활성화된 API 토큰입니다."},{"httpStatus":401,"code":"TOKEN_EXPIRED","message":"만료된 API 토큰입니다."},{"httpStatus":429,"code":"DAILY_LIMIT_EXCEEDED","message":"일일 API 호출 한도를 초과했습니다.","note":"응답에 dailyLimit, usedToday, remainingToday 포함"},{"httpStatus":502,"code":"UPSTREAM_ERROR","message":"관리자에게 문의하세요.","note":"detail.message 동일"}]},{"name":"keywordSearch","title":"키워드 검색 (중문)","description":"중문 키워드로 1688 상품을 검색합니다. 한중 번역 없이 입력한 keywords를 그대로 1688 product.keyword.search API에 전달합니다. 호출 시 일일 사용량에서 1회 차감됩니다.","method":"POST","path":"/v1/apis/keywordSearch","auth":"Bearer API 토큰","contentType":"application/json","parameters":[{"name":"keywords","type":"string","required":true,"description":"중문 검색 키워드입니다. 한글·번역 변환 없이 그대로 전달됩니다.","example":"女装"},{"name":"pageNum","type":"number","required":false,"default":"1","description":"페이지 번호입니다.","example":1},{"name":"pageSize","type":"number","required":false,"default":"24","description":"페이지당 결과 수입니다. 최대 60입니다.","example":24}],"requestExample":{"keywords":"女装","pageNum":1,"pageSize":24},"requestExamples":[{"title":"기본 검색","body":{"keywords":"女装","pageNum":1,"pageSize":24}},{"title":"다음 페이지","body":{"keywords":"女装","pageNum":2,"pageSize":20}}],"successExample":{"success":true,"api":"keywordSearch","data":{"raw":{"success":true,"result":[]}},"usage":{"dailyLimit":500,"usedToday":1,"remainingToday":499}},"errors":[{"httpStatus":400,"code":"INVALID_PARAMETER","message":"keywords(중문 검색어)는 필수입니다.","note":"keywords 누락·공백"},{"httpStatus":401,"code":"INVALID_API_TOKEN","message":"유효한 Bearer 토큰이 필요합니다."},{"httpStatus":401,"code":"TOKEN_DISABLED","message":"비활성화된 API 토큰입니다."},{"httpStatus":401,"code":"TOKEN_EXPIRED","message":"만료된 API 토큰입니다."},{"httpStatus":429,"code":"DAILY_LIMIT_EXCEEDED","message":"일일 API 호출 한도를 초과했습니다.","note":"응답에 dailyLimit, usedToday, remainingToday 포함"},{"httpStatus":502,"code":"UPSTREAM_ERROR","message":"관리자에게 문의하세요.","note":"detail.message 동일"}]}],"auxiliary":[{"method":"GET","path":"/v1/me","auth":"Bearer","description":"토큰에 연결된 회원 정보"},{"method":"GET","path":"/v1/me/tokens","auth":"Bearer","description":"내 API 토큰 목록(마스킹)"},{"method":"GET","path":"/v1/me/usage","auth":"Bearer","description":"오늘 사용량·남은 호출 수"}]}