La création de facture échoue pour les éléments configurables lors de l’utilisation de l’API REST Adobe Commerce

La création de facture à l’aide de l’API REST Adobe Commerce échoue pour les produits configurables, où l’élément n’apparaît pas sur la facture et où les erreurs de validation ne se déclenchent pas. Pour résoudre ce problème, référencez l'ID article du produit configurable (parent) au lieu du produit simple (enfant) dans la demande de facture.

Description description

Environnement

Adobe Commerce

Problème/Symptômes

  • Les factures créées via l’API n’incluent pas de produits configurables.
  • Aucun message d’erreur ne s’affiche lorsque seuls des ID d’élément enfant (simples) sont utilisés.
  • Inclusion des ID article parent et enfant avec une quantité nulle pour les retours parent La facture ne peut pas être créée sans produits.
  • Facture de produits simple réussie.

Résolution resolution

Pour résoudre ce problème, procédez comme suit :

  1. Identifiez l'ID article du produit configurable (parent) à partir de la commande en interrogeant la table sales_order_item.

    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. Créez la facture via l’API REST en incluant uniquement l’ID d’élément du produit parent configurable dans la payload de la requête.

    Remarque: n'incluez pas d'ID d'article de produit enfant (simple) et ne définissez pas la quantité sur zéro pour aucun article.

  3. Soumettez la demande de création de facture à l'aide de la structure de payload suivante :

    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. Vérifiez que la facture créée inclut des articles de ligne pour tous les produits configurables prévus.

Remarque

S'il existe plusieurs variations d'un produit configurable dans une commande, utilisez chaque ID article parent correspondant à ces variations lors de la création des factures.

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

Dans cet exemple, la payload pour facturer la variante B du SKU simple_skuB utilise l'ID article parent 232.

Lecture connexe

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