Skip to content

Souscriptions de services

Les endpoints de souscriptions de services permettent a un partenaire de communiquer les services optionnels ou souscrits pour une chambre.

Ils sont reserves aux applications particulieres avec gestion de services par chambre. Un cas typique est le contexte hospitalier, ou certaines fonctionnalites de l'interface peuvent etre disponibles uniquement sur souscription.

Disponibilite

Ces endpoints ne sont pas necessaires pour les integrations standards.

Leur usage depend de deux conditions:

  • l'installation cible doit etre compatible avec la gestion de services par chambre;
  • le partenaire doit etre explicitement autorise a communiquer ces informations.

Les permissions CMS peuvent refuser l'acces meme avec un token Partner valide.

Modele indicatif

La structure exacte des objets depend du contrat convenu avec le partenaire. Un objet de souscription peut contenir par exemple:

json
{
  "code": "tv_premium",
  "label": "TV Premium",
  "status": "active",
  "start": "2026-04-28T08:00:00.000Z",
  "end": "2026-04-30T10:00:00.000Z"
}

Champs courants:

  • code: identifiant fonctionnel du service.
  • label: libelle affiche ou descriptif.
  • status: etat de la souscription, par exemple active.
  • start: date de debut de validite.
  • end: date de fin de validite.

Le champ end, lorsqu'il est fourni, peut etre utilise pour determiner la validite temporelle d'un service.

Ajouter des souscriptions

Ajoute une ou plusieurs souscriptions a une chambre.

http
POST /v1/areas/{areaExternalId}/data_services

Le corps conserve le format legacy: value est une chaine contenant un JSON array.

json
{
  "value": "[{\"code\":\"tv_premium\",\"label\":\"TV Premium\",\"status\":\"active\",\"start\":\"2026-04-28T08:00:00.000Z\",\"end\":\"2026-04-30T10:00:00.000Z\"}]"
}

Exemple

bash
curl -X POST \
  -H "Authorization: Bearer <cms-partner-token>" \
  -H "Content-Type: application/json" \
  -d '{"value":"[{\"code\":\"tv_premium\",\"label\":\"TV Premium\",\"status\":\"active\",\"start\":\"2026-04-28T08:00:00.000Z\",\"end\":\"2026-04-30T10:00:00.000Z\"}]"}' \
  https://partner.api.tvcast.fr/v1/areas/facility-001-101/data_services

Comportement

  • Chaque souscription ajoutee recoit un id genere par l'API.
  • Les nouvelles souscriptions sont ajoutees a data_services.
  • Les souscriptions existantes ne sont pas remplacees par defaut.

Reponse indicative

json
{
  "info": "service(s) added to room",
  "services": {
    "data_services": []
  }
}

Supprimer une souscription

Supprime une souscription de service d'une chambre a partir de son identifiant.

http
DELETE /v1/areas/{areaExternalId}/data_services/{serviceId}

Cette operation retire l'entree correspondante de data_services.

Exemple

bash
curl -X DELETE \
  -H "Authorization: Bearer <cms-partner-token>" \
  https://partner.api.tvcast.fr/v1/areas/facility-001-101/data_services/service-id

Reponse indicative

json
{
  "info": "service deleted from room",
  "id": "service-id",
  "remaining_services": []
}

Cycle de vie

Les souscriptions de services sont rattachees a l'occupation ou au cycle courant de la chambre.

Les operations suivantes reinitialisent data_services:

  • POST /v1/areas/{areaExternalId}/ lors de l'ouverture d'une chambre;
  • DELETE /v1/areas/{areaExternalId}/ lors de la fermeture d'une chambre.

Erreurs possibles

  • 400: payload legacy malforme ou champ value absent.
  • 403: partenaire non autorise, installation non compatible ou ressource refusee par le CMS.
  • 404: area inconnue ou non accessible.