Documentation J+SERVICES Guides Référence API

Contrat de l’API de Licences Silo (jservices-api)

Ce document décrit la structure de l’artefact de licence retourné par le central J+SERVICES aux silos partenaires.

L’artefact de licence est signé à l’aide de l’algorithme cryptographique Ed25519.

Route de récupération de la licence

Structure de l’Artefact

{
  "algorithm": "ed25519",
  "payload": {
    "license_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
    "provider_slug": "demo-partner",
    "services": [
      "pwa",
      "radius",
      "tiketmomo",
      "vpn"
    ],
    "options": {
      "in_app_store": true,
      "white_label": false
    },
    "licences": {
      "VPN": 100,
      "TIKETMOMO": 50,
      "MIKHMOAI_PRO": 20,
      "PWA": 50
    },
    "counted_as": "router",
    "issued_at": "2026-10-02T10:00:00.000Z",
    "expires_at": "2026-10-03T10:00:00.000Z",
    "grace_hours": 72,
    "stack_version_min": "1.0.0",
    "domains": [
      "app.demo-partner.com",
      "portal.demo-partner.com"
    ],
    "service_expires_at": {
      "pwa": "2027-10-02T10:00:00.000Z",
      "radius": "2027-10-02T10:00:00.000Z",
      "tiketmomo": "2027-10-02T10:00:00.000Z",
      "vpn": "2027-10-02T10:00:00.000Z"
    }
  },
  "signature": "base64url_encoded_signature_here"
}

Champs du Payload

Validation de la signature

La signature est effectuée sur la chaîne JSON canonique du payload. Les clés d’un objet JSON canonique doivent être triées par ordre alphabétique et sans espaces inutiles. L’application consommatrice (ex: PWA ou backend PWA) doit vérifier que la signature correspond au JSON canonique du payload, à l’aide de la clé publique Ed25519 du serveur central.