POST
/api/v1/customers/attribute
Rattacher un client
Déclare qu'un client vient d'un ambassadeur. À appeler à l'inscription, avec le code lu dans l'URL ou dans le cookie posé par le SDK.
Portée requise : customers:write.
écrit dans votre projet
Le corps de la requête
| Champ | Type | Ce qu'il fait |
|---|---|---|
|
customerId
obligatoire |
string | L'identifiant du client chez vous, celui-là même que vous enverrez ensuite dans vos événements de revenu. |
|
referralCode
obligatoire |
string |
Le code lu dans le paramètre « ref » de l'URL, ou dans le cookie que le SDK a posé au clic.
⚠ Un code inconnu ne fait PAS échouer l'appel : la réponse rend « attributed: false » avec son motif. Un « ?ref= » périmé traîne des années dans les favoris et les emails ; il ne doit pas casser une inscription. |
| clickedAt | string | Date du contact d'origine, ISO 8601. Sert quand vous rattachez a posteriori, par exemple lors d'une reprise de données. |
Exemples
cURL
curl -X POST https://partnercut.fr/api/v1/customers/attribute \
-H "Authorization: Bearer $PARTNERCUT_KEY" \
-H "Content-Type: application/json" \
-d '{"customerId":"cus_demo_003","referralCode":"CLAIRE01"}'
PHP
$response = $client->request('POST', 'https://partnercut.fr/api/v1/customers/attribute', [
'headers' => ['Authorization' => 'Bearer '.$key],
'json' => [
'customerId' => 'cus_demo_003',
'referralCode' => 'CLAIRE01',
],
]);
// 201 : première écriture. 200 : rejeu, la même commission est rendue.
$created = 201 === $response->getStatusCode();
$data = $response->toArray()['data'];
JavaScript
const response = await fetch('https://partnercut.fr/api/v1/customers/attribute', {
method: 'POST',
headers: {
Authorization: `Bearer ${key}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"customerId": "cus_demo_003",
"referralCode": "CLAIRE01"
}),
})
// 201 : première écriture. 200 : rejeu, la même commission est rendue.
const created = response.status === 201
const { data } = await response.json()
Les réponses
| Code | Quand |
|---|---|
| 200 | Toujours 200, que le rattachement ait eu lieu ou non. Lisez « attributed » et « reason ». |
Ce qu'il faut savoir
Le rattachement est VERROUILLÉ une fois posé : un second appel avec un autre code ne le déplace pas. Sans cela, le dernier lien cliqué volerait la commission du premier.
La durée du rattachement est celle du programme. Au-delà, les revenus de ce client ne commissionnent plus.