sayren Docs

앱 이벤트

앱이 받을 수 있는 이벤트와 필요한 권한, 설치·해제·데이터 삭제 이벤트

이벤트는 매니페스트 events에 적고 defineApp의 events에 같은 이름의 함수를 둡니다. 상점 이벤트는 웹훅과 같은 이름·같은 data이고, 앱 이벤트(APP.*)는 앱에만 옵니다.

상점 이벤트

이벤트마다 필요한 권한이 있습니다. 매니페스트 scopes에 없으면 app verify가 EVENT_SCOPE_MISSING으로 멈춥니다. 쓰기 권한(order:rw)은 읽기 권한(order:r)을 포함합니다.

이벤트언제필요 권한
ORDER.PAID결제 완료order:r
ORDER.CONFIRMED발주 확인order:r
ORDER.DISPATCHED발송 처리order:r
ORDER.DELIVERED배송 완료(배송 없는 상품은 제공 완료)order:r
ORDER.FULFILLED배송 없는 상품 제공order:r
ORDER.PURCHASE_DECIDED구매 확정order:r
ORDER.ADDRESS_CHANGE_REQUESTED배송지 변경 요청order:r
ORDER.CANCELED판매자 취소order:r
ORDER.FLOW_NOTIFICATION주문 흐름의 알림 블록 실행order:r
ORDER.FLOW_STATE_CHANGED주문상품의 흐름 상태 변경order:r
CLAIM.CANCEL_REQUESTED · CLAIM.RETURN_REQUESTED · CLAIM.EXCHANGE_REQUESTED취소·반품·교환 요청claim:r
CLAIM.COMPLETED클레임 처리 완료claim:r
INQUIRY.CREATED상품 문의 등록inquiry:r
REVIEW.CREATED리뷰 등록review:r
PRODUCT.OUT_OF_STOCK옵션 조합의 재고가 0이 되는 순간product:r

data 필드는 웹훅 › 이벤트와 같습니다. 테스트 결제 주문도 testPayment: true로 옵니다.

앱 이벤트

설치·설정·해제 순간에 옵니다. 권한이 필요 없습니다. 매니페스트 events에 적은 것만 옵니다.

이벤트언제data비고
APP.INSTALLED셀러가 설치에 동의한 직후installationId storeId versionNumber grantedScopes필수 설정이 비어 있어도 옵니다(이 이벤트만). ctx.api를 쓸 수 있습니다
APP.SETTINGS_UPDATED셀러가 설정을 저장했을 때installationId storeId changedKeys값이 바뀐 키만 옵니다(같은 값을 다시 저장하면 오지 않습니다). 값은 ctx.settings로 읽습니다
APP.SCOPES_UPDATED셀러가 새 버전에 재동의했을 때installationId storeId versionNumber grantedScopes
APP.UNINSTALLED셀러가 앱을 제거했을 때installationId storeIdctx.token이 null이고 ctx.api를 쓸 수 없습니다. 외부 서비스 정리만 합니다
APP.STORE_REDACT제거 48시간 뒤installationId storeId그 상점의 데이터를 앱 밖에 보관했다면 지우라는 통지입니다. ctx.token은 null입니다
APP.CUSTOMER_REDACT구매자가 탈퇴했을 때storeId memberId고객 정보(customer:r) 권한이 있는 앱에만 옵니다. 그 고객의 데이터를 앱 밖에 보관했다면 지웁니다

APP.UNINSTALLED·APP.STORE_REDACT·APP.CUSTOMER_REDACT는 한 번만 시도하지 않고 다른 이벤트처럼 실패하면 다시 옵니다. sayren은 앱이 실제로 데이터를 지웠는지 확인하지 않습니다. 앱 밖에 셀러·고객 데이터를 두는 앱은 이 세 이벤트를 받도록 만드십시오.

전달 규칙

  • 설치가 사용 중이고 그 상점이 동의한 권한이 이벤트의 필요 권한을 덮을 때만 옵니다. 권한이 넓어진 버전에 아직 재동의하지 않은 상점은 옛 버전의 이벤트 목록과 권한으로 옵니다.
  • 필수 설정이 비어 있으면 APP.INSTALLED 말고는 오지 않습니다(실행 기록에 「설정 필요」).
  • 최소 한 번 전달, 순서 없음, 재시도 최대 24시간. 24시간 동안 모든 호출이 계속 실패하는 앱은 정지되고 개발자에게 알립니다. 정지된 동안의 이벤트는 쌓이지 않습니다.
  • 앱 이벤트와 상점 웹훅은 서로 독립입니다. 앱이 상점의 웹훅 구독을 만들거나 바꿀 수 없습니다.

이 페이지 목차