Adobe Commerce REST API를 사용할 때 구성 가능한 항목에 대한 송장 작성에 실패함

구성 가능한 제품에 대해 Adobe Commerce REST API를 사용한 송장 생성이 실패합니다. 이 경우 항목이 송장에 표시되지 않고 검증 오류가 트리거되지 않습니다. 이 문제를 해결하려면 송장 요청에서 단순(하위) 제품 대신 구성 가능한(상위) 제품의 항목 ID를 참조하십시오.

설명 description

환경

Adobe Commerce

문제/증상

  • API를 통해 생성된 송장에는 구성 가능한 제품이 포함되지 않습니다.
  • 하위(단순) 항목 ID만 사용하는 경우에는 오류 메시지가 표시되지 않습니다.
  • 상위 반품에 대해 수량이 0인 상위 및 하위 항목 ID를 모두 포함합니다. 제품 없이 송장을 만들 수 없습니다.
  • 간단한 제품 송장을 작성했습니다.

해결 방법 resolution

이 문제를 해결하려면 다음 단계를 수행합니다.

  1. sales_order_item 테이블을 쿼리하여 주문에서 구성 가능한(상위) 제품의 항목 ID를 식별합니다.

    code language-none
    select item_id, sku, product_type from sales_order_item;
    
    208  simple_skuA    configurable
    211  simple_skuA    simple
    214  simple_skuB    configurable
    217  simple_skuB    simple
    220  simple_skuC    simple
    223  simple_skuD    simple
    
  2. 구성 가능한 상위 제품의 항목 ID만 요청 페이로드에 포함하여 REST API를 통해 송장을 만듭니다.

    참고: 하위(단순) 제품 항목 ID를 포함하지 말고 모든 항목에 대해 수량을 0으로 설정하지 마십시오.

  3. 다음 페이로드 구조를 사용하여 송장 생성 요청을 실행합니다.

    code language-none
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>" \
    https://<store_url>/rest/V1/order/<order_id>/invoice
    
    {
      "items": [
        {
          "order_item_id": 208,
          "qty": 1
        },
        {
          "order_item_id": 220,
          "qty": 1
        },
        {
          "order_item_id": 223,
          "qty": 1
        }
      ]
    }
    
  4. 생성된 송장에 의도한 구성 가능한 모든 제품에 대한 라인 항목이 포함되어 있는지 확인합니다.

메모

주문 내에 구성 가능한 제품의 여러 변형이 있는 경우 송장을 생성할 때 해당 변형에 해당하는 각 관련 상위 항목 ID를 사용하십시오.

select item_id, sku, product_type from sales_order_item;
226  simple_skuA   configurable
229  simple_skuA         simple
232  simple_skuB   configurable
235  simple_skuB         simple

이 예에서 SKU simple_skuB의 송장 변형 B에 대한 페이로드는 상위 항목 ID 232을(를) 사용합니다.

관련 읽기

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f