DM Champ Docs

Deals API

Een deal is één verkoopkans op je Sales Pipeline-bord — een titel, een waarde, de fase waarin deze zich bevindt, en optioneel de contactpersoon waartoe deze behoort en het teamlid aan wie deze is toegewezen. Deze handleiding behandelt het lezen en beheren van deals via de API.

Alle onderstaande voorbeelden tonen de ?apiKey= query-vorm in cURL en de X-API-Key header in JavaScript en Python — beide werken op elk eindpunt.


Het deal-object

{
  "id": "deal_abc123",
  "title": "Annual plan – Jane's Clinic",
  "description": "Asked for pricing on the annual plan.",
  "company": "Jane's Clinic",
  "stage": "stage-2",
  "value": 4800,
  "probability": 60,
  "priority": "high",
  "status": "open",
  "source": "whatsapp",
  "position": 0,
  "contact_id": "ctc_9f8e7d",
  "assigned_to": "usr_4a2b",
  "tags": ["clinic"],
  "close_date": "2026-10-01T00:00:00.000Z",
  "created_at": "2026-09-05T09:12:00.000Z",
  "updated_at": "2026-09-05T09:40:00.000Z",
  "stage_entered_at": "2026-09-05T09:40:00.000Z"
}

stage is de id van een van je pipeline-fasen — lees deze uit je pipeline-instellingen (GET /users/me/pipeline-settings). Tijdstempels zijn ISO 8601.


Deals weergeven

GET /deals — retourneert de deals in je account, de nieuwste eerst.

Queryparameters (allemaal optioneel): stage (een fase-id), contact_id, limit (standaard 50, max 200), cursor (van de next_cursor van de vorige pagina).

cURL

curl "https://api.dmchamp.com/v1/deals?apiKey=YOUR_API_KEY&stage=stage-2&limit=50"

JavaScript

const res = await fetch("https://api.dmchamp.com/v1/deals?stage=stage-2&limit=50", {
  headers: { "X-API-Key": "YOUR_API_KEY" },
});
const { deals, next_cursor } = await res.json();

Python

res = requests.get(
    "https://api.dmchamp.com/v1/deals",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={"stage": "stage-2", "limit": 50},
)
deals = res.json()["deals"]

Antwoord (200)

{ "success": true, "deals": [{ "id": "deal_abc123", "title": "Annual plan – Jane's Clinic", "...": "..." }], "next_cursor": null }

Een deal ophalen

GET /deals/{dealId}

curl "https://api.dmchamp.com/v1/deals/deal_abc123?apiKey=YOUR_API_KEY"

Antwoord (200)

{ "success": true, "deal": { "id": "deal_abc123", "title": "Annual plan – Jane's Clinic", "...": "..." } }

Een deal die niet bestaat, of die bij een ander account hoort, retourneert 404.


Een deal aanmaken

POST /dealstitle en stage zijn verplicht; stage moet een van de fase-id’s van je pipeline zijn.

curl -X POST "https://api.dmchamp.com/v1/deals?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "title": "Annual plan – Jane'"'"'s Clinic", "stage": "stage-1", "value": 4800, "contact_id": "ctc_9f8e7d" }'

Antwoord (201)

{ "success": true, "deal_id": "deal_abc123" }

Een deal bijwerken

PUT /deals/{dealId} — stuur alleen de velden die je wilt wijzigen (title, description, value, stage, status, priority, contact_id, …). value moet een getal zijn.

curl -X PUT "https://api.dmchamp.com/v1/deals/deal_abc123?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "value": 5200, "priority": "high" }'

Antwoord (200): { "success": true, "deal_id": "deal_abc123" }


Verplaats een deal naar een andere fase

POST /deals/{dealId}/move — body { "new_stage_id": "stage-3", "new_position": 0 }. Positie 0 plaatst de kaart bovenaan de kolom.

curl -X POST "https://api.dmchamp.com/v1/deals/deal_abc123/move?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "new_stage_id": "stage-3", "new_position": 0 }'

Antwoord (200): { "success": true, "deal_id": "deal_abc123", "stage": "stage-3", "position": 0 }


Een deal verwijderen

DELETE /deals/{dealId} — verwijdert de deal. Dit kan niet ongedaan worden gemaakt.

curl -X DELETE "https://api.dmchamp.com/v1/deals/deal_abc123?apiKey=YOUR_API_KEY"

Antwoord (200): { "success": true }


Volgende stappen

  • Verkooppijplijn — hoe fasen, fasetags en het bord werken.
  • Taken-API — taken kunnen aan een deal worden gekoppeld met deal_id.
  • Automatiseringen — de stappen Deals zoeken en Deal zoeken lezen dezelfde gegevens binnen een workflow.