BookatlasTwo-Day MuleSoft → Salesforce Bootcamp
30 / 1048 · Module 2 — Building a Real Mule Flow← prev⊞ allnext →

2.11Build the API response

We don't want the consumer receiving some raw Salesforce connector object.

Instead:

%dw 2.0
output application/json
---
{
    customerId: vars.originalCustomer.customerId,
    salesforceId: payload[0].id,
    success: payload[0].success
}

Response:

{
  "customerId": "CUST-10042",
  "salesforceId": "001xx000003DGbYAAW",
  "success": true
}

This is an important architectural principle:

External API contract

should NOT equal

Salesforce internal contract

Because tomorrow Salesforce may change, or the backend may become:

Dynamics

or:

SAP

Your consumer shouldn't care.