주문 플로우
진행 중 주문을 게시 버전으로 옮기기
버전 n을 따르는 진행 중 주문의 흐름을 지금 게시 버전으로 옮긴다. 새 버전에 같은 상태가 있어야 하고, 진행 중 클레임이 있거나 외부 API 응답을 기다리는 주문은 건너뛴다(`skipped`). 한 번에 `limit`개(기본 100)까지 옮기고 `remaining`을 준다. 게시 버전이 없으면 409 `FLOW_NOT_PUBLISHED`, 버전 n이 게시 버전이면 409 `FLOW_VERSION_ALREADY_ACTIVE`. 두 버전의 진행 단위(`progression`)가 다르면 409 `FLOW_PROGRESSION_MISMATCH`.
POST
버전 n을 따르는 진행 중 주문의 흐름을 지금 게시 버전으로 옮긴다. 새 버전에 같은 상태가 있어야 하고, 진행 중 클레임이 있거나 외부 API 응답을 기다리는 주문은 건너뛴다(skipped). 한 번에 limit개(기본 100)까지 옮기고 remaining을 준다. 게시 버전이 없으면 409 FLOW_NOT_PUBLISHED, 버전 n이 게시 버전이면 409 FLOW_VERSION_ALREADY_ACTIVE. 두 버전의 진행 단위(progression)가 다르면 409 FLOW_PROGRESSION_MISMATCH.
accessTokenheader
AuthorizationBearer <token>Sayren 계정 토큰(로그인 토큰 또는 개인 액세스 토큰, RFC 9068 JWT)
flowId*stringversion*numberX-Store-Id*string대상 상점 id. 토큰의 상점 범위 밖이면 403 STORE_NOT_GRANTED, 없으면 400 STORE_ID_REQUIRED다
application/json- body
limit?integer한 번에 옮길 흐름 수(기본 100)
Range
1 <= value <= 500성공
application/json- response
meta*data*error*|nullcurl -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}