Ir al contenido

Funciones y valores devueltos del SDK en nueve lenguajes

Consulta funciones públicas de Launch, parámetros, resultados y errores por lenguaje. Los parámetros opcionales y valores predeterminados siguen la versión de código correspondiente.

Esta página describe los adaptadores de cuenta Launch. Consulta la referencia oficial para las API de autorización, medición y uso sin conexión de Licentivo.

Licentivo SDK · Referencia de funciones

El estado de sesión solo describe la cuenta; protege cada ejecución de negocio.

El almacenamiento predeterminado es en memoria. Recordar sesiones requiere almacenamiento persistente protegido, separado de la caché SDK.

Restaurar requiere confirmar la cuenta en línea. Launch nunca elige autorización sin conexión por fallos de red; el SDK oficial verifica los permisos.

Go

Código correspondiente · v0.1.6 · application.go · runtime.go · client.go · store.go

Errores y fallos: 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)
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • trustedKeys / trusted_keys: Mapa de identificadores de clave a claves públicas para verificar permisos firmados del SDK oficial.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
(*Application, error)

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application.Login
Login(ctx context.Context, email, password string) → (State, error)
Propósito
Inicia sesión con la cuenta de la tienda, obtiene una declaración de identidad temporal e inicia el SDK oficial.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
Resultado
(State, error)

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

Application.Restore
Restore(ctx context.Context) → (State, error)
Propósito
Lee la sesión guardada, confirma la cuenta en línea, obtiene una nueva declaración e inicia el SDK oficial.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
(State, error)

Devuelve el estado; ErrNoSession o NO_SESSION indica que no hay sesión guardada. Trata otros errores por separado.

Application.RunFeature
RunFeature(feature string, action func() error) → error
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application.Logout
Logout(ctx context.Context) → error
Propósito
Detiene la autorización local, cierra sesión en el SDK oficial y revoca la sesión Launch. Conserva las tareas remotas pendientes para reintentarlas.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application.ReleaseDevice
ReleaseDevice(ctx context.Context) → error
Propósito
Entrada compatible para cerrar sesión explícitamente, con el mismo proceso de cuenta y dispositivo que Logout.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application.Close
Close() → void
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
void

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

API avanzadas y de compatibilidad

NewApplication
NewApplication(config Config) → (*Application, error)
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
(*Application, error)

Devuelve el objeto creado; la inicialización no demuestra autorización.

NewApplicationFromFiles
NewApplicationFromFiles(launchPath, productPath string, options Config) → (*Application, error)
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • launchPath, productPath: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
(*Application, error)

Devuelve el objeto creado; la inicialización no demuestra autorización.

LoadPublicConfig
LoadPublicConfig(path string) → (PublicConfig, error)
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • path: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
(PublicConfig, error)

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

NewRuntime
NewRuntime(product ProductConfig, runtime RuntimeConfig) → (Runtime, error)
Propósito
Crea el adaptador del SDK oficial para integraciones avanzadas; la declaración solo se transmite en memoria.
Parámetros
  • product, runtime: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
(Runtime, error)

Devuelve el objeto creado; la inicialización no demuestra autorización.

New
New(origin string, allowLocalHTTP bool) → (*Client, error)
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • allowLocalHTTP: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
(*Client, error)

Devuelve el objeto creado; la inicialización no demuestra autorización.

Client.WithToken
WithToken(token string) → *Client
Propósito
Devuelve una copia del cliente con el token indicado, para servidores de confianza.
Parámetros
  • token: Token de sesión Launch, devuelto solo por interfaces de sesión de bajo nivel o almacenamiento cifrado.
Resultado
*Client

Devuelve el objeto creado; la inicialización no demuestra autorización.

Client.Login
Login(ctx context.Context, email, password string) → (User, error)
Propósito
Autentica la cuenta y devuelve información o sesión, sin iniciar el motor de autorización.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
Resultado
(User, error)

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

Client.LoginSession
LoginSession(ctx context.Context, email, password string) → (Session, error)
Propósito
Autentica la cuenta y devuelve información o sesión, sin iniciar el motor de autorización.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
Resultado
(Session, error)

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

Client.CurrentUser
CurrentUser(ctx context.Context) → (User, error)
Propósito
Consulta la cuenta actual; el éxito no autoriza funciones protegidas.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
(User, error)

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

Client.Identity
Identity(ctx context.Context, product, environment string) → (Identity, error)
Propósito
Obtiene una declaración de identidad de un solo uso y contexto público; no son una licencia ni permisos de función.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
  • product: Identificador del producto Launch, completado por el código de integración de administración.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
Resultado
(Identity, error)

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

Client.SignOut
SignOut(ctx context.Context) → error
Propósito
Revoca la sesión Launch y borra el token del cliente; no sustituye el cierre de sesión del dispositivo del SDK oficial.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Client.Credential
Credential(ctx context.Context, product, environment string) → (Credential, error)
Propósito
API heredada conservada: se eliminó el protocolo de credenciales de licencia permanente y las llamadas fallan. Usa Application.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
  • product: Identificador del producto Launch, completado por el código de integración de administración.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
Resultado
(Credential, error)

Siempre falla; migra al intercambio de identidad de cuenta.

Client.CredentialWithRetry
CredentialWithRetry(ctx context.Context, product, environment string, policy RetryPolicy) → (Credential, error)
Propósito
API heredada conservada: se eliminó el protocolo de credenciales de licencia permanente y las llamadas fallan. Usa Application.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
  • product: Identificador del producto Launch, completado por el código de integración de administración.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • policy: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
(Credential, error)

Siempre falla; migra al intercambio de identidad de cuenta.

NewSystemSessionStore
NewSystemSessionStore(directory string) → (SessionStore, error)
Propósito
Crea almacenamiento persistente protegido; obtén la clave de cifrado del almacén de credenciales del sistema.
Parámetros
  • directory: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
(SessionStore, error)

Devuelve el objeto creado; la inicialización no demuestra autorización.

ProtectDirectory
ProtectDirectory(directory string) → error
Propósito
Restringe el directorio al usuario actual de Windows o a permisos privados en otras plataformas.
Parámetros
  • directory: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

ServiceUnavailable
ServiceUnavailable(err error) → bool
Propósito
Identifica una indisponibilidad temporal; esto nunca autoriza el uso sin conexión.
Parámetros
  • err: Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
bool

Devuelve una clasificación booleana, no una autorización.

APIError.Error / TransportError.Error
Error() → string
Propósito
Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
string

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

TransportError.Unwrap
Unwrap() → error
Propósito
Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
error

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

MemoryStore.Load / SessionStore.Load
Load(ctx context.Context, key string) → ([]byte, error)
Propósito
Carga la cuenta mediante una clave aislada; contiene secretos destinados únicamente al SDK.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
([]byte, error)

Devuelve el registro secreto; su ausencia devuelve un valor vacío o ErrNoSession según el lenguaje.

MemoryStore.Save / SessionStore.Save
Save(ctx context.Context, key string, value []byte) → error
Propósito
Guarda atómicamente la cuenta bajo su clave aislada.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

MemoryStore.Delete / SessionStore.Delete
Delete(ctx context.Context, key string) → error
Propósito
Elimina la cuenta sin borrar la caché de autorización ni el registro de cierre del SDK oficial.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.Start
Start(ctx context.Context, onError func(error)) → error
Propósito
Inicia verificación y mantenimiento del SDK oficial; usa por separado las API de acceso y protección.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
  • onError: Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.RunFeature
RunFeature(feature string, action func() error) → error
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.Deactivate
Deactivate(ctx context.Context) → error
Propósito
Cierra la sesión del dispositivo con el SDK oficial; la aplicación revoca aparte la sesión Launch.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
error

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.Close
Close() → void
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
void

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

Python

Código correspondiente · v0.1.6 · client.py

Errores y fallos: 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
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • trustedKeys / trusted_keys: Mapa de identificadores de clave a claves públicas para verificar permisos firmados del SDK oficial.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application.login
login(email, password, *, pending_attempts=3) → Application (self)
Propósito
Inicia sesión con la cuenta de la tienda, obtiene una declaración de identidad temporal e inicia el SDK oficial.
Parámetros
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
  • pending_attempts: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application (self)

Devuelve esta instancia de aplicación, no información de cuenta ni un resultado de autorización.

Application.restore
restore() → bool
Propósito
Lee la sesión guardada, confirma la cuenta en línea, obtiene una nueva declaración e inicia el SDK oficial.
Resultado
bool

true indica restauración correcta; false indica que no hay sesión restaurable. Los rechazos, vencimientos y errores de red generan errores.

Application.run_feature
run_feature(name, action) → T
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
T

Devuelve el resultado de la función de negocio; los fallos de autorización y excepciones generan errores.

Application.logout
logout() → bool
Propósito
Detiene la autorización local, cierra sesión en el SDK oficial y revoca la sesión Launch. Conserva las tareas remotas pendientes para reintentarlas.
Resultado
bool

true confirma el cierre; false indica cierre remoto o revocación de dispositivo pendiente. El almacenamiento también puede producir errores.

Application.release_device
release_device() → bool
Propósito
Entrada compatible para cerrar sesión explícitamente, con el mismo proceso de cuenta y dispositivo que Logout.
Resultado
bool

true confirma el cierre; false indica cierre remoto o revocación de dispositivo pendiente. El almacenamiento también puede producir errores.

Application.close
close() → None
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
None

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

Application.__enter__ / __exit__
with Application.connect(...) as app: ... → Application / None
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
Application / None

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

API avanzadas y de compatibilidad

Application.__init__
Application(origin, product_id, product_config, environment="live", store=None, runtime_factory=None, cache_dir=None, sleep=time.sleep, opener=None) → Application
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • product_config: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application.from_files
Application.from_files(launch_config, product_config, **kwargs) → Application
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • launch_config, product_config: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

MemoryStore
MemoryStore() → MemoryStore
Propósito
Crea almacenamiento de sesión válido únicamente durante este proceso.
Resultado
MemoryStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

WindowsDPAPIStore
WindowsDPAPIStore(directory=None) → WindowsDPAPIStore
Propósito
Crea almacenamiento persistente protegido; obtén la clave de cifrado del almacén de credenciales del sistema.
Parámetros
  • directory: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
WindowsDPAPIStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

APIError
APIError(code, status=0, retry_after=0) → APIError
Propósito
Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Parámetros
  • code, status, retry_after: Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
APIError

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

MemoryStore.load / WindowsDPAPIStore.load
load(key) → bytes | None
Propósito
Carga la cuenta mediante una clave aislada; contiene secretos destinados únicamente al SDK.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
bytes | None

Devuelve el registro secreto; su ausencia devuelve un valor vacío o ErrNoSession según el lenguaje.

MemoryStore.save / WindowsDPAPIStore.save
save(key, value) → None
Propósito
Guarda atómicamente la cuenta bajo su clave aislada.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
None

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

MemoryStore.delete / WindowsDPAPIStore.delete
delete(key) → None
Propósito
Elimina la cuenta sin borrar la caché de autorización ni el registro de cierre del SDK oficial.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
None

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

C#

Código correspondiente · v0.1.6 · Application.cs · SessionStore.cs

Errores y fallos: 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
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • trustedKeys / trusted_keys: Mapa de identificadores de clave a claves públicas para verificar permisos firmados del SDK oficial.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • store, cacheDirectory: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application.Login
Login(string email, string password, int pendingAttempts=3, CancellationToken ct=default) → Task
Propósito
Inicia sesión con la cuenta de la tienda, obtiene una declaración de identidad temporal e inicia el SDK oficial.
Parámetros
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
  • pendingAttempts: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Task

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application.Restore
Restore(CancellationToken ct=default) → Task<bool>
Propósito
Lee la sesión guardada, confirma la cuenta en línea, obtiene una nueva declaración e inicia el SDK oficial.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Task<bool>

true indica restauración correcta; false indica que no hay sesión restaurable. Los rechazos, vencimientos y errores de red generan errores.

Application.RunFeature
RunFeature(string feature, Func<Task> action) → Task
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
Task

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application.Status
Status() → AuthorizationStatus? (null: runtime absent)
Propósito
Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.
Resultado
AuthorizationStatus? (null: runtime absent)

Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.

Application.Logout
Logout(CancellationToken ct=default) → Task
Propósito
Detiene la autorización local, cierra sesión en el SDK oficial y revoca la sesión Launch. Conserva las tareas remotas pendientes para reintentarlas.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Task

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application.ReleaseDevice
ReleaseDevice(CancellationToken ct=default) → Task
Propósito
Entrada compatible para cerrar sesión explícitamente, con el mismo proceso de cuenta y dispositivo que Logout.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Task

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application.DisposeAsync
DisposeAsync() → ValueTask
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
ValueTask

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

API avanzadas y de compatibilidad

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
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productId: Identificador del producto Launch, completado por el código de integración de administración.
  • productConfig: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application.FromFiles
Application.FromFiles(string launchPath, string productPath, ISessionStore? store=null) → Application
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • launchPath, productPath: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • store: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

MemoryStore
new MemoryStore() → MemoryStore
Propósito
Crea almacenamiento de sesión válido únicamente durante este proceso.
Resultado
MemoryStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

WindowsDPAPIStore
new WindowsDPAPIStore(string? directory=null) → WindowsDPAPIStore
Propósito
Crea almacenamiento persistente protegido; obtén la clave de cifrado del almacén de credenciales del sistema.
Parámetros
  • directory: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
WindowsDPAPIStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

LaunchException
new LaunchException(string code, int status=0, int retryAfterSeconds=0) → LaunchException
Propósito
Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Parámetros
  • code, status, retryAfterSeconds: Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
LaunchException

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

ISessionStore.Load / MemoryStore.Load / WindowsDPAPIStore.Load
Load(string key) → byte[]?
Propósito
Carga la cuenta mediante una clave aislada; contiene secretos destinados únicamente al SDK.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
byte[]?

Devuelve el registro secreto; su ausencia devuelve un valor vacío o ErrNoSession según el lenguaje.

ISessionStore.Save / MemoryStore.Save / WindowsDPAPIStore.Save
Save(string key, byte[] value) → void
Propósito
Guarda atómicamente la cuenta bajo su clave aislada.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

ISessionStore.Delete / MemoryStore.Delete / WindowsDPAPIStore.Delete
Delete(string key) → void
Propósito
Elimina la cuenta sin borrar la caché de autorización ni el registro de cierre del SDK oficial.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

IRuntime.Start
Start(CancellationToken ct) → Task
Propósito
Inicia verificación y mantenimiento del SDK oficial; usa por separado las API de acceso y protección.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Task

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

IRuntime.Status
Status() → AuthorizationStatus
Propósito
Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.
Resultado
AuthorizationStatus

Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.

IRuntime.RunFeature
RunFeature(string feature, Func<Task> action) → Task
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
Task

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

IRuntime.Deactivate
Deactivate(CancellationToken ct) → Task
Propósito
Cierra la sesión del dispositivo con el SDK oficial; la aplicación revoca aparte la sesión Launch.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Task

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

IRuntime.DisposeAsync
DisposeAsync() → ValueTask
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
ValueTask

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

Java

Código correspondiente · v0.1.6 · Launch.java · EncryptedFileStore.java

Errores y fallos: 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
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • trustedKeys / trusted_keys: Mapa de identificadores de clave a claves públicas para verificar permisos firmados del SDK oficial.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
Resultado
Launch

Devuelve el objeto creado; la inicialización no demuestra autorización.

Launch.login
login(String email, char[] password) → State
Propósito
Inicia sesión con la cuenta de la tienda, obtiene una declaración de identidad temporal e inicia el SDK oficial.
Parámetros
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
Resultado
State

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

Launch.restore
restore() → State
Propósito
Lee la sesión guardada, confirma la cuenta en línea, obtiene una nueva declaración e inicia el SDK oficial.
Resultado
State

Devuelve el estado; ErrNoSession o NO_SESSION indica que no hay sesión guardada. Trata otros errores por separado.

Launch.runFeature
runFeature(String feature, Client.FeatureAction action) → void
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Launch.logout
logout() → void
Propósito
Detiene la autorización local, cierra sesión en el SDK oficial y revoca la sesión Launch. Conserva las tareas remotas pendientes para reintentarlas.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Launch.releaseDevice
releaseDevice() → void
Propósito
Entrada compatible para cerrar sesión explícitamente, con el mismo proceso de cuenta y dispositivo que Logout.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Launch.close
close() → void
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
void

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

API avanzadas y de compatibilidad

Launch
new Launch(Config config, Map<String,Object> product, Path cacheRoot [, Store store, Transport transport, RuntimeFactory factory, Sleeper sleeper]) → Launch
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • config, product: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • cacheRoot: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • store, transport, factory, sleeper: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Launch

Devuelve el objeto creado; la inicialización no demuestra autorización.

Launch.Config
new Launch.Config(String merchantOrigin, String launchProductID, String licentivoProductID, String environment) → Config
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
Resultado
Config

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

Launch.Config.load
Launch.Config.load(Path path) → Config
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • path: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
Config

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

Launch.readPublic
Launch.readPublic(Path path) → Map<String,Object>
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • path: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
Map<String,Object>

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

Launch.MemoryStore
new Launch.MemoryStore() → MemoryStore
Propósito
Crea almacenamiento de sesión válido únicamente durante este proceso.
Resultado
MemoryStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

EncryptedFileStore
new EncryptedFileStore(Path directory, SecretKey vaultKey) → EncryptedFileStore
Propósito
Crea almacenamiento persistente protegido; obtén la clave de cifrado del almacén de credenciales del sistema.
Parámetros
  • directory: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • vaultKey: Clave de cifrado del almacén de credenciales del sistema; nunca la guardes junto a los registros cifrados.
Resultado
EncryptedFileStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

Launch.HTTPTransport.request
request(String method, URI uri, String bearer, byte[] body) → Response
Propósito
Envía solicitudes HTTP de cuenta y devuelve estado, cabeceras o cuerpo sin procesar; no decide autorizaciones.
Parámetros
  • method, uri, bearer, body: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
Response

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

Launch.Failure
new Launch.Failure(String code [, int status, String requestID, long retryAfterMillis, boolean transport]) → Failure
Propósito
Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Parámetros
  • code, status, requestID, retryAfterMillis, transport: Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
Failure

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

Launch.Failure.unavailable
unavailable() → boolean
Propósito
Identifica una indisponibilidad temporal; esto nunca autoriza el uso sin conexión.
Resultado
boolean

Devuelve una clasificación booleana, no una autorización.

Store.load / MemoryStore.load / EncryptedFileStore.load
load(String scope) → byte[] | null
Propósito
Carga la cuenta mediante una clave aislada; contiene secretos destinados únicamente al SDK.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
byte[] | null

Devuelve el registro secreto; su ausencia devuelve un valor vacío o ErrNoSession según el lenguaje.

Store.save / MemoryStore.save / EncryptedFileStore.save
save(String scope, byte[] secret) → void
Propósito
Guarda atómicamente la cuenta bajo su clave aislada.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Store.delete / MemoryStore.delete / EncryptedFileStore.delete
delete(String scope) → void
Propósito
Elimina la cuenta sin borrar la caché de autorización ni el registro de cierre del SDK oficial.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.canStartOffline
canStartOffline() → boolean
Propósito
Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.
Resultado
boolean

Devuelve una clasificación booleana, no una autorización.

Runtime.start
start() → void
Propósito
Inicia verificación y mantenimiento del SDK oficial; usa por separado las API de acceso y protección.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.runFeature
runFeature(String feature, Client.FeatureAction action) → void
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.releaseDevice
releaseDevice() → void
Propósito
Cierra la sesión del dispositivo con el SDK oficial; la aplicación revoca aparte la sesión Launch.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.close
close() → void
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
void

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

RuntimeFactory.create
create(Map<String,Object> settings) → Runtime
Propósito
Crea el adaptador del SDK oficial para integraciones avanzadas; la declaración solo se transmite en memoria.
Parámetros
  • settings: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
Runtime

Devuelve el objeto creado; la inicialización no demuestra autorización.

Sleeper.sleep
sleep(long milliseconds) → void
Propósito
Espera el tiempo indicado para programar reintentos avanzados.
Parámetros
  • milliseconds: Espera recomendada antes de reintentar; distingue segundos, milisegundos y Duration según el lenguaje.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

JavaScript / TypeScript

Código correspondiente · v0.1.6 · index.d.ts · index.mjs

Errores y fallos: await Promise; catch (error); LaunchError(code, status, retryAfterSeconds)

Application.connect
Application.connect(merchantOrigin, productID, licentivoProductID, trustedKeys, options?) → Application
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • trustedKeys / trusted_keys: Mapa de identificadores de clave a claves públicas para verificar permisos firmados del SDK oficial.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application.login
login(email: string, password: string, options?: {signal?: AbortSignal}) → Promise<SessionState>
Propósito
Inicia sesión con la cuenta de la tienda, obtiene una declaración de identidad temporal e inicia el SDK oficial.
Parámetros
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Promise<SessionState>

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

Application.restore
restore(options?: {signal?: AbortSignal}) → Promise<SessionState | null>
Propósito
Lee la sesión guardada, confirma la cuenta en línea, obtiene una nueva declaración e inicia el SDK oficial.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Promise<SessionState | null>

Devuelve el estado de la cuenta; null o nil indica que no hay sesión restaurable. Otros fallos generan errores.

Application.runFeature
runFeature<T>(name: string, action: () => T | Promise<T>) → Promise<T>
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
Promise<T>

Devuelve el resultado de la función de negocio; los fallos de autorización y excepciones generan errores.

Application.logout
logout(options?: {signal?: AbortSignal}) → Promise<boolean>
Propósito
Detiene la autorización local, cierra sesión en el SDK oficial y revoca la sesión Launch. Conserva las tareas remotas pendientes para reintentarlas.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Promise<boolean>

true confirma el cierre; false indica cierre remoto o revocación de dispositivo pendiente. El almacenamiento también puede producir errores.

Application.releaseDevice
releaseDevice(options?: {signal?: AbortSignal}) → Promise<void>
Propósito
Entrada compatible para cerrar sesión explícitamente, con el mismo proceso de cuenta y dispositivo que Logout.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Promise<void>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application.close
close() → Promise<void>
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
Promise<void>

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

API avanzadas y de compatibilidad

Application
new Application(launch: LaunchConfig, product: PublicProductConfig, options?: Options) → Application
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • launch, product: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application.fromFiles
Application.fromFiles(launchPath: string, productPath: string, options?: Options) → Promise<Application>
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • launchPath, productPath: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Promise<Application>

Devuelve el objeto creado; la inicialización no demuestra autorización.

validateConfig
validateConfig(launch: LaunchConfig, product: PublicProductConfig) → {launch: LaunchConfig, product: PublicProductConfig}
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • launch, product: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
{launch: LaunchConfig, product: PublicProductConfig}

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

loadConfig
loadConfig(launchPath: string, productPath: string) → Promise<{launch: LaunchConfig, product: PublicProductConfig}>
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • launchPath, productPath: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
Promise<{launch: LaunchConfig, product: PublicProductConfig}>

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

defaultTransport
defaultTransport(request: Request) → Promise<Response>
Propósito
Envía solicitudes HTTP de cuenta y devuelve estado, cabeceras o cuerpo sin procesar; no decide autorizaciones.
Parámetros
  • request: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
Promise<Response>

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

MemoryStore
new MemoryStore() → MemoryStore
Propósito
Crea almacenamiento de sesión válido únicamente durante este proceso.
Resultado
MemoryStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

EncryptedFileStore
new EncryptedFileStore(directory: string, key: Uint8Array) → EncryptedFileStore
Propósito
Crea almacenamiento persistente protegido; obtén la clave de cifrado del almacén de credenciales del sistema.
Parámetros
  • directory: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • key: Clave de cifrado del almacén de credenciales del sistema; nunca la guardes junto a los registros cifrados.
Resultado
EncryptedFileStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

LaunchError
new LaunchError(code: string, status=0, retryAfterSeconds=0) → LaunchError
Propósito
Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Parámetros
  • code, status, retryAfterSeconds: Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
LaunchError

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

SessionStore.load / MemoryStore.load / EncryptedFileStore.load
load(scope: string) → Promise<SavedSession | null>
Propósito
Carga la cuenta mediante una clave aislada; contiene secretos destinados únicamente al SDK.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
Promise<SavedSession | null>

Devuelve el registro secreto; su ausencia devuelve un valor vacío o ErrNoSession según el lenguaje.

SessionStore.save / MemoryStore.save / EncryptedFileStore.save
save(scope: string, value: SavedSession) → Promise<void>
Propósito
Guarda atómicamente la cuenta bajo su clave aislada.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
Promise<void>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

SessionStore.delete / MemoryStore.delete / EncryptedFileStore.delete
delete(scope: string) → Promise<void>
Propósito
Elimina la cuenta sin borrar la caché de autorización ni el registro de cierre del SDK oficial.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
Promise<void>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.status
status() → {allowed:boolean,state:string} | Promise<{allowed:boolean,state:string}>
Propósito
Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.
Resultado
{allowed:boolean,state:string} | Promise<{allowed:boolean,state:string}>

Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.

Runtime.start
start(onError?: (error: unknown) => void, signal?: AbortSignal) → Promise<unknown>
Propósito
Inicia verificación y mantenimiento del SDK oficial; usa por separado las API de acceso y protección.
Parámetros
  • onError: Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Promise<unknown>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.runFeature
runFeature<T>(name: string, action: () => T | Promise<T>) → Promise<T>
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
Promise<T>

Devuelve el resultado de la función de negocio; los fallos de autorización y excepciones generan errores.

Runtime.deactivate
deactivate(signal?: AbortSignal) → Promise<unknown>
Propósito
Cierra la sesión del dispositivo con el SDK oficial; la aplicación revoca aparte la sesión Launch.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Promise<unknown>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime.logout
logout?(signal?: AbortSignal) → Promise<{local_complete:boolean,revocation_pending:boolean,storage_error?:string}>
Propósito
Cierra la sesión del dispositivo con el SDK oficial; la aplicación revoca aparte la sesión Launch.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Promise<{local_complete:boolean,revocation_pending:boolean,storage_error?:string}>

El cierre local y la revocación remota son distintos. Gestiona pendientes y fallos de almacenamiento; conserva el registro SDK.

Runtime.close
close() → Promise<unknown>
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
Promise<unknown>

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

Rust

Código correspondiente · v0.1.6 · lib.rs · store.rs · transport.rs

Errores y fallos: 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>
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • trustedKeys / trusted_keys: Mapa de identificadores de clave a claves públicas para verificar permisos firmados del SDK oficial.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
Resultado
Result<Application, Failure>

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application::login
login(&mut self, email: &str, password: &str) → Result<State, Failure>
Propósito
Inicia sesión con la cuenta de la tienda, obtiene una declaración de identidad temporal e inicia el SDK oficial.
Parámetros
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
Resultado
Result<State, Failure>

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

Application::restore
restore(&mut self) → Result<State, Failure>
Propósito
Lee la sesión guardada, confirma la cuenta en línea, obtiene una nueva declaración e inicia el SDK oficial.
Resultado
Result<State, Failure>

Devuelve el estado; ErrNoSession o NO_SESSION indica que no hay sesión guardada. Trata otros errores por separado.

Application::run_feature
run_feature<T,F: FnOnce() -> Result<T,Failure>>(&mut self, feature: &str, action: F) → Result<T, Failure>
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
Result<T, Failure>

Devuelve el resultado de la función de negocio; los fallos de autorización y excepciones generan errores.

Application::logout
logout(&mut self) → Result<(), Failure>
Propósito
Detiene la autorización local, cierra sesión en el SDK oficial y revoca la sesión Launch. Conserva las tareas remotas pendientes para reintentarlas.
Resultado
Result<(), Failure>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application::release_device
release_device(&mut self) → Result<(), Failure>
Propósito
Entrada compatible para cerrar sesión explícitamente, con el mismo proceso de cuenta y dispositivo que Logout.
Resultado
Result<(), Failure>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application::close / Drop
close(&mut self) / drop(&mut self) → ()
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
()

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

API avanzadas y de compatibilidad

Application::new
Application::new(config: Config, product: Value, cache_root: PathBuf) → Result<Application, Failure>
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • config, product: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • cache_root: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
Result<Application, Failure>

Devuelve el objeto creado; la inicialización no demuestra autorización.

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>
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • config, product: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • cache_root: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • store, transport, factory, sleeper: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Result<Application, Failure>

Devuelve el objeto creado; la inicialización no demuestra autorización.

Config::new
Config::new(origin: &str, product: &str, runtime_product: &str, environment: &str) → Result<Config, Failure>
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
Resultado
Result<Config, Failure>

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

Config::load
Config::load(path: impl AsRef<Path>) → Result<Config, Failure>
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • path: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
Result<Config, Failure>

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

read_public
read_public(path: impl AsRef<Path>) → Result<Value, Failure>
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • path: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
Result<Value, Failure>

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

MemoryStore::default
MemoryStore::default() → MemoryStore
Propósito
Crea almacenamiento de sesión válido únicamente durante este proceso.
Resultado
MemoryStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

EncryptedFileStore::new
EncryptedFileStore::new(root: PathBuf, vault_key: [u8;32]) → Result<EncryptedFileStore, Failure>
Propósito
Crea almacenamiento persistente protegido; obtén la clave de cifrado del almacén de credenciales del sistema.
Parámetros
  • root: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • vault_key: Clave de cifrado del almacén de credenciales del sistema; nunca la guardes junto a los registros cifrados.
Resultado
Result<EncryptedFileStore, Failure>

Devuelve el objeto creado; la inicialización no demuestra autorización.

CurlTransport::new
CurlTransport::new() → Result<CurlTransport, Failure>
Propósito
Envía solicitudes HTTP de cuenta y devuelve estado, cabeceras o cuerpo sin procesar; no decide autorizaciones.
Resultado
Result<CurlTransport, Failure>

Devuelve el objeto creado; la inicialización no demuestra autorización.

CurlTransport::request
request(&mut self, method: &str, url: &str, bearer: &str, body: &[u8]) → Result<Response, Failure>
Propósito
Envía solicitudes HTTP de cuenta y devuelve estado, cabeceras o cuerpo sin procesar; no decide autorizaciones.
Parámetros
  • method, url, bearer, body: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
Result<Response, Failure>

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

Failure::new
Failure::new(code: &str) → Failure
Propósito
Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Parámetros
  • code: Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
Failure

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

ThreadSleeper::sleep
sleep(&mut self, duration: Duration) → Result<(), Failure>
Propósito
Espera el tiempo indicado para programar reintentos avanzados.
Parámetros
  • duration: Espera recomendada antes de reintentar; distingue segundos, milisegundos y Duration según el lenguaje.
Resultado
Result<(), Failure>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Store::load / MemoryStore::load / EncryptedFileStore::load
load(&mut self, scope: &str) → Result<Option<Vec<u8>>, Failure>
Propósito
Carga la cuenta mediante una clave aislada; contiene secretos destinados únicamente al SDK.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
Result<Option<Vec<u8>>, Failure>

Devuelve el registro secreto; su ausencia devuelve un valor vacío o ErrNoSession según el lenguaje.

Store::save / MemoryStore::save / EncryptedFileStore::save
save(&mut self, scope: &str, value: &[u8]) → Result<(), Failure>
Propósito
Guarda atómicamente la cuenta bajo su clave aislada.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
Result<(), Failure>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Store::delete / MemoryStore::delete / EncryptedFileStore::delete
delete(&mut self, scope: &str) → Result<(), Failure>
Propósito
Elimina la cuenta sin borrar la caché de autorización ni el registro de cierre del SDK oficial.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
Result<(), Failure>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime::run_feature
run_feature(&mut self, feature: &str, action: &mut dyn FnMut() -> Result<(),Failure>) → Result<(), Failure>
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
Result<(), Failure>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime::release_device
release_device(&mut self) → Result<(), Failure>
Propósito
Cierra la sesión del dispositivo con el SDK oficial; la aplicación revoca aparte la sesión Launch.
Resultado
Result<(), Failure>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Runtime::close
close(&mut self) → ()
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
()

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

RuntimeFactory::open / OfficialRuntimeFactory::open
open(&mut self, settings: &Value, cached_only: bool) → Result<Box<dyn Runtime>, Failure>
Propósito
Crea el adaptador del SDK oficial para integraciones avanzadas; la declaración solo se transmite en memoria.
Parámetros
  • settings, cached_only: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
Result<Box<dyn Runtime>, Failure>

Devuelve el objeto creado; la inicialización no demuestra autorización.

RuntimeFactory::for_logout / OfficialRuntimeFactory::for_logout
for_logout(&mut self, settings: &Value) → Result<Box<dyn Runtime>, Failure>
Propósito
Crea el adaptador del SDK oficial para integraciones avanzadas; la declaración solo se transmite en memoria.
Parámetros
  • settings: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
Result<Box<dyn Runtime>, Failure>

Devuelve el objeto creado; la inicialización no demuestra autorización.

Sleeper::sleep
sleep(&mut self, duration: Duration) → Result<(), Failure>
Propósito
Espera el tiempo indicado para programar reintentos avanzados.
Parámetros
  • duration: Espera recomendada antes de reintentar; distingue segundos, milisegundos y Duration según el lenguaje.
Resultado
Result<(), Failure>

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Ruby

Código correspondiente · v0.1.6 · licentivo_launch.rb

Errores y fallos: 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
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • trustedKeys / trusted_keys: Mapa de identificadores de clave a claves públicas para verificar permisos firmados del SDK oficial.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application#login
login(email, password, cancellation: nil) → Hash
Propósito
Inicia sesión con la cuenta de la tienda, obtiene una declaración de identidad temporal e inicia el SDK oficial.
Parámetros
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Hash

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

Application#restore
restore(cancellation: nil) → Hash | nil
Propósito
Lee la sesión guardada, confirma la cuenta en línea, obtiene una nueva declaración e inicia el SDK oficial.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
Hash | nil

Devuelve el estado de la cuenta; null o nil indica que no hay sesión restaurable. Otros fallos generan errores.

Application#run_feature
run_feature(feature) { ... } → T
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
T

Devuelve el resultado de la función de negocio; los fallos de autorización y excepciones generan errores.

Application#logout
logout(cancellation: nil) → true | false
Propósito
Detiene la autorización local, cierra sesión en el SDK oficial y revoca la sesión Launch. Conserva las tareas remotas pendientes para reintentarlas.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
true | false

true confirma el cierre; false indica cierre remoto o revocación de dispositivo pendiente. El almacenamiento también puede producir errores.

Application#release_device
release_device(cancellation: nil) → true | false
Propósito
Entrada compatible para cerrar sesión explícitamente, con el mismo proceso de cuenta y dispositivo que Logout.
Parámetros
  • ctx / ct / signal / cancellation: Contexto de solicitud o señal de cancelación; el contexto de ciclo de vida Go controla también las tareas de fondo.
Resultado
true | false

true confirma el cierre; false indica cierre remoto o revocación de dispositivo pendiente. El almacenamiento también puede producir errores.

Application#close
close → nil
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
nil

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

API avanzadas y de compatibilidad

Application.new
Application.new(launch, product, store: MemoryStore.new, transport: nil, runtime_factory: nil, cache_dir: nil, sleep: nil, pending_attempts: 5) → Application
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • launch, product: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application.from_files
Application.from_files(launch_path, product_path, **options) → Application
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • launchPath, productPath: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • options / config: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

LicentivoLaunch.origin
LicentivoLaunch.origin(value, environment) → String
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • value: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
Resultado
String

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

LicentivoLaunch.validate_config
LicentivoLaunch.validate_config(launch, product) → [Hash, Hash]
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • launch, product: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
[Hash, Hash]

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

LicentivoLaunch.load_config
LicentivoLaunch.load_config(launch_path, product_path) → [Hash, Hash]
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • launchPath, productPath: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
Resultado
[Hash, Hash]

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

LicentivoLaunch.default_transport
LicentivoLaunch.default_transport(request) → Hash
Propósito
Envía solicitudes HTTP de cuenta y devuelve estado, cabeceras o cuerpo sin procesar; no decide autorizaciones.
Parámetros
  • request: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
Hash

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

MemoryStore.new
MemoryStore.new → MemoryStore
Propósito
Crea almacenamiento de sesión válido únicamente durante este proceso.
Resultado
MemoryStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

EncryptedFileStore.new
EncryptedFileStore.new(directory, key) → EncryptedFileStore
Propósito
Crea almacenamiento persistente protegido; obtén la clave de cifrado del almacén de credenciales del sistema.
Parámetros
  • directory: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • key: Clave de cifrado del almacén de credenciales del sistema; nunca la guardes junto a los registros cifrados.
Resultado
EncryptedFileStore

Devuelve el objeto creado; la inicialización no demuestra autorización.

MemoryStore#persistent? / EncryptedFileStore#persistent? / #secure?
persistent? / secure? → true | false
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Resultado
true | false

Devuelve una clasificación booleana, no una autorización.

EncryptedFileStore#path
path(scope) → String
Propósito
Valida o lee la configuración pública; deben coincidir productos, entorno y claves de firma.
Parámetros
  • scope: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
String

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

CancellationToken#cancel / #check!
CancellationToken.new.cancel / check! → true / nil
Propósito
Solicita o comprueba la cancelación cooperativa; cancelar no significa autorización correcta.
Resultado
true / nil

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Error.new
Error.new(code, status: 0, retry_after_seconds: 0) → Error
Propósito
Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Parámetros
  • code, status, retry_after_seconds: Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
Error

Devuelve el tipo indicado en la firma; el resultado no concede permisos de función.

MemoryStore#load / EncryptedFileStore#load
load(scope) → Hash | nil
Propósito
Carga la cuenta mediante una clave aislada; contiene secretos destinados únicamente al SDK.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
Hash | nil

Devuelve el registro secreto; su ausencia devuelve un valor vacío o ErrNoSession según el lenguaje.

MemoryStore#save / EncryptedFileStore#save
save(scope, record) → Object
Propósito
Guarda atómicamente la cuenta bajo su clave aislada.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
Object

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

MemoryStore#delete / EncryptedFileStore#delete
delete(scope) → Object
Propósito
Elimina la cuenta sin borrar la caché de autorización ni el registro de cierre del SDK oficial.
Parámetros
  • scope / key, value / record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
Object

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

C

Código correspondiente · v0.1.6 · account.h · account.c

Errores y fallos: 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 *
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • trustedKeys / trusted_keys: Mapa de identificadores de clave a claves públicas para verificar permisos firmados del SDK oficial.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • remember, store: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
launch_application *

Devuelve un puntero de propiedad transferida; NULL indica fallo de inicialización. Libéralo mediante close.

launch_application_login
launch_application_login(launch_application *app, const char *email, const char *password) → int
Propósito
Inicia sesión con la cuenta de la tienda, obtiene una declaración de identidad temporal e inicia el SDK oficial.
Parámetros
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
Resultado
int

1 indica éxito; 0 indica fallo. Lee el código de error tras fallar.

launch_application_restore
launch_application_restore(launch_application *app) → int
Propósito
Lee la sesión guardada, confirma la cuenta en línea, obtiene una nueva declaración e inicia el SDK oficial.
Resultado
int

1 indica restauración; 0, ausencia de sesión; -1, rechazo o fallo. Lee el código de error tras fallar.

launch_application_run_feature
launch_application_run_feature(app, feature, ln_feature_action action, void *context) → int
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
  • context: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
int

1 indica éxito; 0 indica fallo. Lee el código de error tras fallar.

launch_application_logout
launch_application_logout(launch_application *app) → int
Propósito
Detiene la autorización local, cierra sesión en el SDK oficial y revoca la sesión Launch. Conserva las tareas remotas pendientes para reintentarlas.
Resultado
int

1 indica éxito; 0 indica fallo. Lee el código de error tras fallar.

launch_application_release_device
launch_application_release_device(launch_application *app) → int
Propósito
Entrada compatible para cerrar sesión explícitamente, con el mismo proceso de cuenta y dispositivo que Logout.
Resultado
int

1 indica éxito; 0 indica fallo. Lee el código de error tras fallar.

launch_application_status
launch_application_status(launch_application *app) → char *
Propósito
Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.
Resultado
char *

Devuelve JSON cuya memoria debes liberar con ln_free_string. Sin motor: login_required y allowed=false.

launch_application_error
launch_application_error(const launch_application *app) → const char *
Propósito
Crea o lee errores estructurados para clasificación, espera y diagnóstico correlacionado.
Resultado
const char *

Devuelve una cadena prestada con el código de error. No la liberes ni uses tras destruir la aplicación.

launch_application_close
launch_application_close(launch_application *app) → void
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
void

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

API avanzadas y de compatibilidad

launch_application_open
launch_application_open(origin, product_id, product_config_path, environment, remember, store) → launch_application *
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • product_config_path: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • remember, store: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
launch_application *

Devuelve un puntero de propiedad transferida; NULL indica fallo de inicialización. Libéralo mediante close.

launch_application_from_files
launch_application_from_files(launch_config_path, product_config_path, remember, store) → launch_application *
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • launchPath, productPath: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • remember, store: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
launch_application *

Devuelve un puntero de propiedad transferida; NULL indica fallo de inicialización. Libéralo mediante close.

launch_application_cli
launch_application_cli(int argc, char **argv) → launch_application *
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • argc, argv: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
launch_application *

Devuelve un puntero de propiedad transferida; NULL indica fallo de inicialización. Libéralo mediante close.

launch_login / launch_sign_in
launch_login(account, origin, product_id, config_path, environment, email, password) / launch_sign_in(account, argc, argv) → int
Propósito
API heredada conservada: se eliminó el protocolo de credenciales de licencia permanente y las llamadas fallan. Usa Application.
Parámetros
  • account, origin, product_id, config_path, environment, email, password, argc, argv: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
int

Siempre falla; migra al intercambio de identidad de cuenta.

launch_sign_out
launch_sign_out(launch_account *account, int clear_cache) → void
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Parámetros
  • account, clear_cache: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

ln_free_string
ln_free_string(char *value) → void
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Parámetros
  • value: Devuelve JSON cuya memoria debes liberar con ln_free_string. Sin motor: login_required y allowed=false.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

launch_secret_store.load
load(void *context, const char *scope, char **record) → int
Propósito
Carga la cuenta mediante una clave aislada; contiene secretos destinados únicamente al SDK.
Parámetros
  • context: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • scope, record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
int

1 encontrado, 0 ausente, -1 error de lectura. load asigna record y el llamador lo libera.

launch_secret_store.save
save(void *context, const char *scope, const char *record) → int (1: success, 0: failure)
Propósito
Guarda atómicamente la cuenta bajo su clave aislada.
Parámetros
  • context: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • scope, record: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
int (1: success, 0: failure)

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

launch_secret_store.remove
remove(void *context, const char *scope) → int (1: success, 0: failure)
Propósito
Elimina la cuenta sin borrar la caché de autorización ni el registro de cierre del SDK oficial.
Parámetros
  • context: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
  • scope: Claves de aislamiento y registros secretos SDK; el almacenamiento personalizado debe admitir varias claves y sustitución atómica.
Resultado
int (1: success, 0: failure)

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

C++

Código correspondiente · v0.1.6 · launch.hpp

Errores y fallos: 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
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • merchantOrigin / origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • productID / product_id: Identificador del producto Launch, completado por el código de integración de administración.
  • licentivoProductID / licentivo_product_id: Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
  • trustedKeys / trusted_keys: Mapa de identificadores de clave a claves públicas para verificar permisos firmados del SDK oficial.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • remember, store: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application::Login
Login(const char *email, const char *password) → void
Propósito
Inicia sesión con la cuenta de la tienda, obtiene una declaración de identidad temporal e inicia el SDK oficial.
Parámetros
  • email, password: Correo y contraseña de la cuenta del cliente en esta tienda; usa la contraseña solo para este inicio de sesión.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application::Restore
Restore() → bool
Propósito
Lee la sesión guardada, confirma la cuenta en línea, obtiene una nueva declaración e inicia el SDK oficial.
Resultado
bool

true indica restauración correcta; false indica que no hay sesión restaurable. Los rechazos, vencimientos y errores de red generan errores.

Application::RunFeature
RunFeature(const char *feature, Action action) → void
Propósito
El SDK oficial verifica cada ejecución y solo ejecuta la función de retorno cuando está autorizada.
Parámetros
  • feature / name, action / block: El nombre de función debe coincidir con la política; la función de retorno contiene el trabajo protegido real.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application::Logout
Logout() → void
Propósito
Detiene la autorización local, cierra sesión en el SDK oficial y revoca la sesión Launch. Conserva las tareas remotas pendientes para reintentarlas.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application::ReleaseDevice
ReleaseDevice() → void
Propósito
Entrada compatible para cerrar sesión explícitamente, con el mismo proceso de cuenta y dispositivo que Logout.
Resultado
void

Sin valor de negocio; la finalización normal indica éxito y los errores o excepciones indican fallo.

Application::Status
Status() → std::string (JSON)
Propósito
Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.
Resultado
std::string (JSON)

Lee el estado de autorización del SDK oficial; no inicia sesión ni sustituye la comprobación de cada función.

Application::~Application
~Application() → void
Propósito
Detiene esta instancia y sus tareas conservando el inicio de sesión guardado y la vinculación del dispositivo.
Resultado
void

Sin valor de negocio; cerrar normalmente no confirma cierre de cuenta ni liberación del dispositivo.

API avanzadas y de compatibilidad

Application
Application(origin, product, config, environment="live", remember=false, store=nullptr) → Application
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • origin: Origen completo de la tienda con protocolo y puerto necesario; usa HTTPS en producción.
  • product: Identificador del producto Launch, completado por el código de integración de administración.
  • config: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • environment: sandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
  • remember, store: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application(launch_application *)
explicit Application(launch_application *app) → Application
Propósito
Valida la configuración pública y crea la aplicación; no inicia sesión ni autoriza funciones protegidas.
Parámetros
  • app: Devuelve un puntero de propiedad transferida; NULL indica fallo de inicialización. Libéralo mediante close.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application::FromFiles
Application::FromFiles(launch, product, remember=false, store=nullptr) → Application
Propósito
Lee dos configuraciones públicas existentes, comprueba sus productos y crea la aplicación. La conexión directa no necesita archivos.
Parámetros
  • launch, product: Rutas de configuración elegidas o directorios privados de caché y almacenamiento del usuario actual.
  • remember, store: Opciones de almacenamiento, caché privada, cancelación, reintentos o componentes avanzados.
Resultado
Application

Devuelve el objeto creado; la inicialización no demuestra autorización.

Application(Application&&) / operator=
Application(Application&& other) / operator=(Application&& other) → Application / Application&
Propósito
Transfiere la propiedad de la aplicación nativa. La copia está deshabilitada y el objeto original deja de poseer el puntero.
Parámetros
  • other: Objetos de configuración, motor, transporte o solicitud, solo para integraciones avanzadas.
Resultado
Application / Application&

Devuelve el objeto creado; la inicialización no demuestra autorización.

Campos devueltos

Devuelve el estado de la cuenta; consulta la tabla de campos inferior.

CampoTipoPropósito
Go State.User.ID · JS user.id · Java userID · Rust user_id · Ruby user.idstringIdentificador único de cuenta de la tienda, distinto de los de producto, licencia y dispositivo.
Go User.Email · JS user.email · Java/Rust/Ruby emailstringCorreo de la cuenta; algunos lenguajes solo incluyen el identificador de cuenta en el estado.
Go User.Verified / user.verifiedbooleanIndica si el correo está verificado; no es una autorización de software.
JS user.display_namestring (optional)Nombre visible de la cuenta; se omite si el servidor no lo proporciona.
Go State/Session.ExpiresAt · JS expiresAt · Java expiresAt · Rust/Ruby expires_attime.Time / ISO 8601 / InstantVencimiento de la sesión Launch, distinto del vencimiento de compra o autorización sin conexión.
Java offlineFallback · Rust offline_fallbackboolean = falseCampo de compatibilidad; la restauración actual nunca elige recuperación sin conexión y vale false.
C / C++ status.allowed · C# Status().AllowedbooleanIndica si el SDK oficial permite el uso actual; comprueba las funciones individualmente.
C / C++ status.state · C# Status().StatestringNombre de estado del SDK oficial; puede ser login_required antes del inicio de sesión.
C / C++ status.code · C# Status().CodestringCódigo de error estable para mensajes y ramas de tratamiento.
C / C++ status.request_id · C# Status().RequestIDstringIdentificador de correlación de servidor para diagnóstico; no todos los lenguajes lo exponen.
C / C++ status.retryable · C# Status().RetryablebooleanIndica si se recomienda reintentar; no permite ejecutar funciones protegidas actualmente.
C / C++ status.lease_valid_until · C# Status().LeaseValidUntilUnix secondsVencimiento del permiso firmado del SDK oficial en segundos Unix, distinto del vencimiento de sesión.
Go Identity.ProductID / product_idUUIDIdentificador del producto Launch, completado por el código de integración de administración.
Go Identity.LicentivoProductID / licentivo_product_idUUIDIdentificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma.
Go Identity.LaunchConnectionID / launch_connection_idUUIDIdentificador fijado de conexión Launch; debe coincidir con producto y entorno.
Go Identity.Environment / environmentsandbox | livesandbox o live; mantén cuentas, productos y cachés en el mismo entorno.
Go Identity.IdentityToken / identity_tokenstringDeclaración temporal de un solo uso enviada al SDK oficial en memoria; nunca es una credencial sin conexión.
Go Identity.ExpiresAt / identity.expires_attime.Time / ISO 8601Vencimiento de la declaración de identidad, distinto de la sesión de cuenta y la compra.
Go Session.AccessToken / access_token / tokenstringToken de sesión Launch, devuelto solo por interfaces de sesión de bajo nivel o almacenamiento cifrado.

Los tokens, declaraciones y registros guardados son secretos. No los expongas en registros ni renderizadores del navegador.

Errores y fallos

CampoTipoPropósito
Go APIError.Code · Python APIError.code · C# Code · Java/Rust/Ruby code · JS code · C error()stringCódigo de error estable para mensajes y ramas de tratamiento.
Go APIError.Status · Python status · C# Status · Java/Rust/Ruby/JS statusintegerEstado HTTP; 0 indica que no hay respuesta HTTP disponible.
Go RequestID · Java requestID · Rust request_idstringIdentificador de correlación de servidor para diagnóstico; no todos los lenguajes lo exponen.
Go RetryAfter · Python retry_after · C# RetryAfterSeconds · Java retryAfterMillis · JS/Ruby retryAfterSeconds / retry_after_seconds · Rust retry_afterDuration / s / msEspera recomendada antes de reintentar; distingue segundos, milisegundos y Duration según el lenguaje.

El cierre local y la revocación remota son distintos. Gestiona pendientes y fallos de almacenamiento; conserva el registro SDK.