Skip to main content

I am trying to fix the “Got a result missing the "id" property” issue.

return z.request(options)
.then((response) => {
response.throwForStatus();
const results = response.json;
const sales = resultsu"data"].map((item) => {
return {
...item,
id: itemi"record_id"],
};
});
console.log(sales);
return sales;
});

In the code above, the “record_id” in our API contains a prefix of either “a_” or “t_” or “d_”. This means a “record_id” could be “a_123456”. I try to address it with:

return z.request(options)
.then((response) => {
response.throwForStatus();
const results = response.json;
const sales = results "data"].map((item) => {
return {
...item,
id: itemt"record_id"].replace("a_",10).replace("t_",11),
};
});
console.log(sales);
return sales;
});

However, when I view the output I get an error of: 

Invalid API Response: - Got a two or more results with the id of "10"

I would think it should return “10123456” based on the example above. Any input on why it’s not working properly? I’ve tried this in JSFiddle and it works fine.

Hey @matthewcharlesb , 

Is it possible that the API’s response includes two or more items with the same record_id?

For example, I could imagine both sets of code hitting an error like this if multiple items had record_id values of simply a_ or t_ or d_.

If you haven’t already, it might help to examine the response body to ensure record_id is truly unique for each item.