Cajari automatically pulls Amazon Seller Central reports that are not available via Amazon's API.
You select a Skill (report type), and when the report is ready, Cajari sends a webhook notification to your system so you can retrieve and process the data.
Want a custom webhook handler but don't have a developer? Claude Code will write it for you. You describe what you want, it writes the code.
Already using Claude Code? Open it in VS Code, describe what you want to do with your Cajari reports, and it'll build the handler for you.
Create an empty folder. That's your project.
Fill in the last line with what you want to do. Not sure what to write? Try one of these:
Claude will ask a few questions if it needs to, then write the code, explain how to install dependencies, and set up your API key as an environment variable so it's never hardcoded.
Ask Claude how to deploy. Something like "How do I deploy this to Railway?" or "How do I run this as an AWS Lambda function?" works fine.
Running locally first? Ask: "How do I use ngrok to test this webhook locally?"
Once it's live, paste the URL into Cajari under Account Settings → API & Integrations.
I need a webhook endpoint that receives POST requests from a
service called Cajari.
Here is an example payload:
{
"seller_central_account_id": "05MM1234",
"merchant_name": "Demo Merchant",
"marketplace_name": "United States",
"skill": "shipping_performance",
"outcome": "success",
"format": "json",
"report_location": "https://api.cajari.com/v1/reports/05Q6JA4G"
}
Security: The request includes an Authorization: Bearer <token>
header. The token is an MD5 hash of my API key. Reject requests
where it doesn't match.
When a report arrives: [DESCRIBE WHAT YOU WANT TO DO]
If you know your way around APIs and webhooks, this is the fastest path.
Go to Account Settings → API & Integrations. Enter your endpoint URL.
https://yourdomain.com/cajari-webhook
Copy it from the same page. Cajari will send a POST request when a report is ready. It includes an Authorization: Bearer <token> header. That token is an MD5 hash of your API key. Your job is to compute the MD5 hash of your API key, compare it to the token, and reject the request if they don't match.
Validate the token. Check that outcome is success. Then fetch the report from report_location and process it however you like.
{
"seller_central_account_id": "05MM1234",
"seller_central_account_name": "Demo Merchant United States",
"merchant_name": "Demo Merchant",
"marketplace_name": "United States",
"merchant_marketplace_id": "05MM1234",
"merchant_id": "05MR5678",
"customer_id": "customer-abc",
"seller_central_email": "example@yourdomain.com",
"obtained_at": "2025-05-21 21:53:41",
"skill": "shipping_performance",
"outcome": "success",
"format": "json",
"size": 1194,
"report_location": "https://api.cajari.com/v1/reports/05Q6JA4G"
}
No backend? n8n gives you real flexibility without much code.
Set up a Webhook node with method POST. n8n gives you a URL. Paste it into Cajari Account Settings.
Add a Function node to validate the request. Compare the Authorization header to the MD5 hash of your API key. Stop the workflow if they don't match.
Fetch the report with an HTTP Request node. Use the report_location URL from the payload and add your Cajari API credentials. Optionally reshape the JSON into rows and map fields to columns.
Connect a Google Sheets node, pick your spreadsheet and tab, and append rows.
Once it's running, you don't touch it. Cajari fires the webhook, n8n grabs the report, data shows up in your sheet.
Zapier is quicker to set up but less flexible. It's a good fit if you're routing data into tools you already use.
Start with a Webhooks by Zapier trigger set to Catch Hook. Zapier gives you a URL. Drop it into Cajari Account Settings.
Zapier won't verify the webhook automatically. To do it yourself, add a Code by Zapier step. Compute the MD5 of your API key, compare it to the Authorization header, and throw an error if it doesn't match.
To fetch the report, add a Webhooks by Zapier Custom Request step. Set the method to GET, use the report_location field as the URL, and add your Cajari API key.
Then route the data wherever you need it. Google Sheets, Airtable, Slack, and most other SaaS tools have Zapier integrations ready to go. After that it runs itself.
| Option | Best For |
|---|---|
| Claude Code + VS Code | You want custom code but don't have a developer. Claude writes it for you. |
| Direct Webhook | You have developers and want full control |
| n8n | You want flexibility and structured workflow transformations |
| Zapier | You want fast setup routing data into SaaS tools |