상점 설정
구성원 초대
초대 메일을 보낸다. 발송이 실패해도 초대는 만들어지고 결과는 `deliveryStatus`에 있다. 발송 한도(초대 + 재발송)는 상점당 한 시간 20통, 초대한 사람당 하루 50통, 받는 주소당 하루 5통이고 넘으면 429(`details.limit`: STORE·SENDER·RECIPIENT)다. 같은 주소의 대기 초대는 하나다(409 `INVITATION_PENDING`).
POST
초대 메일을 보낸다. 발송이 실패해도 초대는 만들어지고 결과는 deliveryStatus에 있다. 발송 한도(초대 + 재발송)는 상점당 한 시간 20통, 초대한 사람당 하루 50통, 받는 주소당 하루 5통이고 넘으면 429(details.limit: STORE·SENDER·RECIPIENT)다. 같은 주소의 대기 초대는 하나다(409 INVITATION_PENDING).
accessTokenheader
AuthorizationBearer <token>Sayren 계정 토큰(로그인 토큰 또는 개인 액세스 토큰, RFC 9068 JWT)
X-Store-Id*string대상 상점 id. 토큰의 상점 범위 밖이면 403 STORE_NOT_GRANTED, 없으면 400 STORE_ID_REQUIRED다
application/json- body
email*stringMatch
^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$Format
emailrole*stringValue in
"ADMIN""STAFF"성공
application/json- response
meta*data*error*|nullcurl -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}