Ir al contenido

Licencias de funciones de software y límites de uso

Permitir exportar difiere de 500 exportaciones mensuales. RunFeature comprueba permisos; RunMeteredFeature confirma el uso tras el éxito.

Permitir 500 exportaciones al mes

Añade export a las funciones y una cuota: export, 500, Mensual. Por defecto rechaza al agotarse. Para exceso, fija su máximo; el sistema registra usos extra para tu sistema de pedidos.

Cuotas diarias y mensuales reinician a medianoche UTC; las acumuladas no. Cambiar límites no borra usos consumidos.

Confirmar el uso tras una exportación correcta

Pasa tu función al SDK. Cada tarea nueva necesita otro ID; los reintentos conservan ID, función y cantidad. No ejecutes el mismo ID simultáneamente en distintos procesos.

IdiomaLlamada de operación medida
Goclient.RunMeteredFeature(ctx, "export", 1, jobID, exportReport)
Javaclient.runMeteredFeature("export", 1, jobID, this::exportReport)
Node.jsawait client.runMeteredFeature("export", 1, jobID, exportReport)
Pythonclient.run_metered_feature("export", 1, job_id, export_report)
C#await client.RunMeteredFeature("export", 1, jobID, ExportReport)
C++client.RunMeteredFeature("export", 1, jobID, exportReport)
Rustclient.run_metered_feature("export", 1, &job_id, || export_report())?
Rubyclient.run_metered_feature("export", 1, job_id) { export_report }
Cln_run_metered_feature(client, "export", 1, job_id, export_report, context)

Configure a meter for the actual feature in your policy, then generate the AI integration prompt. AI should use the language's RunMeteredFeature with a stable business operation ID, preserving that ID when retrying the same task.

El SDK guarda confirmaciones pendientes.

Si la operación funciona pero falla la confirmación, el reintento solo confirma. Un fallo durante la operación bloquea la repetición automática. Revisa el resultado persistido y usa ResolveMeteredFeature para confirmar o cancelar. Uso remoto y trabajo local no son una transacción única.

Cuando necesites controlar las reservas
  1. Crea y guarda un ID de tarea para esta exportación.
  2. Reserva una unidad y exporta solo tras pending. committed indica que ya terminó; no lo repitas.
  3. Tras exportar correctamente y guardar el resultado, llama a Commit para confirmar el uso.
  4. Si la exportación falla antes de terminar, llama a Cancel para liberar la reserva sin consumir unidades.

Las reservas duran 15 minutos por defecto, menos si cambia el periodo UTC. La API permite reservation_seconds entre 30 y 3600 segundos.

IdiomaReservarConfirmar / Cancelar
GoReserve(ctx, "export", 1, jobID)Commit / Cancel(ctx, hold.ID, jobID)
Java / Node.jsreserve("export", 1, jobID)commit / cancel(id, jobID)
Cln_reserve(client, "export", 1, jobID)ln_commit / ln_cancel(client, id, jobID)
C++ / C#Reserve("export", 1, jobID)Commit / Cancel(id, jobID)
Pythonreserve("export", 1, jobID)commit / cancel(id, jobID)

¿Cómo interpretar los campos de respuesta?

CampoSignificado
reservation_id / operation_idID de reserva y de tarea original; reutiliza los mismos valores en los reintentos.
status / expires_atEstado y plazo: pending espera terminar, committed está descontado, canceled se liberó, expired caducó.
consumption.used / reservedUsos confirmados en este periodo / unidades retenidas por todas las reservas activas.
consumption.limit / remainingCupo básico / unidades básicas disponibles. remaining = max(0, limit - used - reserved), sin exceso permitido.
consumption.quantity / overageUnidades de esta tarea / unidades confirmadas por encima del cupo básico; no se cobra al cliente.
consumption.period / reset_atPeriodo UTC / próximo reinicio; los cupos de por vida tienen reset_at = null.

Consulta los cuerpos, respuestas y tipos de campo de Reserve, Commit y Cancel en la referencia de la API.

Si la confirmación agota el tiempo, reintenta solo la confirmación.

Tras el éxito, no canceles ni repitas la exportación. Guarda IDs y resultado y reintenta Commit. Si la reserva caducó, conserva la tarea para conciliación. El consumo remoto y el trabajo local no forman una transacción atómica.

Consume sigue descontando de inmediato. Usa reservas para no contar trabajos fallidos. Todos los endpoints de uso requieren conexión y quedan fuera de las cuatro operaciones API facturables de la plataforma.