Skip to main content
Best answer

Problem with using nested line items

  • February 15, 2022
  • 8 replies
  • 589 views

Hello,

 

We have a use case were we have an order which contains order lines, and each of those order lines may or may not have 1 or more “applied discounts” in a nested array. For example, here is a snippet from the output order:

products:
1:
id:	79
code: a
base_total:	$10
	applied_discounts:
	1:
	amount:	$1
	2:
	amount: $2

2:
id:	80
code: b
base_total:	$5

	applied_discounts:
	1:
	amount:	$5

3:
id:	80
code: c
base_total:	$10

	applied_discounts:

When we use the loop from lines functionality, it would show the above input value as:

[“1”,”2”],[“5”],null

However, when we actually loop though the lines, it treats it like “1,2,5,”. As you can imagine, this creates problems, because we only have 3 products, and each discount can easily become misaligned with it’s correct pairing.

 

Ultimately, we want to add values together for each product to get a total discount amount, then pass those values to line items, which seems to be achievable with some JavaScript. However, when we use JavaScript, the input value seems to not preserve the nested arrays, ie, no matter what we do, even though the applied discounts look like this when being selected for formatting using JavaScript:

The formatter seems to always see the input data like this:

How do we parse out each array for each product? Are we missing something? Is there a simpler solution?

 

Please help, thank you!

Best answer by GetUWired

@zap-ss-ad 

Since others may run into this. There is a significantly easier way to reproduce raw json rather than sending to another zap with Webhooks and then fixing the malformed json string. 

See post here:

 

View original
Did this topic help you find an answer to your question?
This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

8 replies

Troy Tessalone
Forum|alt.badge.img+14
  • Zapier Expert
  • 30739 replies
  • February 15, 2022

Hi @zap-ss-ad 

You’ll likely have to use a custom Code step to handle the nested data: https://zapier.com/apps/code/help


  • Author
  • Beginner
  • 3 replies
  • February 15, 2022

Hi @Troy Tessalone,

 

We are aware of this, however as mentioned, the input data for the line items does not seem to preserve the formatting.

 

Zapier shows the Product Applied Discounts Amount value will look like ["538.5000","1256.5000"], ["295.0000"], null, ["119.7000","279.3000"] which would be great since it retains the individual product discounts. However, what it actually does is provide a string like 538.5000,1256.5000,295.0000,119.7000,279.3000. Which loses all context of which discounts are for which product.

How do we rectify this?


Troy Tessalone
Forum|alt.badge.img+14
  • Zapier Expert
  • 30739 replies
  • February 15, 2022

@zap-ss-ad 

Are you trying to use a Code step?


  • Author
  • Beginner
  • 3 replies
  • February 15, 2022

@Troy Tessalone yes, using javascript.


Troy Tessalone
Forum|alt.badge.img+14
  • Zapier Expert
  • 30739 replies
  • February 15, 2022

@zap-ss-ad 

You’ll have to try an advanced setup that involves chaining 2 Zaps together before you can use the JavaScript Code step.

Check this related topic:

 


  • Author
  • Beginner
  • 3 replies
  • February 16, 2022

FYI this thread did eventually get us to a solution, however, THERE SEEMS TO BE A MAJOR BUG in which the Raw “JSON” that is produced is malformed (there are single quotes where there should be double quotes). We were able to create a dirty workaround for this by using a replace method on the raw data string.

Hopefully Zapier addresses this, and/or simply creates an better solution to accessing nested arrays. It’s pretty frustrating having us use multiple zaps with multiple extra steps (and thus a higher cost) to achieve basic functionality.


Troy Tessalone
Forum|alt.badge.img+14
  • Zapier Expert
  • 30739 replies
  • February 16, 2022

@zap-ss-ad 

Best to submit feedback about issues/errors/bugs to Zapier Support: https://zapier.com/app/get-help


GetUWired
Forum|alt.badge.img+12
  • Zapier Expert
  • 1030 replies
  • Answer
  • February 17, 2022

@zap-ss-ad 

Since others may run into this. There is a significantly easier way to reproduce raw json rather than sending to another zap with Webhooks and then fixing the malformed json string. 

See post here: