Adobe Commerce REST API를 사용할 때 구성 가능한 항목에 대한 송장 작성에 실패함
구성 가능한 제품에 대해 Adobe Commerce REST API를 사용한 송장 생성이 실패합니다. 이 경우 항목이 송장에 표시되지 않고 검증 오류가 트리거되지 않습니다. 이 문제를 해결하려면 송장 요청에서 단순(하위) 제품 대신 구성 가능한(상위) 제품의 항목 ID를 참조하십시오.
설명 description
환경
Adobe Commerce
문제/증상
- API를 통해 생성된 송장에는 구성 가능한 제품이 포함되지 않습니다.
- 하위(단순) 항목 ID만 사용하는 경우에는 오류 메시지가 표시되지 않습니다.
- 상위 반품에 대해 수량이 0인 상위 및 하위 항목 ID를 모두 포함합니다. 제품 없이 송장을 만들 수 없습니다.
- 간단한 제품 송장을 작성했습니다.
해결 방법 resolution
이 문제를 해결하려면 다음 단계를 수행합니다.
-
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 -
구성 가능한 상위 제품의 항목 ID만 요청 페이로드에 포함하여 REST API를 통해 송장을 만듭니다.
참고: 하위(단순) 제품 항목 ID를 포함하지 말고 모든 항목에 대해 수량을 0으로 설정하지 마십시오.
-
다음 페이로드 구조를 사용하여 송장 생성 요청을 실행합니다.
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 } ] } -
생성된 송장에 의도한 구성 가능한 모든 제품에 대한 라인 항목이 포함되어 있는지 확인합니다.
메모
주문 내에 구성 가능한 제품의 여러 변형이 있는 경우 송장을 생성할 때 해당 변형에 해당하는 각 관련 상위 항목 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을(를) 사용합니다.
3d58f420-19b5-47a0-a122-5c9dab55ec7f