Messages
Un message appartient à un seul conteneur. Listez les messages de toute la plateforme, lisez-en un en détail, ou fusionnez de nouveaux champs dans ses data et privateData.
https://client-api.v5.livstick.com/api/v3
Opérations
C’est ici que se lisent les messages d’un conteneur en mode galerie — un seul appel pour toute la plateforme, filtrable jusqu’à un conteneur ou un groupe de codes précis.
Méthode GET
/messages
Scope
messages:read
Liste, avec pagination, les messages de la plateforme authentifiée.
Filtrez par crid pour obtenir tous les messages d’un conteneur — c’est ainsi qu’on lit tous les messages d’un conteneur en mode galerie — ou par codeGroupId pour restreindre la liste à un groupe de codes.
Paramètres
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
limit |
Paramètre de requête | integer |
Facultatif | Nombre maximal d’éléments à renvoyer. 50 par défaut, 200 au maximum. |
skip |
Paramètre de requête | integer |
Facultatif | Nombre d’éléments à ignorer (décalage de pagination). 0 par défaut. |
crid |
Paramètre de requête | string |
Facultatif | Filtre les messages par crid de conteneur. |
codeGroupId |
Paramètre de requête | string |
Facultatif | Filtre les messages par objectId de groupe de codes. |
redeemCode |
Paramètre de requête | string |
Facultatif | Filtre les messages par code d’échange canonique. |
order |
Paramètre de requête | string |
Facultatif | Champ de tri, préfixé par - pour un ordre décroissant. -createdAt par défaut. |
Réponse
{
"items": [
{
"objectId": "msg789",
"state": "released",
"type": 0,
"createdAt": "2025-01-15T10:30:00.000Z",
"crid": "ORDER-123",
"urid": "abc123xyz9",
"codeGroupId": "grp456",
"videoUrl": "https://cdn.example/video.mp4",
"thumbUrl": "https://cdn.example/thumb.jpg",
"redeemCode": "RDM-4F2A",
"data": { "senderName": "John" },
"privateData": { "orderId": "12345" },
"analysisData": { "sentiment": "positive" },
"language": "fr"
}
],
"total": 142,
"limit": 50,
"skip": 0
}
Méthode GET
/messages/{messageId}
Scope
messages:read
Récupère le détail complet d’un message.
Renvoie data, privateData et analysisData en intégralité, ainsi que les dates de la chronologie que l’endpoint de liste omet.
Paramètres
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
messageId |
Chemin | string |
Requis | Identifiant unique du message. |
Réponse
{
"objectId": "msg789",
"state": "released",
"type": 0,
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-01-16T14:00:00.000Z",
"crid": "ORDER-123",
"urid": "abc123xyz9",
"codeGroupId": "grp456",
"videoUrl": "https://cdn.example/video.mp4",
"thumbUrl": "https://cdn.example/thumb.jpg",
"data": { "senderName": "John", "senderEmail": "john@example.com" },
"privateData": { "orderId": "12345", "internalNote": "VIP" },
"analysisData": { "sentiment": "positive", "score": 0.95 },
"language": "fr",
"scheduledAt": "2025-02-14T00:00:00.000Z",
"activatedAt": "2025-01-15T10:31:00.000Z",
"viewedAt": "2025-01-20T18:00:00.000Z"
}
Méthode PATCH
/messages/{messageId}
Scope
messages:write
Fusionne des champs dans les data et privateData d’un message.
Les clés fournies écrasent les clés existantes ; les clés omises sont conservées. Si un privateDataSchema est défini sur le groupe de codes ou la plateforme, privateData est validé par rapport à ce schéma avant l’application de la fusion.
Paramètres
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
messageId |
Chemin | string |
Requis | Identifiant unique du message. |
data |
Corps | object |
Facultatif | Fusionné dans message.data. |
privateData |
Corps | object |
Facultatif | Fusionné dans message.privateData, après validation par le schéma du groupe de codes ou de la plateforme s’il en existe un. |
Réponse
{
"result": "ok"
}