sayren Docs
주문 플로우

초안 저장

`If-Match`에 초안 `revision`을 주면 그 값일 때만 저장한다(다르면 409 `FLOW_REVISION_CONFLICT`). 초안이 없으면 게시 버전에서 새 초안을 연다.

PUT
/v1/commerce-flows/{flowId}/draft

If-Match에 초안 revision을 주면 그 값일 때만 저장한다(다르면 409 FLOW_REVISION_CONFLICT). 초안이 없으면 게시 버전에서 새 초안을 연다.

Authorization

accessToken
headerAuthorizationBearer <token>

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

Path Parameters

flowId*string

Header Parameters

X-Store-Id*string

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

if-match*string

Request Body

application/json
  1. body
graph*
definition?

흐름 설정 requires(progression·groupClaim·fulfillmentMethods)

variables?

쓰지 않는다(무시). 값은 그래프의 노드 설정 안에 있다(#115)

Response Body

성공

application/json
  1. response
meta*
data*
error*|null
curl -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}