n8n-nodes-salla-n8nai
v0.3.159
Published
Salla nodes for n8n (Actions + Triggers)
Maintainers
Readme
n8n-nodes-salla
Community nodes for n8n that integrate Salla stores through the N8NDesigner Actions API. The package delivers two production-ready actions and two webhook triggers aligned with the branding and behaviour requested by N8NDesigner.
Recent Updates
- 0.2.4 — Removed the optional webhook path override from Salla Triggers so executions always target the default
/salla/<event>suffix.
Requirements
- Node.js 18 or newer
- n8n 1.0 or newer (self-hosted or desktop)
- Access to the N8NDesigner backend with a valid mak_... token and Salla merchant ID
Installation & Build
ash
npm install
npm run build
The build step compiles TypeScript sources into dist/ using sup. Publish with pm publish or generate a tarball via pm pack.
Credentials Setup
Create a credential named Salla (N8NDesigner Actions) inside n8n and supply:
- Base URL: defaults to https://app.n8ndesigner.com
- Salla Merchant ID: e.g. 1596416913
- MAK Key: backend-issued bearer token (mak_...)
Every node automatically attaches Authorization: Bearer and Content-Type: application/json headers.
Actions
Update Order Status
Updates a Salla order workflow state by slug or numeric status ID and supports an optional note (max 500 characters). Either slug or status_id is required; if both are present they are sent together.
Example curl equivalent (QA data):
ash
curl -X PATCH 'https://app.n8ndesigner.com/api/actions/orders/562285006' \
-H 'Authorization: Bearer mak_xxxxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
salla_merchant_id: 1596416913,
slug: under_review,
note: Order triaged from n8n
}'
Delete Customer
Permanently deletes a customer. The node sends the merchant ID in both the body and query string so it works with the current and future controllers.
ash
curl -X DELETE 'https://app.n8ndesigner.com/api/actions/customers/1924459692?salla_merchant_id=1596416913' \
-H 'Authorization: Bearer mak_xxxxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
salla_merchant_id: 1596416913
}'
Both action nodes return a normalized payload:
json
{
ok: true,
status: 200,
data: { ... },
raw: { ... }
}
Failures surface the backend-provided message (including Arabic validation strings) without additional wrapping, and each request times out after 12 seconds with up to two exponential retries on 429, 5xx, or transient network errors.
Triggers
Salla Triggers
One unified webhook node that subscribes to the full Salla event catalogue exposed by the merchant proxy. Pick the desired event from the Trigger On dropdown (orders, customers, products, shipping, offers, and more) and the node automatically listens on /webhook/<auto-id>/salla/<event>. Every delivery emits a normalized payload:
{
"ok": true,
"event": "order.status.updated",
"merchant": "1596416913",
"created_at": "2025-10-26T17:49:35.000Z",
"data": { ... original body or body.data ... },
"raw": {
"headers": { "X-Salla-Event": "order.status.updated", ... },
"body": { ...full request body... },
"query": { ... }
}
}Incoming notifications are validated against the selected event, de-duplicated by X-Salla-Event-Id (10 minute TTL), and acknowledgements for ignored or duplicate payloads return HTTP 200 with a descriptive body.
The Webhook Path field is optional—leave it blank to keep the default /salla/<event> suffix, or provide your own (it will be slugified and appended after /webhook/<auto-id>/ when the workflow is saved).
Deprecated triggers
- Customer Created (Salla) — Deprecated (use
Salla Triggerswithcustomer.created) - Order Status Updated (Salla) — Deprecated (use
Salla Triggerswithorder.status.updated)
Existing workflows keep working, but new automations should migrate to Salla Triggers.
Proxy Fallback Helper
For QA you can call the legacy merchant proxy through the shared helper:
s
const proxyResponse = await client.proxy({
method: 'GET',
path: '/v2/customers',
payload: { keyword: '[email protected]' },
});
The helper automatically targets POST https://app.n8ndesigner.com/api/merchant/salla and reuses the timeout and retry policy.
Testing Notes
QA references supplied by N8NDesigner:
- SALLA_MID=1596416913
- ORDER_ID=562285006
- customer_id=1924459692
Use the action nodes to update the order to under_review (expect HTTP 200 within ~2 seconds) and to delete the disposable customer (expect HTTP 204). Trigger payload samples live under ests/Fixtures/salla/*.json (add-ons for future test automation).
Packaging
Run pm pack to produce an npm tarball suitable for publishing or direct installation inside n8n.
