sayren Docs
상점 설정

구성원 초대

초대 메일을 보낸다. 발송이 실패해도 초대는 만들어지고 결과는 `deliveryStatus`에 있다. 발송 한도(초대 + 재발송)는 상점당 한 시간 20통, 초대한 사람당 하루 50통, 받는 주소당 하루 5통이고 넘으면 429(`details.limit`: STORE·SENDER·RECIPIENT)다. 같은 주소의 대기 초대는 하나다(409 `INVITATION_PENDING`).

POST
/v1/store/invitations

초대 메일을 보낸다. 발송이 실패해도 초대는 만들어지고 결과는 deliveryStatus에 있다. 발송 한도(초대 + 재발송)는 상점당 한 시간 20통, 초대한 사람당 하루 50통, 받는 주소당 하루 5통이고 넘으면 429(details.limit: STORE·SENDER·RECIPIENT)다. 같은 주소의 대기 초대는 하나다(409 INVITATION_PENDING).

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
email*string
Match^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
Formatemail
role*string
Value in"ADMIN""STAFF"

Response Body

성공

application/json
  1. response
meta*
data*
error*|null
curl -X POST 'https://api.sayren.io/v1/store/invitations' \  -H 'X-Store-Id: string' \  -H 'Content-Type: application/json' \  -d '{  "email": "user@example.com",  "role": "ADMIN"}'
{  "meta": {    "status": 201,    "code": "OK",    "message": "OK",    "isSuccess": true  },  "data": {    "invitationId": "string",    "email": "user@example.com",    "role": "ADMIN",    "status": "PENDING",    "invitedBy": "string",    "expiresAt": "string",    "createdAt": "string",    "deliveryStatus": "SENDING",    "deliveryErrorCode": null,    "lastSentAt": null,    "sendCount": 0,    "acceptedAt": null  },  "error": null}