Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

getting parse error in bulk operation

getting parse error in bulk operation

akshuklait
Shopify Partner
6 0 2

Hi, 
I'm running into a bulk operation issue.  
I want to get all products from the Shopify store based on some product types, but not getting a proper response. Here I'm attaching 2 cases

 

Case 1: Adding all filter values without addslashes, this gives no error also not sending bulk operation URL

Request data

mutation {
                  bulkOperationRunQuery(
                    query:"""
                     {
                  products(query: "product_type:'Bags' OR product_type:'Men's Socks' OR product_type:'men's' OR product_type:'men's button-ups'") {
                    edges {
                      node {
                        id
                        title
                        vendor
                        productType                        
                        descriptionHtml
                        handle
                        tags   
                        publishedAt
                        createdAt
                        updatedAt                     
                        featuredImage {
                          id
                          originalSrc                          
                        }
                        images {
                          edges {
                            node {
                              id
                              originalSrc                              
                            }
                          }
                        }
                        collections {
                          edges {
                            node {
                              id
                              title
                            }
                          }
                        }
                        
                        variants {
                          edges {
                            node {
                              id
                              title
                              position
                              sku
                              price
                              compareAtPrice
                              inventoryQuantity
                              weight
                              weightUnit
                              barcode
                              inventoryPolicy
                              taxable
                              createdAt
                              updatedAt
                              fulfillmentService {
                                handle
                                serviceName
                              }
                              image {
                                id
                                originalSrc
                                transformedSrc
                              }
                              selectedOptions {
                                name
                                value
                              }
                              inventoryItem {
                                id
                                tracked
                                requiresShipping
                                inventoryLevels {
                                  edges {
                                    node {
                                      id
                                      available
                                      updatedAt
                                      location {
                                        id
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
            
                    """
                  ) {
                    bulkOperation {
                      id
                      status
                    }
                    userErrors {
                      field
                      message
                    }
                  }
                }
)

Response data

Array
        (
            [id] => gid://shopify/BulkOperation/321298235473
            [status] => COMPLETED
            [errorCode] => 
            [createdAt] => 2021-03-25T10:20:41Z
            [completedAt] => 2021-03-25T10:20:42Z
            [objectCount] => 0
            [fileSize] => 
            [url] => 
            [partialDataUrl] => 
        )

 

Case 2:  adding  addslashes between filter values


Request data

mutation {
                  bulkOperationRunQuery(
                    query:"""
                     {
                  products(query: "product_type:'Bags' OR product_type:'Men\'s Socks' OR product_type:'men\'s' OR product_type:'men\'s button-ups'") {
                    edges {
                      node {
                        id
                        title
                        vendor
                        productType                        
                        descriptionHtml
                        handle
                        tags   
                        publishedAt
                        createdAt
                        updatedAt                     
                        featuredImage {
                          id
                          originalSrc                          
                        }
                        images {
                          edges {
                            node {
                              id
                              originalSrc                              
                            }
                          }
                        }
                        collections {
                          edges {
                            node {
                              id
                              title
                            }
                          }
                        }
                        
                        variants {
                          edges {
                            node {
                              id
                              title
                              position
                              sku
                              price
                              compareAtPrice
                              inventoryQuantity
                              weight
                              weightUnit
                              barcode
                              inventoryPolicy
                              taxable
                              createdAt
                              updatedAt
                              fulfillmentService {
                                handle
                                serviceName
                              }
                              image {
                                id
                                originalSrc
                                transformedSrc
                              }
                              selectedOptions {
                                name
                                value
                              }
                              inventoryItem {
                                id
                                tracked
                                requiresShipping
                                inventoryLevels {
                                  edges {
                                    node {
                                      id
                                      available
                                      updatedAt
                                      location {
                                        id
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
            
                    """
                  ) {
                    bulkOperation {
                      id
                      status
                    }
                    userErrors {
                      field
                      message
                    }
                  }
                }
)

Response data

[errors] => Array
        (
            [0] => Array
                (
                    [message] => Parse error on bad Unicode escape sequence: "     {\n  products(query: \"product_type:'Bags' OR product_type:'Men\\'s Socks' OR product_type:'men\\'s' OR product_type:'men\\'s button-ups'\") {\n    edges {\n      node {\n        id\n        title\n        vendor\n        productType                        \n        descriptionHtml\n        handle\n        tags   \n        publishedAt\n        createdAt\n        updatedAt                     \n        featuredImage {\n          id\n          originalSrc                          \n        }\n        images {\n          edges {\n            node {\n              id\n              originalSrc                              \n            }\n          }\n        }\n        collections {\n          edges {\n            node {\n              id\n              title\n            }\n          }\n        }\n        \n        variants {\n          edges {\n            node {\n              id\n              title\n              position\n              sku\n              price\n              compareAtPrice\n              inventoryQuantity\n              weight\n              weightUnit\n              barcode\n              inventoryPolicy\n              taxable\n              createdAt\n              updatedAt\n              fulfillmentService {\n                handle\n                serviceName\n              }\n              image {\n                id\n                originalSrc\n                transformedSrc\n              }\n              selectedOptions {\n                name\n                value\n              }\n              inventoryItem {\n                id\n                tracked\n                requiresShipping\n                inventoryLevels {\n                  edges {\n                    node {\n                      id\n                      available\n                      updatedAt\n                      location {\n                        id\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\n    " (error) at [3, 27]
                    [locations] => Array
                        (
                            [0] => Array
                                (
                                    [line] => 3
                                    [column] => 27
                                )

                        )

                )

        )

 

Please let me know a possible solution asap, I can't find what I'm missing here.

 

Thanks

Reply 1 (1)

syf_
Shopify Staff
95 21 25

@akshuklait since you have apostrophes in there, I think it would be best to use escaped double quotes on your search strings. For example use \"Men's Socks\" instead of 'Men's Socks' or 'Men\'s Socks'

Best,
Seth.

syf_ | Developer Support @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog