MDVA-44147: GraphQL request doesn’t return Requisition Lists

The MDVA-44147 patch fixes the issue where GraphQL request doesn’t return Requisition Lists. This patch is available when the Quality Patches Tool (QPT) 1.1.14 is installed. The patch ID is MDVA-44147. Please note that the issue is scheduled to be fixed in Adobe Commerce 2.4.5.

Affected products and versions

The patch is created for Adobe Commerce version:

  • Adobe Commerce (all deployment methods) 2.4.3-p1

Compatible with Adobe Commerce versions:

  • Adobe Commerce (all deployment methods) 2.4.2 - 2.4.4
NOTE
The patch might become applicable to other versions with new Quality Patches Tool releases. To check if the patch is compatible with your Adobe Commerce version, update the magento/quality-patches package to the latest version and check the compatibility on the Quality Patches Tool: Search for patches page. Use the patch ID as a search keyword to locate the patch.

Issue

GraphQL request doesn’t return Requisition Lists.

Steps to reproduce:

  1. Go to Store > Settings > Configuration > General > B2B Features and enable Requisition List.

  2. Log in as a customer and add a product to the Requisition List.

  3. Create a Customer Token.

    code language-graphql
    
     mutation {
       generateCustomerToken(
         email: "test@gmail.com"
         password: "xxxxxxxx"
         ) {
           token
         }
       }
    
    
  4. Use the following query to retrieve all the Requisition Lists from the customer. Use the Authorization header with the value Bearer <customer_token>. Refer to the Customer Query article in our developer documentation for more information.

    Request:

    code language-graphql
    
     query {
       customer {
         requisition_lists(
           pageSize: 20
           ) {
             items {
               uid
               name
               description
               items(pageSize: 20) {
                 items {
                   uid
                   product {
                     uid
                     name
                     sku
                     __typename
                   }
                   quantity
                 }
                 total_pages
               }
             }
             total_count
           }
         }
       }
    
    

    Response:

    code language-graphql
    
     {
       "data": {
         "customer": {
           "requisition_lists": {
             "items": [
             {
               "uid": "MQ==",
               "name": "Name",
               "description": "Description",
               "items": {
                 "items": [
                 {
                   "uid": "MQ==",
                   "product": {
                     "uid": "MQ==",
                     "name": "Simple 01",
                     "sku": "s00001",
                     "__typename": "SimpleProduct"
                     },
                     "quantity": 1
                   }
                   ],
                   "total_pages": 1
                 }
               }
               ],
               "total_count": 1
             }
           }
         }
       }
    
    
  5. Copy the UID of any item from the list returned (MQ==) and use the following query to get the list filtered by the UID.

    code language-graphql
    
     query {
       customer {
         requisition_lists(
           pageSize: 20,
           filter: {
             uids: {
               eq: "MQ=="
             }
           }
           ) {
             items {
               uid
               name
               description
               items(pageSize: 20) {
                 items {
                   uid
                   product {
                     uid
                     name
                     sku
                     __typename
                   }
                   quantity
                 }
                 total_pages
               }
             }
             total_count
           }
         }
       }
    
    

Expected results:

One result is returned.

Actual results:

Zero results are returned.

Apply the patch

To apply individual patches, use the following links depending on your deployment method:

To learn more about Quality Patches Tool, refer to:

For info about other patches available in QPT, refer to Patches available in QPT in our developer documentation.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a