sayren Docs
웹훅

웹훅 구독 등록

판매자당 최대 10개. 등록 즉시 `ACTIVE`이며 이후 발생하는 구독 이벤트부터 발송된다. URL은 HTTPS여야 하고, 호스트가 사설·루프백·링크로컬 등 내부 주소로 해석되면 거부된다. 서명 시크릿 평문(`secret`)은 이 응답에서만 노출되고, 이후 조회에는 앞부분(`secretPrefix`)만 나온다.

POST
/v1/webhooks

판매자당 최대 10개. 등록 즉시 ACTIVE이며 이후 발생하는 구독 이벤트부터 발송된다. URL은 HTTPS여야 하고, 호스트가 사설·루프백·링크로컬 등 내부 주소로 해석되면 거부된다. 서명 시크릿 평문(secret)은 이 응답에서만 노출되고, 이후 조회에는 앞부분(secretPrefix)만 나온다.

Authorization

accessToken
headerAuthorizationBearer <token>

Sayren 계정 토큰(로그인 토큰 또는 개인 액세스 토큰, RFC 9068 JWT)

Header Parameters

X-Store-Id*string

대상 상점 id. 토큰의 상점 범위 밖이면 403 STORE_NOT_GRANTED, 없으면 400 STORE_ID_REQUIRED다

Request Body

application/json
  1. body
url*string
Match^https:\/\/.*
Formatstarts_with
eventTypes*array<>
Items1 <= items

Response Body

성공

application/json
  1. response
meta*
data*
error*|null
curl -X POST 'https://api.sayren.io/v1/webhooks' \  -H 'X-Store-Id: string' \  -H 'Content-Type: application/json' \  -d '{  "url": "string",  "eventTypes": [    "ORDER.PAID"  ]}'
{  "meta": {    "status": 201,    "code": "OK",    "message": "OK",    "isSuccess": true  },  "data": {    "webhookId": "string",    "url": "http://example.com",    "eventTypes": [      "ORDER.PAID"    ],    "status": "ACTIVE",    "secretPrefix": "string",    "suspendedAt": "string",    "createdAt": "string",    "secret": "string"  },  "error": null}