일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스타트업
- 개발자
- Linux
- 스프링
- 구름LEVEL
- 명령어
- spring
- 구현
- IntelliJ
- 인텔리제이
- docker
- dfs
- 해결
- 스프링 부트
- spring boot
- 코딩테스트
- 해시맵
- 문자열
- 스프링부트
- 이직
- 주니어
- 프로그래머스
- HTTP
- 도커
- 배열
- HashMap
- Java
- 백엔드
- bfs
- 자료구조
- Today
- Total
마이의 개발 블로그
[API] Amazon Selling Partner API (SP-API) 파악하기 본문
배경
업무 관련으로 AMZ SP-API를 파악할 필요가 있어 공식문서를 읽으며 중간중간 필요한 내용들만 간단히 정리해놓고 있다. SP-API를 사용하기 위해서는 AWS 셋업, 앱 생성, 개발자 등록, Authorization, 토큰 발급 및 활용 등 거쳐야할 절차가 많고, 중간중간 신경써야할 정책들이 있어 공식문서를 여러 번 보고 있다.
정리한 내용
마켓플레이스
https://developer-docs.amazon.com/sp-api/docs/marketplace-ids
- 마켓플레이스 ID로 구분함
- AWS에 따라 호출주소(지역)가 바뀌므로 유의해야함
앱 타입
https://developer-docs.amazon.com/sp-api/docs/determine-app-type
- private seller apps : 우리 조직이나 고객만 사용이 가능한 셀러 앱, 셀프 인증으로 사용 가능
- private vendor apps : 우리 조직이나 고객만 사용 가능한 벤더 앱, 셀프 인증으로 사용 가능
- public apps : Selling Partner Appstore에 공개되어 사용가능한 앱들이며 seller나 vendor의 인증을 필요로 함
리프레쉬 토큰의 발급
1. private apps (seller, vendor 공통) - 셀프인증
1) Seller Central 로그인
2) Partner Network - Develop Apps 진입 후 앱 생성
3) 생성된 앱의 Action 컬럼 Edit App버튼 우측 화살표 클릭 - Authorize 클릭
4) 권한위임을 원하는 셀러 우측의 Authorize app 버튼 클릭
5) 생성된 리프레쉬 토큰 저장 후 액세스 토큰 발급시 활용
2. public apps for sellers - OAuth 인증 - 2가지 방법
1) 유저가 앱스토어상의 앱 세부정보 페이지 진입 후 authorize 버튼 클릭
2) 웹사이트 내에 생성된 버튼을 유저가 클릭 - 출력되는 로그인 화면에서 ID/PW 입력 후 로그인 (사이트에 권한위임)
3. public apps for vendors - 해당 사항 없으므로 일단 생략
셀프 인증
- private seller 앱 타입의 경우 셀프인증처리 후 리프레쉬 토큰 발급이 가능함
- 셀프인증처리 횟수는 앱당 최대 10회
- 인증을 제거하고싶을 경우 support team 문의해야함
(링크 하단 참고 : https://developer-docs.amazon.com/sp-api/docs/application-authorization-limits)
액세스 토큰의 발급
- 요청 주소 : https://api.amazon.com/auth/o2/token (POST)
- 포스트맨에서 요청 시 x-www-form-urlencoded 선택
- request body (bulk edit 버전임) :
grant_type:refresh_token
refresh_token:{발급받은 리프레쉬토큰}
client_id:{AWS 클라이언트 아이디}
client_secret:{AWS 시크릿 키}
Access Token 발급받은 후 SP-API 호출하기 절차 (포스트맨 사용 시)
1. Authorization : AWS Signature 선택
2. access key, secret key, aws region, service name (execute-api) 입력
- access key, secret key는 앱 개발자의 aws 계정에서 가져와야함
3. 헤더 x-amz-access-token 추가 후 값으로 발급받은 Access Token 기입
4. 관련 내용 (하단 동영상 참조)
https://developer-docs.amazon.com/sp-api/docs/using-postman-for-selling-partner-api-models
토큰의 활용
- 일반적인 요청시에는 발급받은 access_token을 사용하지만 PII에 접근하는 API들의 경우 restricted data token (RDT)을 사용해야함
- RDT 사용 API 목록
https://developer-docs.amazon.com/sp-api/docs/tokens-api-use-case-guide#restricted-operations