Aller au contenu

Fonctions SDK et valeurs renvoyées dans neuf langages

Consultez les fonctions publiques Launch, leurs paramètres, résultats et échecs par langage. Les paramètres facultatifs et valeurs par défaut suivent la version source correspondante.

Cette page décrit les adaptateurs de compte Launch. Consultez la référence SDK officielle pour les API Licentivo d’autorisation, de comptage et de fonctionnement hors ligne.

Licentivo SDK · Référence des fonctions

L’état de session décrit uniquement le compte ; protégez chaque exécution métier.

Le stockage mémoire est utilisé par défaut. Mémoriser une connexion nécessite un stockage persistant protégé, distinct du cache SDK.

La restauration exige une confirmation en ligne. Launch ne choisit jamais le mode hors ligne après panne réseau ; le SDK officiel vérifie les droits.

Go

Source correspondante · v0.1.6 · application.go · runtime.go · client.go · store.go

Erreurs et échecs: error != nil; errors.Is(err, launchclient.ErrNoSession); errors.As(err, &apiError)

Connect
Connect(merchantOrigin, productID, licentivoProductID string, trustedKeys map[string]string, options Config) → (*Application, error)
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • trustedKeys / trusted_keys: Correspondance entre identifiants de clés et clés publiques pour vérifier les autorisations signées du SDK officiel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
(*Application, error)

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application.Login
Login(ctx context.Context, email, password string) → (State, error)
Rôle
Connecte le compte client, obtient une attestation d’identité temporaire et démarre le SDK officiel d’autorisation.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
Résultat
(State, error)

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

Application.Restore
Restore(ctx context.Context) → (State, error)
Rôle
Lit la session mémorisée, confirme le compte en ligne, obtient une nouvelle attestation et démarre le SDK officiel.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
(State, error)

Renvoie l’état du compte ; ErrNoSession ou NO_SESSION signifie aucune session. Traitez les autres erreurs séparément.

Application.RunFeature
RunFeature(feature string, action func() error) → error
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application.Logout
Logout(ctx context.Context) → error
Rôle
Arrête l’autorisation locale, déconnecte le SDK officiel puis révoque la session Launch. Les tâches distantes inachevées restent à réessayer.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application.ReleaseDevice
ReleaseDevice(ctx context.Context) → error
Rôle
Entrée compatible de déconnexion explicite, avec le même processus de déconnexion du compte et de l’appareil que Logout.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application.Close
Close() → void
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
void

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

API avancées et de compatibilité

NewApplication
NewApplication(config Config) → (*Application, error)
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
(*Application, error)

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

NewApplicationFromFiles
NewApplicationFromFiles(launchPath, productPath string, options Config) → (*Application, error)
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • launchPath, productPath: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
(*Application, error)

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

LoadPublicConfig
LoadPublicConfig(path string) → (PublicConfig, error)
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • path: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
(PublicConfig, error)

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

NewRuntime
NewRuntime(product ProductConfig, runtime RuntimeConfig) → (Runtime, error)
Rôle
Crée l’adaptateur du SDK officiel pour les intégrations avancées ; l’attestation reste en mémoire.
Paramètres
  • product, runtime: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
(Runtime, error)

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

New
New(origin string, allowLocalHTTP bool) → (*Client, error)
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • allowLocalHTTP: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
(*Client, error)

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Client.WithToken
WithToken(token string) → *Client
Rôle
Renvoie une copie du client avec le jeton fourni, réservée aux serveurs de confiance.
Paramètres
  • token: Jeton de session Launch, accessible uniquement aux interfaces de session bas niveau ou de stockage chiffré.
Résultat
*Client

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Client.Login
Login(ctx context.Context, email, password string) → (User, error)
Rôle
Authentifie le compte et renvoie ses informations ou sa session, sans démarrer le moteur d’autorisation.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
Résultat
(User, error)

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

Client.LoginSession
LoginSession(ctx context.Context, email, password string) → (Session, error)
Rôle
Authentifie le compte et renvoie ses informations ou sa session, sans démarrer le moteur d’autorisation.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
Résultat
(Session, error)

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

Client.CurrentUser
CurrentUser(ctx context.Context) → (User, error)
Rôle
Consulte le compte actuel ; le succès n’autorise pas les fonctions protégées.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
(User, error)

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

Client.Identity
Identity(ctx context.Context, product, environment string) → (Identity, error)
Rôle
Obtient une attestation d’identité à usage unique et le routage public, sans licence ni droit de fonction.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
  • product: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
Résultat
(Identity, error)

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

Client.SignOut
SignOut(ctx context.Context) → error
Rôle
Révoque la session Launch et efface le jeton du client, sans remplacer la déconnexion de l’appareil du SDK officiel.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Client.Credential
Credential(ctx context.Context, product, environment string) → (Credential, error)
Rôle
Ancienne API conservée : le protocole de licence permanente a été retiré, donc les appels échouent. Utilisez Application.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
  • product: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
Résultat
(Credential, error)

Échoue toujours ; migrez vers l’échange d’identité de compte.

Client.CredentialWithRetry
CredentialWithRetry(ctx context.Context, product, environment string, policy RetryPolicy) → (Credential, error)
Rôle
Ancienne API conservée : le protocole de licence permanente a été retiré, donc les appels échouent. Utilisez Application.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
  • product: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • policy: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
(Credential, error)

Échoue toujours ; migrez vers l’échange d’identité de compte.

NewSystemSessionStore
NewSystemSessionStore(directory string) → (SessionStore, error)
Rôle
Crée un stockage persistant protégé ; récupérez la clé dans le coffre d’identifiants du système.
Paramètres
  • directory: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
(SessionStore, error)

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

ProtectDirectory
ProtectDirectory(directory string) → error
Rôle
Limite l’accès au dossier à l’utilisateur Windows actuel ou aux permissions privées des autres plateformes.
Paramètres
  • directory: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

ServiceUnavailable
ServiceUnavailable(err error) → bool
Rôle
Identifie une indisponibilité temporaire ; cela n’autorise jamais à travailler hors ligne.
Paramètres
  • err: Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
bool

Renvoie une classification booléenne, pas une autorisation.

APIError.Error / TransportError.Error
Error() → string
Rôle
Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
string

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

TransportError.Unwrap
Unwrap() → error
Rôle
Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
error

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

MemoryStore.Load / SessionStore.Load
Load(ctx context.Context, key string) → ([]byte, error)
Rôle
Charge un compte par clé isolée ; les données secrètes sont réservées au SDK.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
([]byte, error)

Renvoie le compte secret ; son absence donne une valeur vide ou ErrNoSession selon le langage.

MemoryStore.Save / SessionStore.Save
Save(ctx context.Context, key string, value []byte) → error
Rôle
Enregistre atomiquement le compte sous sa clé isolée.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

MemoryStore.Delete / SessionStore.Delete
Delete(ctx context.Context, key string) → error
Rôle
Supprime le compte sans supprimer le cache d’autorisation ni le journal de déconnexion du SDK officiel.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.Start
Start(ctx context.Context, onError func(error)) → error
Rôle
Démarre la vérification et les tâches SDK officielles ; connexion et protection des fonctions restent séparées.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
  • onError: Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.RunFeature
RunFeature(feature string, action func() error) → error
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.Deactivate
Deactivate(ctx context.Context) → error
Rôle
Déconnecte l’appareil via le SDK officiel ; l’application révoque séparément la session Launch.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
error

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.Close
Close() → void
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
void

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

Python

Source correspondante · v0.1.6 · client.py

Erreurs et échecs: APIError.code / .status / .retry_after / .retryable; ValueError; SDK exceptions

Application.connect
Application.connect(merchant_origin, product_id, licentivo_product_id, trusted_keys, environment="live", **kwargs) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • trustedKeys / trusted_keys: Correspondance entre identifiants de clés et clés publiques pour vérifier les autorisations signées du SDK officiel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application.login
login(email, password, *, pending_attempts=3) → Application (self)
Rôle
Connecte le compte client, obtient une attestation d’identité temporaire et démarre le SDK officiel d’autorisation.
Paramètres
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
  • pending_attempts: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application (self)

Renvoie cette instance d’application, pas des informations de compte ni une autorisation.

Application.restore
restore() → bool
Rôle
Lit la session mémorisée, confirme le compte en ligne, obtient une nouvelle attestation et démarre le SDK officiel.
Résultat
bool

true indique une restauration réussie ; false indique aucune session restaurable. Refus, expiration et problèmes réseau produisent une erreur.

Application.run_feature
run_feature(name, action) → T
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
T

Renvoie le résultat du rappel métier ; les refus et exceptions sont signalés comme erreurs.

Application.logout
logout() → bool
Rôle
Arrête l’autorisation locale, déconnecte le SDK officiel puis révoque la session Launch. Les tâches distantes inachevées restent à réessayer.
Résultat
bool

true confirme la déconnexion ; false indique une déconnexion distante ou révocation d’appareil en attente. Le stockage peut aussi produire une erreur.

Application.release_device
release_device() → bool
Rôle
Entrée compatible de déconnexion explicite, avec le même processus de déconnexion du compte et de l’appareil que Logout.
Résultat
bool

true confirme la déconnexion ; false indique une déconnexion distante ou révocation d’appareil en attente. Le stockage peut aussi produire une erreur.

Application.close
close() → None
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
None

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

Application.__enter__ / __exit__
with Application.connect(...) as app: ... → Application / None
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
Application / None

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

API avancées et de compatibilité

Application.__init__
Application(origin, product_id, product_config, environment="live", store=None, runtime_factory=None, cache_dir=None, sleep=time.sleep, opener=None) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • product_config: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application.from_files
Application.from_files(launch_config, product_config, **kwargs) → Application
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • launch_config, product_config: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

MemoryStore
MemoryStore() → MemoryStore
Rôle
Crée un stockage de session limité au processus actuel.
Résultat
MemoryStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

WindowsDPAPIStore
WindowsDPAPIStore(directory=None) → WindowsDPAPIStore
Rôle
Crée un stockage persistant protégé ; récupérez la clé dans le coffre d’identifiants du système.
Paramètres
  • directory: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
WindowsDPAPIStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

APIError
APIError(code, status=0, retry_after=0) → APIError
Rôle
Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Paramètres
  • code, status, retry_after: Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
APIError

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

MemoryStore.load / WindowsDPAPIStore.load
load(key) → bytes | None
Rôle
Charge un compte par clé isolée ; les données secrètes sont réservées au SDK.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
bytes | None

Renvoie le compte secret ; son absence donne une valeur vide ou ErrNoSession selon le langage.

MemoryStore.save / WindowsDPAPIStore.save
save(key, value) → None
Rôle
Enregistre atomiquement le compte sous sa clé isolée.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
None

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

MemoryStore.delete / WindowsDPAPIStore.delete
delete(key) → None
Rôle
Supprime le compte sans supprimer le cache d’autorisation ni le journal de déconnexion du SDK officiel.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
None

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

C#

Source correspondante · v0.1.6 · Application.cs · SessionStore.cs

Erreurs et échecs: await Task / ValueTask; LaunchException.Code / .Status / .RetryAfterSeconds / .Retryable

Application.Connect
Application.Connect(string merchantOrigin, string productId, string licentivoProductId, Dictionary<string,string> trustedKeys, string environment="live", ISessionStore? store=null, string? cacheDirectory=null) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • trustedKeys / trusted_keys: Correspondance entre identifiants de clés et clés publiques pour vérifier les autorisations signées du SDK officiel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • store, cacheDirectory: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application.Login
Login(string email, string password, int pendingAttempts=3, CancellationToken ct=default) → Task
Rôle
Connecte le compte client, obtient une attestation d’identité temporaire et démarre le SDK officiel d’autorisation.
Paramètres
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
  • pendingAttempts: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Task

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application.Restore
Restore(CancellationToken ct=default) → Task<bool>
Rôle
Lit la session mémorisée, confirme le compte en ligne, obtient une nouvelle attestation et démarre le SDK officiel.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Task<bool>

true indique une restauration réussie ; false indique aucune session restaurable. Refus, expiration et problèmes réseau produisent une erreur.

Application.RunFeature
RunFeature(string feature, Func<Task> action) → Task
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
Task

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application.Status
Status() → AuthorizationStatus? (null: runtime absent)
Rôle
Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.
Résultat
AuthorizationStatus? (null: runtime absent)

Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.

Application.Logout
Logout(CancellationToken ct=default) → Task
Rôle
Arrête l’autorisation locale, déconnecte le SDK officiel puis révoque la session Launch. Les tâches distantes inachevées restent à réessayer.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Task

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application.ReleaseDevice
ReleaseDevice(CancellationToken ct=default) → Task
Rôle
Entrée compatible de déconnexion explicite, avec le même processus de déconnexion du compte et de l’appareil que Logout.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Task

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application.DisposeAsync
DisposeAsync() → ValueTask
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
ValueTask

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

API avancées et de compatibilité

Application
Application(string origin, string productId, Config productConfig, string environment="live", ISessionStore? store=null, string? cacheDirectory=null, HttpMessageHandler? handler=null, Func<Config,IRuntime>? runtimeFactory=null) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productId: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • productConfig: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application.FromFiles
Application.FromFiles(string launchPath, string productPath, ISessionStore? store=null) → Application
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • launchPath, productPath: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • store: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

MemoryStore
new MemoryStore() → MemoryStore
Rôle
Crée un stockage de session limité au processus actuel.
Résultat
MemoryStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

WindowsDPAPIStore
new WindowsDPAPIStore(string? directory=null) → WindowsDPAPIStore
Rôle
Crée un stockage persistant protégé ; récupérez la clé dans le coffre d’identifiants du système.
Paramètres
  • directory: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
WindowsDPAPIStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

LaunchException
new LaunchException(string code, int status=0, int retryAfterSeconds=0) → LaunchException
Rôle
Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Paramètres
  • code, status, retryAfterSeconds: Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
LaunchException

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

ISessionStore.Load / MemoryStore.Load / WindowsDPAPIStore.Load
Load(string key) → byte[]?
Rôle
Charge un compte par clé isolée ; les données secrètes sont réservées au SDK.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
byte[]?

Renvoie le compte secret ; son absence donne une valeur vide ou ErrNoSession selon le langage.

ISessionStore.Save / MemoryStore.Save / WindowsDPAPIStore.Save
Save(string key, byte[] value) → void
Rôle
Enregistre atomiquement le compte sous sa clé isolée.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

ISessionStore.Delete / MemoryStore.Delete / WindowsDPAPIStore.Delete
Delete(string key) → void
Rôle
Supprime le compte sans supprimer le cache d’autorisation ni le journal de déconnexion du SDK officiel.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

IRuntime.Start
Start(CancellationToken ct) → Task
Rôle
Démarre la vérification et les tâches SDK officielles ; connexion et protection des fonctions restent séparées.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Task

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

IRuntime.Status
Status() → AuthorizationStatus
Rôle
Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.
Résultat
AuthorizationStatus

Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.

IRuntime.RunFeature
RunFeature(string feature, Func<Task> action) → Task
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
Task

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

IRuntime.Deactivate
Deactivate(CancellationToken ct) → Task
Rôle
Déconnecte l’appareil via le SDK officiel ; l’application révoque séparément la session Launch.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Task

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

IRuntime.DisposeAsync
DisposeAsync() → ValueTask
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
ValueTask

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

Java

Source correspondante · v0.1.6 · Launch.java · EncryptedFileStore.java

Erreurs et échecs: throws Exception; Launch.Failure.code / .status / .requestID / .retryAfterMillis / .transport; char[] password

Launch.connect
Launch.connect(String merchantOrigin, String productId, String licentivoProductId, Map<String,String> trustedKeys, String environment) → Launch
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • trustedKeys / trusted_keys: Correspondance entre identifiants de clés et clés publiques pour vérifier les autorisations signées du SDK officiel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
Résultat
Launch

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Launch.login
login(String email, char[] password) → State
Rôle
Connecte le compte client, obtient une attestation d’identité temporaire et démarre le SDK officiel d’autorisation.
Paramètres
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
Résultat
State

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

Launch.restore
restore() → State
Rôle
Lit la session mémorisée, confirme le compte en ligne, obtient une nouvelle attestation et démarre le SDK officiel.
Résultat
State

Renvoie l’état du compte ; ErrNoSession ou NO_SESSION signifie aucune session. Traitez les autres erreurs séparément.

Launch.runFeature
runFeature(String feature, Client.FeatureAction action) → void
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Launch.logout
logout() → void
Rôle
Arrête l’autorisation locale, déconnecte le SDK officiel puis révoque la session Launch. Les tâches distantes inachevées restent à réessayer.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Launch.releaseDevice
releaseDevice() → void
Rôle
Entrée compatible de déconnexion explicite, avec le même processus de déconnexion du compte et de l’appareil que Logout.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Launch.close
close() → void
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
void

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

API avancées et de compatibilité

Launch
new Launch(Config config, Map<String,Object> product, Path cacheRoot [, Store store, Transport transport, RuntimeFactory factory, Sleeper sleeper]) → Launch
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • config, product: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • cacheRoot: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • store, transport, factory, sleeper: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Launch

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Launch.Config
new Launch.Config(String merchantOrigin, String launchProductID, String licentivoProductID, String environment) → Config
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
Résultat
Config

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

Launch.Config.load
Launch.Config.load(Path path) → Config
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • path: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
Config

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

Launch.readPublic
Launch.readPublic(Path path) → Map<String,Object>
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • path: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
Map<String,Object>

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

Launch.MemoryStore
new Launch.MemoryStore() → MemoryStore
Rôle
Crée un stockage de session limité au processus actuel.
Résultat
MemoryStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

EncryptedFileStore
new EncryptedFileStore(Path directory, SecretKey vaultKey) → EncryptedFileStore
Rôle
Crée un stockage persistant protégé ; récupérez la clé dans le coffre d’identifiants du système.
Paramètres
  • directory: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • vaultKey: Clé de chiffrement issue du coffre système ; ne la stockez pas avec les données chiffrées.
Résultat
EncryptedFileStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Launch.HTTPTransport.request
request(String method, URI uri, String bearer, byte[] body) → Response
Rôle
Envoie les requêtes HTTP du compte et renvoie statut, en-têtes ou corps brut, sans décider de l’autorisation.
Paramètres
  • method, uri, bearer, body: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
Response

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

Launch.Failure
new Launch.Failure(String code [, int status, String requestID, long retryAfterMillis, boolean transport]) → Failure
Rôle
Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Paramètres
  • code, status, requestID, retryAfterMillis, transport: Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
Failure

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

Launch.Failure.unavailable
unavailable() → boolean
Rôle
Identifie une indisponibilité temporaire ; cela n’autorise jamais à travailler hors ligne.
Résultat
boolean

Renvoie une classification booléenne, pas une autorisation.

Store.load / MemoryStore.load / EncryptedFileStore.load
load(String scope) → byte[] | null
Rôle
Charge un compte par clé isolée ; les données secrètes sont réservées au SDK.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
byte[] | null

Renvoie le compte secret ; son absence donne une valeur vide ou ErrNoSession selon le langage.

Store.save / MemoryStore.save / EncryptedFileStore.save
save(String scope, byte[] secret) → void
Rôle
Enregistre atomiquement le compte sous sa clé isolée.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Store.delete / MemoryStore.delete / EncryptedFileStore.delete
delete(String scope) → void
Rôle
Supprime le compte sans supprimer le cache d’autorisation ni le journal de déconnexion du SDK officiel.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.canStartOffline
canStartOffline() → boolean
Rôle
Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.
Résultat
boolean

Renvoie une classification booléenne, pas une autorisation.

Runtime.start
start() → void
Rôle
Démarre la vérification et les tâches SDK officielles ; connexion et protection des fonctions restent séparées.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.runFeature
runFeature(String feature, Client.FeatureAction action) → void
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.releaseDevice
releaseDevice() → void
Rôle
Déconnecte l’appareil via le SDK officiel ; l’application révoque séparément la session Launch.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.close
close() → void
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
void

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

RuntimeFactory.create
create(Map<String,Object> settings) → Runtime
Rôle
Crée l’adaptateur du SDK officiel pour les intégrations avancées ; l’attestation reste en mémoire.
Paramètres
  • settings: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
Runtime

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Sleeper.sleep
sleep(long milliseconds) → void
Rôle
Attend la durée indiquée pour planifier les nouvelles tentatives avancées.
Paramètres
  • milliseconds: Délai recommandé avant nouvelle tentative ; vérifiez les unités : secondes, millisecondes ou Duration.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

JavaScript / TypeScript

Source correspondante · v0.1.6 · index.d.ts · index.mjs

Erreurs et échecs: await Promise; catch (error); LaunchError(code, status, retryAfterSeconds)

Application.connect
Application.connect(merchantOrigin, productID, licentivoProductID, trustedKeys, options?) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • trustedKeys / trusted_keys: Correspondance entre identifiants de clés et clés publiques pour vérifier les autorisations signées du SDK officiel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application.login
login(email: string, password: string, options?: {signal?: AbortSignal}) → Promise<SessionState>
Rôle
Connecte le compte client, obtient une attestation d’identité temporaire et démarre le SDK officiel d’autorisation.
Paramètres
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Promise<SessionState>

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

Application.restore
restore(options?: {signal?: AbortSignal}) → Promise<SessionState | null>
Rôle
Lit la session mémorisée, confirme le compte en ligne, obtient une nouvelle attestation et démarre le SDK officiel.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Promise<SessionState | null>

Renvoie l’état du compte ; null ou nil signifie aucune session restaurable. Les autres échecs produisent une erreur.

Application.runFeature
runFeature<T>(name: string, action: () => T | Promise<T>) → Promise<T>
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
Promise<T>

Renvoie le résultat du rappel métier ; les refus et exceptions sont signalés comme erreurs.

Application.logout
logout(options?: {signal?: AbortSignal}) → Promise<boolean>
Rôle
Arrête l’autorisation locale, déconnecte le SDK officiel puis révoque la session Launch. Les tâches distantes inachevées restent à réessayer.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Promise<boolean>

true confirme la déconnexion ; false indique une déconnexion distante ou révocation d’appareil en attente. Le stockage peut aussi produire une erreur.

Application.releaseDevice
releaseDevice(options?: {signal?: AbortSignal}) → Promise<void>
Rôle
Entrée compatible de déconnexion explicite, avec le même processus de déconnexion du compte et de l’appareil que Logout.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Promise<void>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application.close
close() → Promise<void>
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
Promise<void>

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

API avancées et de compatibilité

Application
new Application(launch: LaunchConfig, product: PublicProductConfig, options?: Options) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • launch, product: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application.fromFiles
Application.fromFiles(launchPath: string, productPath: string, options?: Options) → Promise<Application>
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • launchPath, productPath: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Promise<Application>

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

validateConfig
validateConfig(launch: LaunchConfig, product: PublicProductConfig) → {launch: LaunchConfig, product: PublicProductConfig}
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • launch, product: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
{launch: LaunchConfig, product: PublicProductConfig}

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

loadConfig
loadConfig(launchPath: string, productPath: string) → Promise<{launch: LaunchConfig, product: PublicProductConfig}>
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • launchPath, productPath: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
Promise<{launch: LaunchConfig, product: PublicProductConfig}>

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

defaultTransport
defaultTransport(request: Request) → Promise<Response>
Rôle
Envoie les requêtes HTTP du compte et renvoie statut, en-têtes ou corps brut, sans décider de l’autorisation.
Paramètres
  • request: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
Promise<Response>

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

MemoryStore
new MemoryStore() → MemoryStore
Rôle
Crée un stockage de session limité au processus actuel.
Résultat
MemoryStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

EncryptedFileStore
new EncryptedFileStore(directory: string, key: Uint8Array) → EncryptedFileStore
Rôle
Crée un stockage persistant protégé ; récupérez la clé dans le coffre d’identifiants du système.
Paramètres
  • directory: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • key: Clé de chiffrement issue du coffre système ; ne la stockez pas avec les données chiffrées.
Résultat
EncryptedFileStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

LaunchError
new LaunchError(code: string, status=0, retryAfterSeconds=0) → LaunchError
Rôle
Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Paramètres
  • code, status, retryAfterSeconds: Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
LaunchError

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

SessionStore.load / MemoryStore.load / EncryptedFileStore.load
load(scope: string) → Promise<SavedSession | null>
Rôle
Charge un compte par clé isolée ; les données secrètes sont réservées au SDK.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
Promise<SavedSession | null>

Renvoie le compte secret ; son absence donne une valeur vide ou ErrNoSession selon le langage.

SessionStore.save / MemoryStore.save / EncryptedFileStore.save
save(scope: string, value: SavedSession) → Promise<void>
Rôle
Enregistre atomiquement le compte sous sa clé isolée.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
Promise<void>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

SessionStore.delete / MemoryStore.delete / EncryptedFileStore.delete
delete(scope: string) → Promise<void>
Rôle
Supprime le compte sans supprimer le cache d’autorisation ni le journal de déconnexion du SDK officiel.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
Promise<void>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.status
status() → {allowed:boolean,state:string} | Promise<{allowed:boolean,state:string}>
Rôle
Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.
Résultat
{allowed:boolean,state:string} | Promise<{allowed:boolean,state:string}>

Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.

Runtime.start
start(onError?: (error: unknown) => void, signal?: AbortSignal) → Promise<unknown>
Rôle
Démarre la vérification et les tâches SDK officielles ; connexion et protection des fonctions restent séparées.
Paramètres
  • onError: Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Promise<unknown>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.runFeature
runFeature<T>(name: string, action: () => T | Promise<T>) → Promise<T>
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
Promise<T>

Renvoie le résultat du rappel métier ; les refus et exceptions sont signalés comme erreurs.

Runtime.deactivate
deactivate(signal?: AbortSignal) → Promise<unknown>
Rôle
Déconnecte l’appareil via le SDK officiel ; l’application révoque séparément la session Launch.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Promise<unknown>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime.logout
logout?(signal?: AbortSignal) → Promise<{local_complete:boolean,revocation_pending:boolean,storage_error?:string}>
Rôle
Déconnecte l’appareil via le SDK officiel ; l’application révoque séparément la session Launch.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Promise<{local_complete:boolean,revocation_pending:boolean,storage_error?:string}>

Déconnexion locale et révocation distante sont distinctes. Gérez les tâches en attente et erreurs de stockage ; conservez le journal SDK.

Runtime.close
close() → Promise<unknown>
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
Promise<unknown>

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

Rust

Source correspondante · v0.1.6 · lib.rs · store.rs · transport.rs

Erreurs et échecs: Result<T, Failure>: Ok(value) / Err(Failure {code, status, request_id, retry_after, transport})

Application::connect
Application::connect(origin: &str, product_id: &str, licentivo_product_id: &str, trusted_keys: &[(&str,&str)], environment: &str) → Result<Application, Failure>
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • trustedKeys / trusted_keys: Correspondance entre identifiants de clés et clés publiques pour vérifier les autorisations signées du SDK officiel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
Résultat
Result<Application, Failure>

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application::login
login(&mut self, email: &str, password: &str) → Result<State, Failure>
Rôle
Connecte le compte client, obtient une attestation d’identité temporaire et démarre le SDK officiel d’autorisation.
Paramètres
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
Résultat
Result<State, Failure>

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

Application::restore
restore(&mut self) → Result<State, Failure>
Rôle
Lit la session mémorisée, confirme le compte en ligne, obtient une nouvelle attestation et démarre le SDK officiel.
Résultat
Result<State, Failure>

Renvoie l’état du compte ; ErrNoSession ou NO_SESSION signifie aucune session. Traitez les autres erreurs séparément.

Application::run_feature
run_feature<T,F: FnOnce() -> Result<T,Failure>>(&mut self, feature: &str, action: F) → Result<T, Failure>
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
Result<T, Failure>

Renvoie le résultat du rappel métier ; les refus et exceptions sont signalés comme erreurs.

Application::logout
logout(&mut self) → Result<(), Failure>
Rôle
Arrête l’autorisation locale, déconnecte le SDK officiel puis révoque la session Launch. Les tâches distantes inachevées restent à réessayer.
Résultat
Result<(), Failure>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application::release_device
release_device(&mut self) → Result<(), Failure>
Rôle
Entrée compatible de déconnexion explicite, avec le même processus de déconnexion du compte et de l’appareil que Logout.
Résultat
Result<(), Failure>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application::close / Drop
close(&mut self) / drop(&mut self) → ()
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
()

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

API avancées et de compatibilité

Application::new
Application::new(config: Config, product: Value, cache_root: PathBuf) → Result<Application, Failure>
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • config, product: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • cache_root: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
Result<Application, Failure>

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application::with_components
Application::with_components(config: Config, product: Value, cache_root: PathBuf, store: Box<dyn Store>, transport: Box<dyn Transport>, factory: Box<dyn RuntimeFactory>, sleeper: Box<dyn Sleeper>) → Result<Application, Failure>
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • config, product: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • cache_root: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • store, transport, factory, sleeper: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Result<Application, Failure>

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Config::new
Config::new(origin: &str, product: &str, runtime_product: &str, environment: &str) → Result<Config, Failure>
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
Résultat
Result<Config, Failure>

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

Config::load
Config::load(path: impl AsRef<Path>) → Result<Config, Failure>
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • path: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
Result<Config, Failure>

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

read_public
read_public(path: impl AsRef<Path>) → Result<Value, Failure>
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • path: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
Result<Value, Failure>

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

MemoryStore::default
MemoryStore::default() → MemoryStore
Rôle
Crée un stockage de session limité au processus actuel.
Résultat
MemoryStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

EncryptedFileStore::new
EncryptedFileStore::new(root: PathBuf, vault_key: [u8;32]) → Result<EncryptedFileStore, Failure>
Rôle
Crée un stockage persistant protégé ; récupérez la clé dans le coffre d’identifiants du système.
Paramètres
  • root: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • vault_key: Clé de chiffrement issue du coffre système ; ne la stockez pas avec les données chiffrées.
Résultat
Result<EncryptedFileStore, Failure>

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

CurlTransport::new
CurlTransport::new() → Result<CurlTransport, Failure>
Rôle
Envoie les requêtes HTTP du compte et renvoie statut, en-têtes ou corps brut, sans décider de l’autorisation.
Résultat
Result<CurlTransport, Failure>

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

CurlTransport::request
request(&mut self, method: &str, url: &str, bearer: &str, body: &[u8]) → Result<Response, Failure>
Rôle
Envoie les requêtes HTTP du compte et renvoie statut, en-têtes ou corps brut, sans décider de l’autorisation.
Paramètres
  • method, url, bearer, body: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
Result<Response, Failure>

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

Failure::new
Failure::new(code: &str) → Failure
Rôle
Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Paramètres
  • code: Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
Failure

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

ThreadSleeper::sleep
sleep(&mut self, duration: Duration) → Result<(), Failure>
Rôle
Attend la durée indiquée pour planifier les nouvelles tentatives avancées.
Paramètres
  • duration: Délai recommandé avant nouvelle tentative ; vérifiez les unités : secondes, millisecondes ou Duration.
Résultat
Result<(), Failure>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Store::load / MemoryStore::load / EncryptedFileStore::load
load(&mut self, scope: &str) → Result<Option<Vec<u8>>, Failure>
Rôle
Charge un compte par clé isolée ; les données secrètes sont réservées au SDK.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
Result<Option<Vec<u8>>, Failure>

Renvoie le compte secret ; son absence donne une valeur vide ou ErrNoSession selon le langage.

Store::save / MemoryStore::save / EncryptedFileStore::save
save(&mut self, scope: &str, value: &[u8]) → Result<(), Failure>
Rôle
Enregistre atomiquement le compte sous sa clé isolée.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
Result<(), Failure>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Store::delete / MemoryStore::delete / EncryptedFileStore::delete
delete(&mut self, scope: &str) → Result<(), Failure>
Rôle
Supprime le compte sans supprimer le cache d’autorisation ni le journal de déconnexion du SDK officiel.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
Result<(), Failure>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime::run_feature
run_feature(&mut self, feature: &str, action: &mut dyn FnMut() -> Result<(),Failure>) → Result<(), Failure>
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
Result<(), Failure>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime::release_device
release_device(&mut self) → Result<(), Failure>
Rôle
Déconnecte l’appareil via le SDK officiel ; l’application révoque séparément la session Launch.
Résultat
Result<(), Failure>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Runtime::close
close(&mut self) → ()
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
()

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

RuntimeFactory::open / OfficialRuntimeFactory::open
open(&mut self, settings: &Value, cached_only: bool) → Result<Box<dyn Runtime>, Failure>
Rôle
Crée l’adaptateur du SDK officiel pour les intégrations avancées ; l’attestation reste en mémoire.
Paramètres
  • settings, cached_only: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
Result<Box<dyn Runtime>, Failure>

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

RuntimeFactory::for_logout / OfficialRuntimeFactory::for_logout
for_logout(&mut self, settings: &Value) → Result<Box<dyn Runtime>, Failure>
Rôle
Crée l’adaptateur du SDK officiel pour les intégrations avancées ; l’attestation reste en mémoire.
Paramètres
  • settings: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
Result<Box<dyn Runtime>, Failure>

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Sleeper::sleep
sleep(&mut self, duration: Duration) → Result<(), Failure>
Rôle
Attend la durée indiquée pour planifier les nouvelles tentatives avancées.
Paramètres
  • duration: Délai recommandé avant nouvelle tentative ; vérifiez les unités : secondes, millisecondes ou Duration.
Résultat
Result<(), Failure>

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Ruby

Source correspondante · v0.1.6 · licentivo_launch.rb

Erreurs et échecs: rescue LicentivoLaunch::Error; code / status / retry_after_seconds; callback exceptions

Application.connect
LicentivoLaunch::Application.connect(merchant_origin, product_id, licentivo_product_id, trusted_keys, environment: "live", **options) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • trustedKeys / trusted_keys: Correspondance entre identifiants de clés et clés publiques pour vérifier les autorisations signées du SDK officiel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application#login
login(email, password, cancellation: nil) → Hash
Rôle
Connecte le compte client, obtient une attestation d’identité temporaire et démarre le SDK officiel d’autorisation.
Paramètres
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Hash

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

Application#restore
restore(cancellation: nil) → Hash | nil
Rôle
Lit la session mémorisée, confirme le compte en ligne, obtient une nouvelle attestation et démarre le SDK officiel.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
Hash | nil

Renvoie l’état du compte ; null ou nil signifie aucune session restaurable. Les autres échecs produisent une erreur.

Application#run_feature
run_feature(feature) { ... } → T
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
T

Renvoie le résultat du rappel métier ; les refus et exceptions sont signalés comme erreurs.

Application#logout
logout(cancellation: nil) → true | false
Rôle
Arrête l’autorisation locale, déconnecte le SDK officiel puis révoque la session Launch. Les tâches distantes inachevées restent à réessayer.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
true | false

true confirme la déconnexion ; false indique une déconnexion distante ou révocation d’appareil en attente. Le stockage peut aussi produire une erreur.

Application#release_device
release_device(cancellation: nil) → true | false
Rôle
Entrée compatible de déconnexion explicite, avec le même processus de déconnexion du compte et de l’appareil que Logout.
Paramètres
  • ctx / ct / signal / cancellation: Contexte de requête ou signal d’annulation ; le contexte de cycle de vie Go contrôle aussi les tâches de fond.
Résultat
true | false

true confirme la déconnexion ; false indique une déconnexion distante ou révocation d’appareil en attente. Le stockage peut aussi produire une erreur.

Application#close
close → nil
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
nil

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

API avancées et de compatibilité

Application.new
Application.new(launch, product, store: MemoryStore.new, transport: nil, runtime_factory: nil, cache_dir: nil, sleep: nil, pending_attempts: 5) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • launch, product: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application.from_files
Application.from_files(launch_path, product_path, **options) → Application
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • launchPath, productPath: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • options / config: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

LicentivoLaunch.origin
LicentivoLaunch.origin(value, environment) → String
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • value: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
Résultat
String

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

LicentivoLaunch.validate_config
LicentivoLaunch.validate_config(launch, product) → [Hash, Hash]
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • launch, product: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
[Hash, Hash]

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

LicentivoLaunch.load_config
LicentivoLaunch.load_config(launch_path, product_path) → [Hash, Hash]
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • launchPath, productPath: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
Résultat
[Hash, Hash]

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

LicentivoLaunch.default_transport
LicentivoLaunch.default_transport(request) → Hash
Rôle
Envoie les requêtes HTTP du compte et renvoie statut, en-têtes ou corps brut, sans décider de l’autorisation.
Paramètres
  • request: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
Hash

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

MemoryStore.new
MemoryStore.new → MemoryStore
Rôle
Crée un stockage de session limité au processus actuel.
Résultat
MemoryStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

EncryptedFileStore.new
EncryptedFileStore.new(directory, key) → EncryptedFileStore
Rôle
Crée un stockage persistant protégé ; récupérez la clé dans le coffre d’identifiants du système.
Paramètres
  • directory: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • key: Clé de chiffrement issue du coffre système ; ne la stockez pas avec les données chiffrées.
Résultat
EncryptedFileStore

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

MemoryStore#persistent? / EncryptedFileStore#persistent? / #secure?
persistent? / secure? → true | false
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Résultat
true | false

Renvoie une classification booléenne, pas une autorisation.

EncryptedFileStore#path
path(scope) → String
Rôle
Valide ou lit la configuration publique ; produits, environnement et clés de signature doivent correspondre.
Paramètres
  • scope: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
String

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

CancellationToken#cancel / #check!
CancellationToken.new.cancel / check! → true / nil
Rôle
Demande ou vérifie l’annulation coopérative ; une annulation n’est pas une autorisation réussie.
Résultat
true / nil

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Error.new
Error.new(code, status: 0, retry_after_seconds: 0) → Error
Rôle
Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Paramètres
  • code, status, retry_after_seconds: Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
Error

Renvoie le type indiqué dans la signature ; le résultat n’accorde aucun droit de fonction.

MemoryStore#load / EncryptedFileStore#load
load(scope) → Hash | nil
Rôle
Charge un compte par clé isolée ; les données secrètes sont réservées au SDK.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
Hash | nil

Renvoie le compte secret ; son absence donne une valeur vide ou ErrNoSession selon le langage.

MemoryStore#save / EncryptedFileStore#save
save(scope, record) → Object
Rôle
Enregistre atomiquement le compte sous sa clé isolée.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
Object

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

MemoryStore#delete / EncryptedFileStore#delete
delete(scope) → Object
Rôle
Supprime le compte sans supprimer le cache d’autorisation ni le journal de déconnexion du SDK officiel.
Paramètres
  • scope / key, value / record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
Object

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

C

Source correspondante · v0.1.6 · account.h · account.c

Erreurs et échecs: NULL / 0 / -1; launch_application_error(app); action(context): 1=success, 0=failure

launch_application_connect
launch_application_connect(origin, product_id, licentivo_product_id, trusted_keys_json, environment, remember, store) → launch_application *
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • trustedKeys / trusted_keys: Correspondance entre identifiants de clés et clés publiques pour vérifier les autorisations signées du SDK officiel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • remember, store: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
launch_application *

Renvoie un pointeur possédé ; NULL indique un échec d’initialisation. Libérez-le avec close.

launch_application_login
launch_application_login(launch_application *app, const char *email, const char *password) → int
Rôle
Connecte le compte client, obtient une attestation d’identité temporaire et démarre le SDK officiel d’autorisation.
Paramètres
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
Résultat
int

1 indique le succès ; 0 indique l’échec. Lisez ensuite le code d’erreur.

launch_application_restore
launch_application_restore(launch_application *app) → int
Rôle
Lit la session mémorisée, confirme le compte en ligne, obtient une nouvelle attestation et démarre le SDK officiel.
Résultat
int

1 : restauration réussie ; 0 : aucune session ; -1 : refus ou échec. Lisez le code d’erreur après échec.

launch_application_run_feature
launch_application_run_feature(app, feature, ln_feature_action action, void *context) → int
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
  • context: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
int

1 indique le succès ; 0 indique l’échec. Lisez ensuite le code d’erreur.

launch_application_logout
launch_application_logout(launch_application *app) → int
Rôle
Arrête l’autorisation locale, déconnecte le SDK officiel puis révoque la session Launch. Les tâches distantes inachevées restent à réessayer.
Résultat
int

1 indique le succès ; 0 indique l’échec. Lisez ensuite le code d’erreur.

launch_application_release_device
launch_application_release_device(launch_application *app) → int
Rôle
Entrée compatible de déconnexion explicite, avec le même processus de déconnexion du compte et de l’appareil que Logout.
Résultat
int

1 indique le succès ; 0 indique l’échec. Lisez ensuite le code d’erreur.

launch_application_status
launch_application_status(launch_application *app) → char *
Rôle
Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.
Résultat
char *

Renvoie un texte JSON possédé à libérer avec ln_free_string. Sans moteur : login_required et allowed=false.

launch_application_error
launch_application_error(const launch_application *app) → const char *
Rôle
Crée ou lit une erreur structurée pour classification, temporisation et diagnostic.
Résultat
const char *

Renvoie une chaîne d’erreur empruntée. Ne la libérez pas et ne l’utilisez pas après destruction de l’application.

launch_application_close
launch_application_close(launch_application *app) → void
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
void

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

API avancées et de compatibilité

launch_application_open
launch_application_open(origin, product_id, product_config_path, environment, remember, store) → launch_application *
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • product_config_path: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • remember, store: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
launch_application *

Renvoie un pointeur possédé ; NULL indique un échec d’initialisation. Libérez-le avec close.

launch_application_from_files
launch_application_from_files(launch_config_path, product_config_path, remember, store) → launch_application *
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • launchPath, productPath: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • remember, store: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
launch_application *

Renvoie un pointeur possédé ; NULL indique un échec d’initialisation. Libérez-le avec close.

launch_application_cli
launch_application_cli(int argc, char **argv) → launch_application *
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • argc, argv: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
launch_application *

Renvoie un pointeur possédé ; NULL indique un échec d’initialisation. Libérez-le avec close.

launch_login / launch_sign_in
launch_login(account, origin, product_id, config_path, environment, email, password) / launch_sign_in(account, argc, argv) → int
Rôle
Ancienne API conservée : le protocole de licence permanente a été retiré, donc les appels échouent. Utilisez Application.
Paramètres
  • account, origin, product_id, config_path, environment, email, password, argc, argv: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
int

Échoue toujours ; migrez vers l’échange d’identité de compte.

launch_sign_out
launch_sign_out(launch_account *account, int clear_cache) → void
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Paramètres
  • account, clear_cache: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

ln_free_string
ln_free_string(char *value) → void
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Paramètres
  • value: Renvoie un texte JSON possédé à libérer avec ln_free_string. Sans moteur : login_required et allowed=false.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

launch_secret_store.load
load(void *context, const char *scope, char **record) → int
Rôle
Charge un compte par clé isolée ; les données secrètes sont réservées au SDK.
Paramètres
  • context: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • scope, record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
int

1 : trouvé, 0 : absent, -1 : lecture échouée. load alloue record ; l’appelant le libère.

launch_secret_store.save
save(void *context, const char *scope, const char *record) → int (1: success, 0: failure)
Rôle
Enregistre atomiquement le compte sous sa clé isolée.
Paramètres
  • context: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • scope, record: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
int (1: success, 0: failure)

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

launch_secret_store.remove
remove(void *context, const char *scope) → int (1: success, 0: failure)
Rôle
Supprime le compte sans supprimer le cache d’autorisation ni le journal de déconnexion du SDK officiel.
Paramètres
  • context: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
  • scope: Clés d’isolation et données secrètes SDK ; le stockage personnalisé doit gérer plusieurs clés et le remplacement atomique.
Résultat
int (1: success, 0: failure)

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

C++

Source correspondante · v0.1.6 · launch.hpp

Erreurs et échecs: std::runtime_error; callback exceptions propagate; RAII; Status(): std::string JSON

Application::Connect
Application::Connect(origin, product, licentivo_product, trusted_keys_json, environment="live", remember=false, store=nullptr) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • merchantOrigin / origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • productID / product_id: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • licentivoProductID / licentivo_product_id: Identifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
  • trustedKeys / trusted_keys: Correspondance entre identifiants de clés et clés publiques pour vérifier les autorisations signées du SDK officiel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • remember, store: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application::Login
Login(const char *email, const char *password) → void
Rôle
Connecte le compte client, obtient une attestation d’identité temporaire et démarre le SDK officiel d’autorisation.
Paramètres
  • email, password: Adresse électronique et mot de passe du compte client de cette boutique ; mot de passe limité à cette connexion.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application::Restore
Restore() → bool
Rôle
Lit la session mémorisée, confirme le compte en ligne, obtient une nouvelle attestation et démarre le SDK officiel.
Résultat
bool

true indique une restauration réussie ; false indique aucune session restaurable. Refus, expiration et problèmes réseau produisent une erreur.

Application::RunFeature
RunFeature(const char *feature, Action action) → void
Rôle
Le SDK officiel vérifie chaque exécution. Le rappel ne s’exécute que si l’autorisation est accordée.
Paramètres
  • feature / name, action / block: Le nom de fonction doit correspondre à la politique ; le rappel contient le travail réellement protégé.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application::Logout
Logout() → void
Rôle
Arrête l’autorisation locale, déconnecte le SDK officiel puis révoque la session Launch. Les tâches distantes inachevées restent à réessayer.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application::ReleaseDevice
ReleaseDevice() → void
Rôle
Entrée compatible de déconnexion explicite, avec le même processus de déconnexion du compte et de l’appareil que Logout.
Résultat
void

Aucune valeur métier ; un retour normal indique le succès, une erreur ou exception indique l’échec.

Application::Status
Status() → std::string (JSON)
Rôle
Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.
Résultat
std::string (JSON)

Lit l’état d’autorisation du SDK officiel, sans connecter le compte ni remplacer les vérifications des fonctions.

Application::~Application
~Application() → void
Rôle
Arrête cette instance et ses tâches tout en conservant la connexion mémorisée et l’association de l’appareil.
Résultat
void

Aucune valeur métier ; fermer l’application ne confirme ni déconnexion du compte ni libération de l’appareil.

API avancées et de compatibilité

Application
Application(origin, product, config, environment="live", remember=false, store=nullptr) → Application
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • origin: Origine complète de la boutique, avec protocole et port nécessaire ; utilisez HTTPS en production.
  • product: Identifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
  • config: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • environment: sandbox ou live ; comptes, produits et caches doivent partager le même environnement.
  • remember, store: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application(launch_application *)
explicit Application(launch_application *app) → Application
Rôle
Valide les paramètres publics et crée l’application, sans connexion au compte ni autorisation des fonctions protégées.
Paramètres
  • app: Renvoie un pointeur possédé ; NULL indique un échec d’initialisation. Libérez-le avec close.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application::FromFiles
Application::FromFiles(launch, product, remember=false, store=nullptr) → Application
Rôle
Lit deux configurations publiques existantes, vérifie la correspondance des produits et crée l’application. La connexion directe ne nécessite aucun fichier.
Paramètres
  • launch, product: Chemins de configuration choisis ou dossier privé de cache et stockage de l’utilisateur actuel.
  • remember, store: Options de stockage, cache privé, annulation, nouvelles tentatives ou composants avancés.
Résultat
Application

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Application(Application&&) / operator=
Application(Application&& other) / operator=(Application&& other) → Application / Application&
Rôle
Transfère la propriété de l’application native. La copie est désactivée et l’objet d’origine ne possède plus le pointeur.
Paramètres
  • other: Configuration, adaptateur, transport ou requête fournis uniquement pour les intégrations avancées.
Résultat
Application / Application&

Renvoie l’objet créé ; l’initialisation ne constitue pas une autorisation.

Champs renvoyés

Renvoie l’état du compte ; consultez le tableau des champs ci-dessous.

ChampType de valeurRôle
Go State.User.ID · JS user.id · Java userID · Rust user_id · Ruby user.idstringIdentifiant unique du compte boutique, distinct des identifiants de produit, licence ou appareil.
Go User.Email · JS user.email · Java/Rust/Ruby emailstringAdresse électronique du compte ; certains états de langage ne contiennent que l’identifiant.
Go User.Verified / user.verifiedbooleanIndique si l’adresse de la boutique est vérifiée ; ce n’est pas une autorisation logicielle.
JS user.display_namestring (optional)Nom d’affichage du compte ; absent si le serveur ne le fournit pas.
Go State/Session.ExpiresAt · JS expiresAt · Java expiresAt · Rust/Ruby expires_attime.Time / ISO 8601 / InstantExpiration de la session Launch, distincte de l’achat et du délai d’autorisation hors ligne.
Java offlineFallback · Rust offline_fallbackboolean = falseChamp de compatibilité ; la restauration actuelle ne choisit aucun repli hors ligne, donc false.
C / C++ status.allowed · C# Status().AllowedbooleanIndique si le SDK officiel permet actuellement l’utilisation ; vérifiez chaque fonction séparément.
C / C++ status.state · C# Status().StatestringNom d’état du SDK officiel ; login_required peut apparaître avant connexion.
C / C++ status.code · C# Status().CodestringCode d’erreur machine stable pour les messages et branches de traitement.
C / C++ status.request_id · C# Status().RequestIDstringIdentifiant de corrélation serveur pour le diagnostic ; non exposé par tous les langages.
C / C++ status.retryable · C# Status().RetryablebooleanIndique si une nouvelle tentative est recommandée ; n’autorise pas le travail protégé.
C / C++ status.lease_valid_until · C# Status().LeaseValidUntilUnix secondsExpiration de l’autorisation signée du SDK officiel en secondes Unix, distincte de la session du compte.
Go Identity.ProductID / product_idUUIDIdentifiant produit Launch, rempli automatiquement par le code d’intégration de l’administration.
Go Identity.LicentivoProductID / licentivo_product_idUUIDIdentifiant du produit de licence Licentivo, correspondant à la configuration de signature publique.
Go Identity.LaunchConnectionID / launch_connection_idUUIDIdentifiant de connexion Launch fixé, correspondant au produit et à l’environnement.
Go Identity.Environment / environmentsandbox | livesandbox ou live ; comptes, produits et caches doivent partager le même environnement.
Go Identity.IdentityToken / identity_tokenstringAttestation temporaire à usage unique, transmise en mémoire au SDK officiel ; jamais un justificatif hors ligne.
Go Identity.ExpiresAt / identity.expires_attime.Time / ISO 8601Expiration de l’attestation d’identité, distincte de la session du compte et de l’achat.
Go Session.AccessToken / access_token / tokenstringJeton de session Launch, accessible uniquement aux interfaces de session bas niveau ou de stockage chiffré.

Jetons, attestations et comptes stockés sont secrets. Ne les exposez ni aux journaux ni au rendu du navigateur.

Erreurs et échecs

ChampType de valeurRôle
Go APIError.Code · Python APIError.code · C# Code · Java/Rust/Ruby code · JS code · C error()stringCode d’erreur machine stable pour les messages et branches de traitement.
Go APIError.Status · Python status · C# Status · Java/Rust/Ruby/JS statusintegerStatut HTTP ; 0 signifie qu’aucune réponse HTTP n’est disponible.
Go RequestID · Java requestID · Rust request_idstringIdentifiant de corrélation serveur pour le diagnostic ; non exposé par tous les langages.
Go RetryAfter · Python retry_after · C# RetryAfterSeconds · Java retryAfterMillis · JS/Ruby retryAfterSeconds / retry_after_seconds · Rust retry_afterDuration / s / msDélai recommandé avant nouvelle tentative ; vérifiez les unités : secondes, millisecondes ou Duration.

Déconnexion locale et révocation distante sont distinctes. Gérez les tâches en attente et erreurs de stockage ; conservez le journal SDK.