sayren Docs
주문 플로우

진행 중 주문을 게시 버전으로 옮기기

버전 n을 따르는 진행 중 주문의 흐름을 지금 게시 버전으로 옮긴다. 새 버전에 같은 상태가 있어야 하고, 진행 중 클레임이 있거나 외부 API 응답을 기다리는 주문은 건너뛴다(`skipped`). 한 번에 `limit`개(기본 100)까지 옮기고 `remaining`을 준다. 게시 버전이 없으면 409 `FLOW_NOT_PUBLISHED`, 버전 n이 게시 버전이면 409 `FLOW_VERSION_ALREADY_ACTIVE`. 두 버전의 진행 단위(`progression`)가 다르면 409 `FLOW_PROGRESSION_MISMATCH`.

POST
/v1/commerce-flows/{flowId}/versions/{version}/migrate

버전 n을 따르는 진행 중 주문의 흐름을 지금 게시 버전으로 옮긴다. 새 버전에 같은 상태가 있어야 하고, 진행 중 클레임이 있거나 외부 API 응답을 기다리는 주문은 건너뛴다(skipped). 한 번에 limit개(기본 100)까지 옮기고 remaining을 준다. 게시 버전이 없으면 409 FLOW_NOT_PUBLISHED, 버전 n이 게시 버전이면 409 FLOW_VERSION_ALREADY_ACTIVE. 두 버전의 진행 단위(progression)가 다르면 409 FLOW_PROGRESSION_MISMATCH.

Authorization

accessToken
headerAuthorizationBearer <token>

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

Path Parameters

flowId*string
version*number

Header Parameters

X-Store-Id*string

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

Request Body

application/json
  1. body
limit?integer

한 번에 옮길 흐름 수(기본 100)

Range1 <= value <= 500

Response Body

성공

application/json
  1. response
meta*
data*
error*|null
curl -X POST 'https://api.sayren.io/v1/commerce-flows/string/versions/0/migrate' \  -H 'X-Store-Id: string' \  -H 'Content-Type: application/json' \  -d '{}'
{  "meta": {    "status": 200,    "code": "OK",    "message": "OK",    "isSuccess": true  },  "data": {    "fromVersion": 0,    "toVersion": 0,    "migrated": 0,    "skipped": [      {        "orderItemIds": [          "string"        ],        "state": "string",        "reason": "string"      }    ],    "remaining": 0  },  "error": null}