Challenges/ch-01-customer-profile-normalization-crm-to-internal-api
DataWeaveBEGINNER

Customer Profile Normalization — CRM to Internal API

A consumer calls your system's REST endpoint with a customer profile sourced from NexaCRM — a deeply nested JSON structure that your internal Customer Management API cannot consume directly. In this challenge you will flatten the nested payload into a single-level object the downstream API accepts. You will practice DataWeave's multi-value selector and range selector, two tools that appear constantly when working with arrays of typed objects in real CRM integrations.

// READY TO BEGIN

Make it
count.

  • 2 attempts on every challenge
  • XP points & leaderboard scored
  • Public profile & shared trail
  • Newsletter weekly with API replay
ƒ INTEGRATION FLOWctrl + scroll to zoom
// Built by practitioners

The fastest way
to learn integration.

Every challenge ships with a real-world payload, a graded test suite, and a walkthrough by a practitioner. No surface-level theory — just problems, solved.

Challenges
Modules
// You're reading in preview mode

You can read everything.
Coding requires an account.

🔒 IDE locked · sign in to enable
%dw 2.0
output application/json
---
payload
// Sign up to run, submit, and earn XP on this challenge
// Be first to rate this challenge!SCROLL TO READ ↓

The fastest way
to learn integration.

01.
Production payloads
Real CSV/JSON/XML you'll meet on day one — null fields, mixed casing, partial records.
02.
Design problems
What practitioners actually solve — null-safety, idempotency, retries, batch boundaries.
03.
Edge cases that break
Empty arrays, type coercion, deeply nested transforms, locale-specific dates.
CHALLENGES
MODULES
// Free forever · No credit card

Sign up.
Then code.

Free accounts get 3 attempts per challenge, full XP, and your trail progress synced across devices.

▶ Sign up freeHave an account? Sign in →
// WHAT YOU'LL BUILDHOW IT WORKS ↓
01.
Live DataWeave editor
Real DWL 2.0 IDE with helpers, modules, syntax highlighting.
02.
Test cases run on real runner
Same Go runner used in prod. Diffs show exactly which fields fail.
03.
3 graded attempts
Submit when you're ready. Score persists. Solution unlocks after pass or last attempt.
04.
Helpers & multi-module DWL
Bring in reusable %dw modules. Import, export, compose.
05.
XP & leaderboard
Points + XP awarded per challenge. Trail progress synced.
06.
Production-style payloads
Real CSV/JSON/XML — null fields, mixed casing, partial records.