For the complete documentation index, see llms.txt. This page is also available as Markdown.

클레임(취소, 교환, 반품)

취소·반품·교환 처리

취소 요청 목록은 풀필먼트가 폴링(Pull) 으로 가져가고, 검토 결과(승인/거절)는 풀필먼트가 Push해요.

취소 처리 흐름

취소 요청 목록 조회

get

고객/셀러/관리자의 취소 요청 목록을 조회합니다.

풀필먼트 시스템에서 주기적으로 폴링하여 신규 취소 요청을 확인하는 용도입니다.

Query parameters
startAtstringRequired

조회 시작 일시

Example: 2026-03-30T10:00:00
endAtstringRequired

조회 종료 일시

Example: 2026-03-30T10:10:00
cursorstring · max: 1024Optional

이전 페이지의 커서 토큰 값

fulfillmentAccountKeystring · max: 64Optional

고객사 식별값 (미입력 시 전체 고객사)

sizeinteger · int32Optional

페이지 크기 (기본 50, 최대 100)

Default: 50
Header parameters
X-Toss-Shopping-Connect-Api-KeystringRequired

토스쇼핑에서 발급한 연동 API Key

X-Toss-Shopping-Connect-Tx-IdstringRequired

요청별 고유 거래 식별값 (ASCII, 최대 64 byte)

Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultTypestring · enumOptional

응답 결과 타입

Possible values:
get/api/v3/shopping-fep/fulfillment/cancel-requests
GET /api/v3/shopping-fep/fulfillment/cancel-requests?startAt=2026-03-30T10%3A00%3A00&endAt=2026-03-30T10%3A10%3A00 HTTP/1.1
Host: shopping-fep.toss.im
X-Toss-Shopping-Connect-Api-Key: text
X-Toss-Shopping-Connect-Tx-Id: text
Accept: */*
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "resultType": "SUCCESS",
  "error": {
    "errorCode": "INVALID_REQUEST",
    "reason": "text"
  },
  "success": {
    "content": [
      {
        "orderProductId": 1,
        "orderId": 1,
        "cancelStatus": "CANCEL_REQUESTED",
        "requestedAt": "2026-04-02T09:15:00",
        "requestReason": "text",
        "requestDetailReason": "text",
        "requestedBy": "USER",
        "item": {
          "fulfillmentAccountKey": "text",
          "productName": "text",
          "name": "text",
          "skus": [
            {
              "skuKey": "text",
              "quantity": 1
            }
          ],
          "quantity": 1
        }
      }
    ],
    "nextCursor": "text",
    "hasNext": true
  }
}

취소 완료 목록 조회

get

취소가 완료된 주문상품 목록을 조회합니다.

풀필먼트 시스템에서 주기적으로 폴링하여 취소 완료 건을 확인하는 용도입니다.

Query parameters
startAtstringRequired

조회 시작 일시

Example: 2026-03-30T10:00:00
endAtstringRequired

조회 종료 일시

Example: 2026-03-30T10:10:00
cursorstring · max: 1024Optional

이전 페이지의 커서 토큰 값

fulfillmentAccountKeystring · max: 64Optional

고객사 식별값 (미입력 시 전체 고객사)

sizeinteger · int32Optional

페이지 크기 (기본 50, 최대 100)

Default: 50
Header parameters
X-Toss-Shopping-Connect-Api-KeystringRequired

토스쇼핑에서 발급한 연동 API Key

X-Toss-Shopping-Connect-Tx-IdstringRequired

요청별 고유 거래 식별값 (ASCII, 최대 64 byte)

Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultTypestring · enumOptional

응답 결과 타입

Possible values:
get/api/v3/shopping-fep/fulfillment/cancel-completed
GET /api/v3/shopping-fep/fulfillment/cancel-completed?startAt=2026-03-30T10%3A00%3A00&endAt=2026-03-30T10%3A10%3A00 HTTP/1.1
Host: shopping-fep.toss.im
X-Toss-Shopping-Connect-Api-Key: text
X-Toss-Shopping-Connect-Tx-Id: text
Accept: */*
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "resultType": "SUCCESS",
  "error": {
    "errorCode": "INVALID_REQUEST",
    "reason": "text"
  },
  "success": {
    "content": [
      {
        "orderProductId": 1,
        "orderId": 1,
        "cancelStatus": "CANCEL_REQUESTED",
        "canceledAt": "2026-04-02T14:40:00",
        "item": {
          "fulfillmentAccountKey": "text",
          "productName": "text",
          "name": "text",
          "skus": [
            {
              "skuKey": "text",
              "quantity": 1
            }
          ],
          "quantity": 1
        }
      }
    ],
    "nextCursor": "text",
    "hasNext": true
  }
}

취소 요청에 대한 승인/거절

post

풀필먼트 시스템에서 취소 요청을 검토한 후 결과를 전달합니다.

  • APPROVED: 취소 요청 승인 → 토스쇼핑에서 결제취소를 진행하고 주문 상태가 '결제취소'로 변경됩니다

  • REJECTED: 취소 요청 거절 → 구매자에게 거절 사유가 안내됩니다 (rejectReason 필수)

Path parameters
orderProductIdinteger · int64Required
Header parameters
X-Toss-Shopping-Connect-Api-KeystringRequired

토스쇼핑에서 발급한 연동 API Key

X-Toss-Shopping-Connect-Tx-IdstringRequired

요청별 고유 거래 식별값 (ASCII, 최대 64 byte)

Body
resultstring · enumRequired

취소 요청 처리 결과

Possible values:
rejectReasonstring · max: 300Optional

거절 사유 (REJECTED 시 필수, 최대 300자)

deliveryCompanyCodestring · max: 5Optional

택배사 코드 (REJECTED + 송장 동봉 시, 최대 5자)

trackingNumberstring · max: 50Optional

송장 번호 (REJECTED + 송장 동봉 시, 최대 50자)

shippedAtstringOptional

발송 일시 (REJECTED + 송장 동봉 시)

Example: 2026-04-01T10:00:00
Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultTypestring · enumOptional

응답 결과 타입

Possible values:
post/api/v3/shopping-fep/fulfillment/orders/{orderProductId}/cancel-result
POST /api/v3/shopping-fep/fulfillment/orders/{orderProductId}/cancel-result HTTP/1.1
Host: shopping-fep.toss.im
X-Toss-Shopping-Connect-Api-Key: text
X-Toss-Shopping-Connect-Tx-Id: text
Content-Type: application/json
Accept: */*
Content-Length: 130

{
  "result": "APPROVED",
  "rejectReason": "text",
  "deliveryCompanyCode": "text",
  "trackingNumber": "text",
  "shippedAt": "2026-04-01T10:00:00"
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "resultType": "SUCCESS",
  "error": {
    "errorCode": "INVALID_REQUEST",
    "reason": "text"
  },
  "success": {
    "success": true
  }
}

배송중/배송완료 주문에 반품 요청이 들어오면, 현재는 취소 요청과 동일하게 cancel-requests 폴링으로 수신해요. 단, 실제 처리(회수·재입고)는 출고 전 순수 취소와 흐름이 달라요. 배송 단계별 반품 처리 절차는 연동 시작 전에 담당자와 사전에 합의해주세요.

Last updated

Was this helpful?