주문 플로우
초안 게시
차단 오류가 있으면 409 `PUBLISH_BLOCKED`(details.errors). 초안 `definition.requires`의 진행 단위(`progression`)·이행 방식(`fulfillmentMethods`)은 게시 때 그 버전에 고정되고 흐름의 같은 필드도 이 값으로 바뀐다. 게시한 버전은 바뀌지 않고, 이전 게시 버전의 진행 중 주문은 그 버전을 계속 따른다.
POST
차단 오류가 있으면 409 PUBLISH_BLOCKED(details.errors). 초안 definition.requires의 진행 단위(progression)·이행 방식(fulfillmentMethods)은 게시 때 그 버전에 고정되고 흐름의 같은 필드도 이 값으로 바뀐다. 게시한 버전은 바뀌지 않고, 이전 게시 버전의 진행 중 주문은 그 버전을 계속 따른다.
accessTokenheader
AuthorizationBearer <token>Sayren 계정 토큰(로그인 토큰 또는 개인 액세스 토큰, RFC 9068 JWT)
flowId*stringX-Store-Id*string대상 상점 id. 토큰의 상점 범위 밖이면 403 STORE_NOT_GRANTED, 없으면 400 STORE_ID_REQUIRED다
성공
application/json- response
meta*data*error*|nullcurl -X POST 'https://api.sayren.io/v1/commerce-flows/string/draft/publish' \ -H 'X-Store-Id: string'{ "meta": { "status": 200, "code": "OK", "message": "OK", "isSuccess": true }, "data": { "flowId": "string", "key": "string", "name": "string", "progression": "ITEM", "fulfillmentMethods": [ "string" ], "presetKey": "string", "presetVersion": 0, "activeVersion": 0, "defaultFor": "SHIPPING", "archivedAt": "string", "createdAt": "string", "updatedAt": "string", "draft": { "version": 0, "status": "DRAFT", "revision": 0, "graph": { "property1": null, "property2": null }, "definition": { "property1": null, "property2": null }, "variables": { "property1": null, "property2": null }, "publishedAt": "string" }, "active": { "version": 0, "status": "DRAFT", "revision": 0, "graph": { "property1": null, "property2": null }, "definition": { "property1": null, "property2": null }, "variables": { "property1": null, "property2": null }, "publishedAt": "string" }, "versions": [ { "version": 0, "status": "DRAFT", "publishedAt": "string", "inProgress": 0 } ] }, "error": null}