주문 플로우
초안 저장
`If-Match`에 초안 `revision`을 주면 그 값일 때만 저장한다(다르면 409 `FLOW_REVISION_CONFLICT`). 초안이 없으면 게시 버전에서 새 초안을 연다.
PUT
If-Match에 초안 revision을 주면 그 값일 때만 저장한다(다르면 409 FLOW_REVISION_CONFLICT). 초안이 없으면 게시 버전에서 새 초안을 연다.
accessTokenheader
AuthorizationBearer <token>Sayren 계정 토큰(로그인 토큰 또는 개인 액세스 토큰, RFC 9068 JWT)
flowId*stringX-Store-Id*string대상 상점 id. 토큰의 상점 범위 밖이면 403 STORE_NOT_GRANTED, 없으면 400 STORE_ID_REQUIRED다
if-match*stringapplication/json- body
graph*definition?흐름 설정 requires(progression·groupClaim·fulfillmentMethods)
variables?쓰지 않는다(무시). 값은 그래프의 노드 설정 안에 있다(#115)
성공
application/json- response
meta*data*error*|nullcurl -X PUT 'https://api.sayren.io/v1/commerce-flows/string/draft' \ -H 'X-Store-Id: string' \ -H 'if-match: string' \ -H 'Content-Type: application/json' \ -d '{ "graph": { "property1": null, "property2": null }}'{ "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}