Aller au contenu

Poser ou mettre à jour une préférence CRM pour un client

PUT
/v1/guests/{id}/preferences
curl --request PUT \
--url https://example.com/v1/guests/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/preferences \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "preferenceKeyId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "value": { "kind": "text", "value": "example" }, "source": "staff" }'

Upsert idempotent. La clé est identifiée par preferenceKeyId (UUID du référentiel). Le kind de la valeur doit correspondre au value_type de la clé (text/integer/boolean/enum). Pour les clés enum, la valeur doit être dans les options déclarées. Interdit sur un profil anonymisé (409).

id
required
string format: uuid

UUID du profil guest

Media type application/json
object
preferenceKeyId
required
string format: uuid
value
required

Valeur discriminée par kind (text/integer/boolean/enum)

object
kind
required
string
Allowed values: text integer boolean enum
value
required

La valeur correspondant au kind

source
string
default: staff
Allowed values: staff guest_self imported inferred

Préférence posée

Media type application/json
object
data
required
object
updated
required
boolean
Example
{
"data": {
"updated": true
}
}

Type de valeur incorrect ou valeur enum hors options

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Profil guest ou clé de préférence introuvable

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Profil anonymisé (GUEST_PROFILE_ANONYMIZED)

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}