Js help - building request params before http request node

Describe the problem/error/question

I’m not fluent with js, come mostly from the PHP/bash world.
I have the data below, and I need to create invoice line items for each billing object below - however the API (CreateInvoice - WHMCS Developer Documentation) takes query params in the url encoded array format: lineitemX where X is the array index.

How do I transform the data? I tried using the code node and use forEach on the billing object:

const itemlines = {};
$input.item.json.billing.forEach(function (value, i) {
  itemlines[i] = "value";
});

but that gives me syntax errors.

What is the error message (if any)?

Please share your workflow

[
{
"client_id": 
100,
"billing": 
[
{
"domain": 
"testdomain123.com",
"active_email_accounts": 
44
},
{
"domain": 
"testdomain456.com",
"active_email_accounts": 
1
}
],
"sum": 
45
}
]

Information on your n8n setup

  • n8n version: 1.39.1
  • Database (default: SQLite): sqlite
  • n8n EXECUTIONS_PROCESS setting (default: own, main): own
  • Running n8n via (Docker, npm, n8n cloud, desktop app): docker
  • Operating system: debian11

Hi @davids, if you want to simply separate the billing object into separate items, maybe you could try using the Split Out Node in your workflow? Would that help?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.