Testen
De teststand is geen aparte omgeving met halve functionaliteit. Het is dezelfde API, hetzelfde schema en dezelfde bestelflow; alleen de uitkomst blijft binnenskamers.
Wat er anders is
- Name
Kaarten dragen test: true- Description
Zo zie je in elk antwoord en in elke webhook of je in de teststand zit.
- Name
Alle post gaat naar je testadres- Description
Het besteladres, het klantaccount dat wordt aangemaakt, de gegevens waar onze mailflows op aanhaken: alles wijst naar het adres dat je bij ons hebt opgegeven, niet naar de familie.
- Name
Niets telt mee- Description
Testkaarten blijven buiten rapportages en facturatie.
Zonder ingesteld testadres weigeren wij een testbestelling. Dat is opzet: liever geen bestelling dan post bij een familie die niets besteld heeft. Heb je nog geen testadres, mail ons.
De hele flow doorlopen
Het enige stuk dat je niet met een API-verzoek kunt nadoen is het bestellen: dat gebeurt door de familie in de customiser. Dat is meteen de reden om het één keer helemaal te doen: dan zie je de statusovergangen en de webhooks echt langskomen.
- Maak een kaart aan met de testsleutel.
- Vraag een sessielink op met
target: CUSTOMIZERen open die zelf. - Vul de kaart in zoals een familie dat zou doen en bestel.
- Kijk wat er bij je binnenkomt:
cards/orderedencards/activated. - Vraag de kaart op en controleer dat
statusACTIVEis encardUrlgevuld.
Een testkaart in één verzoek
curl -X POST https://memoriam.rouwkaart-online.nl/partner/api/2026-10/graphql \
-H "Content-Type: application/json" \
-H "X-Rouwkaart-Access-Token: {access_token}" \
-d '{
"query": "mutation CreateCard($input: CardCreateInput!) { cardCreate(input: $input) { card { id test status } userErrors { field message code } } }",
"variables": {
"input": {
"externalDossierId": "TEST-001",
"deceased": {
"firstName": "Test",
"lastName": "Persoon",
"dateOfBirth": "1940-05-01",
"dateOfDeath": "2026-09-18"
},
"familyContact": {
"name": "Testfamilie",
"email": "familie@voorbeeld.nl"
}
}
}
}'
Antwoord
{
"data": {
"cardCreate": {
"card": {
"id": "gid://rouwkaart/Card/4b197310-0e94-4bef-97e0-957bed1803f6",
"test": true,
"status": "DRAFT"
},
"userErrors": []
}
}
}
familyContact.email mag gerust een verzonnen adres zijn. In de teststand
gaat de post naar jouw testadres; dit veld blijft alleen op de kaart staan.
Wat je wilt hebben getest
Een lijstje dat zich in de praktijk heeft bewezen. De eerste drie gaan vaak mis.
- Name
Een dossiernummer dat al bestaat- Type
- userError TAKEN
- Description
Stuur twee keer dezelfde
externalDossierId. Je code hoort dit te herkennen als "de vorige poging is wél aangekomen", niet als een storing.
- Name
Een sessielink twee keer openen- Type
- 410
- Description
De tweede keer is hij op. Toon je gebruiker dan een knop om een nieuwe op te halen, geen foutpagina.
- Name
Een webhook die twee keer komt- Type
- ontdubbelen
- Description
Stuur dezelfde melding twee keer naar je eigen endpoint en controleer dat er niets dubbel gebeurt.
- Name
Een onbereikbare portretfoto- Type
- userError UNPROCESSABLE
- Description
Geef een
photoUrlop die 404 geeft. De kaart hoort dan níét te ontstaan.
- Name
De livestreamlink na het bestellen- Type
- lukt
- Description
Dat moet kunnen; het is precies waarom dat veld na het bestellen open blijft.
- Name
Het thema na het bestellen- Type
- userError IMMUTABLE
- Description
Dat mag niet meer.
Opruimen
Testkaarten blijven staan tot je ze weghaalt; wij ruimen ze niet automatisch op. Heb je er een flinke stapel van gemaakt, mail ons dan even. Eén regel en ze zijn weg.
Van test naar live
Als bovenstaande allemaal doet wat je verwacht, is er maar één ding dat verandert: de sleutel. Zet rk_live_… in je omgevingsvariabelen en je draait live.
Zet ze niet allebei tegelijk in dezelfde omgeving. De meest gemaakte fout bij
het live gaan is een testsleutel die is blijven staan. Dan denkt iedereen dat
het werkt, tot blijkt dat de familie nooit iets heeft gekregen. Elk antwoord
draagt test; laat je monitoring daarop kijken.