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
errorSin 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
errorSin 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
errorSin 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
voidSin 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
*ClientDevuelve 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
errorSin 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
errorSin 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
boolDevuelve 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
stringDevuelve 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
errorDevuelve 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
errorSin 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
errorSin 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
errorSin 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
errorSin 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
errorSin 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
voidSin 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
ApplicationDevuelve 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
booltrue 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
TDevuelve 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
booltrue 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
booltrue 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
NoneSin 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 / NoneSin 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
ApplicationDevuelve 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
ApplicationDevuelve 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
MemoryStoreDevuelve 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
WindowsDPAPIStoreDevuelve 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
APIErrorDevuelve 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 | NoneDevuelve 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
NoneSin 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
NoneSin 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
ApplicationDevuelve 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
TaskSin 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
TaskSin 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
TaskSin 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
TaskSin 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
ValueTaskSin 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
ApplicationDevuelve 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
ApplicationDevuelve 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
MemoryStoreDevuelve 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
WindowsDPAPIStoreDevuelve 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
LaunchExceptionDevuelve 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
voidSin 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
voidSin 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
TaskSin 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
AuthorizationStatusLee 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
TaskSin 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
TaskSin 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
ValueTaskSin 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
LaunchDevuelve 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
StateDevuelve 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
StateDevuelve 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
voidSin 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
voidSin 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
voidSin 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
voidSin 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
LaunchDevuelve 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
ConfigDevuelve 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
ConfigDevuelve 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
MemoryStoreDevuelve 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
EncryptedFileStoreDevuelve 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
ResponseDevuelve 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
FailureDevuelve 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
booleanDevuelve 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[] | nullDevuelve 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
voidSin 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
voidSin 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
booleanDevuelve 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
voidSin 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
voidSin 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
voidSin 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
voidSin 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
RuntimeDevuelve 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
voidSin 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
ApplicationDevuelve 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
ApplicationDevuelve 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
MemoryStoreDevuelve 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
EncryptedFileStoreDevuelve 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
LaunchErrorDevuelve 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
MemoryStoreDevuelve 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
FailureDevuelve 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
ApplicationDevuelve 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
HashDevuelve 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 | nilDevuelve 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
TDevuelve 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 | falsetrue 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 | falsetrue 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
nilSin 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
ApplicationDevuelve 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
ApplicationDevuelve 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
StringDevuelve 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
HashDevuelve 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
MemoryStoreDevuelve 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
EncryptedFileStoreDevuelve 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 | falseDevuelve 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
StringDevuelve 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 / nilSin 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
ErrorDevuelve 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 | nilDevuelve 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
ObjectSin 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
ObjectSin 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
int1 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
int1 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
int1 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
int1 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
int1 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
voidSin 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
intSiempre 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
voidSin 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
voidSin 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
int1 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
ApplicationDevuelve 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
voidSin 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
booltrue 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
voidSin 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
voidSin 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
voidSin 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
voidSin 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
ApplicationDevuelve 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
ApplicationDevuelve 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
ApplicationDevuelve 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.
| Campo | Tipo | Propósito |
|---|---|---|
Go State.User.ID · JS user.id · Java userID · Rust user_id · Ruby user.id | string | Identificador único de cuenta de la tienda, distinto de los de producto, licencia y dispositivo. |
Go User.Email · JS user.email · Java/Rust/Ruby email | string | Correo de la cuenta; algunos lenguajes solo incluyen el identificador de cuenta en el estado. |
Go User.Verified / user.verified | boolean | Indica si el correo está verificado; no es una autorización de software. |
JS user.display_name | string (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_at | time.Time / ISO 8601 / Instant | Vencimiento de la sesión Launch, distinto del vencimiento de compra o autorización sin conexión. |
Java offlineFallback · Rust offline_fallback | boolean = false | Campo de compatibilidad; la restauración actual nunca elige recuperación sin conexión y vale false. |
C / C++ status.allowed · C# Status().Allowed | boolean | Indica si el SDK oficial permite el uso actual; comprueba las funciones individualmente. |
C / C++ status.state · C# Status().State | string | Nombre de estado del SDK oficial; puede ser login_required antes del inicio de sesión. |
C / C++ status.code · C# Status().Code | string | Código de error estable para mensajes y ramas de tratamiento. |
C / C++ status.request_id · C# Status().RequestID | string | Identificador de correlación de servidor para diagnóstico; no todos los lenguajes lo exponen. |
C / C++ status.retryable · C# Status().Retryable | boolean | Indica si se recomienda reintentar; no permite ejecutar funciones protegidas actualmente. |
C / C++ status.lease_valid_until · C# Status().LeaseValidUntil | Unix seconds | Vencimiento del permiso firmado del SDK oficial en segundos Unix, distinto del vencimiento de sesión. |
Go Identity.ProductID / product_id | UUID | Identificador del producto Launch, completado por el código de integración de administración. |
Go Identity.LicentivoProductID / licentivo_product_id | UUID | Identificador del producto de licencia Licentivo; debe coincidir con la configuración pública de firma. |
Go Identity.LaunchConnectionID / launch_connection_id | UUID | Identificador fijado de conexión Launch; debe coincidir con producto y entorno. |
Go Identity.Environment / environment | sandbox | live | sandbox o live; mantén cuentas, productos y cachés en el mismo entorno. |
Go Identity.IdentityToken / identity_token | string | Declaración temporal de un solo uso enviada al SDK oficial en memoria; nunca es una credencial sin conexión. |
Go Identity.ExpiresAt / identity.expires_at | time.Time / ISO 8601 | Vencimiento de la declaración de identidad, distinto de la sesión de cuenta y la compra. |
Go Session.AccessToken / access_token / token | string | Token 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
| Campo | Tipo | Propósito |
|---|---|---|
Go APIError.Code · Python APIError.code · C# Code · Java/Rust/Ruby code · JS code · C error() | string | Código de error estable para mensajes y ramas de tratamiento. |
Go APIError.Status · Python status · C# Status · Java/Rust/Ruby/JS status | integer | Estado HTTP; 0 indica que no hay respuesta HTTP disponible. |
Go RequestID · Java requestID · Rust request_id | string | Identificador 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_after | Duration / s / ms | Espera 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.