💬 GPChat ← Toutes les APIs
Groupes

Groupes & Broadcast API

Créez et gérez des groupes ou des listes de diffusion GPChat, au nom d'un bot (clé API) ou d'un utilisateur ayant autorisé votre application (token OAuth2).

Ces endpoints acceptent soit une clé API (Authorization: Bearer gpk_live_..., scope groups:manage), soit un token OAuth2 (gpat_..., même scope) — l'un ou l'autre, jamais les deux. Une "liste de diffusion" est un groupe créé avec isBroadcast: true : mêmes endpoints, un seul créateur peut y écrire.

Créer un groupe ou une diffusion

POST /publicCreateGroup
ChampDescription
nameNom du groupe (requis)
descriptionOptionnel
membersTableau de userId à ajouter (le créateur est ajouté automatiquement)
isBroadcasttrue pour une liste de diffusion
photoUrlOptionnel
curl -X POST https://api.gpchat.cm/v1/groups \
  -H "Authorization: Bearer gpk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "Annonces produit", "isBroadcast": true, "members": ["UID1", "UID2"] }'

Supprimer un groupe

DELETE /publicDeleteGroup
curl -X DELETE https://api.gpchat.cm/v1/groups/delete \
  -H "Authorization: Bearer gpk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "groupId": "GROUP_ID" }'

Réservé aux administrateurs du groupe.

Ajouter des membres

POST /publicAddGroupMembers
curl -X POST https://api.gpchat.cm/v1/groups/members \
  -H "Authorization: Bearer gpk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "groupId": "GROUP_ID", "memberIds": ["UID3"] }'

Réservé aux administrateurs. Refusé si la limite de membres du groupe serait dépassée.

Retirer un membre

POST /publicRemoveGroupMember
curl -X POST https://api.gpchat.cm/v1/groups/members/remove \
  -H "Authorization: Bearer gpk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "groupId": "GROUP_ID", "memberId": "UID3" }'

Changer le rôle d'un membre

PATCH /publicUpdateGroupMemberRole
curl -X PATCH https://api.gpchat.cm/v1/groups/members/role \
  -H "Authorization: Bearer gpk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "groupId": "GROUP_ID", "memberId": "UID3", "isAdmin": true }'

Ne s'applique pas aux listes de diffusion (pas de notion d'administrateur).

Mettre à jour les détails du groupe

PATCH /publicUpdateGroupDetails
curl -X PATCH https://api.gpchat.cm/v1/groups/details \
  -H "Authorization: Bearer gpk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "groupId": "GROUP_ID", "name": "Nouveau nom", "sendMessages": false }'

Diffuser un message

POST /publicBroadcastGroupMessage
curl -X POST https://api.gpchat.cm/v1/groups/broadcast \
  -H "Authorization: Bearer gpk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "groupId": "GROUP_ID", "type": "text", "content": "Nouvelle annonce !" }'
Ceci diffuse aux membres du groupe/de la liste que vous gérez, pas à l'ensemble des utilisateurs GPChat — il n'existe pas de diffusion "à tout le monde" exposée publiquement.