async function recordOutcome(customerId, creativeId, channelId, outcome) {
const response = await fetch(`${BASE_URL}/api/v1/respond`, {
method: "POST",
headers,
body: JSON.stringify({
customerId,
creativeId, // from the recommend response decisions[].creativeId
channelId, // from the recommend response decisions[].channelId
outcome, // "impression", "click", "accept", "dismiss", "convert"
idempotencyKey: `${outcome}-${Date.now()}`,
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(`Respond failed (${response.status}): ${error.error}`);
}
return response.json();
}
// Usage — record a click on the first decision
const decision = result.decisions[0];
await recordOutcome("SBX-000100", decision.creativeId, decision.channelId, "click");