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.
| Idioma | Llamada de operación medida |
|---|---|
| Go | client.RunMeteredFeature(ctx, "export", 1, jobID, exportReport) |
| Java | client.runMeteredFeature("export", 1, jobID, this::exportReport) |
| Node.js | await client.runMeteredFeature("export", 1, jobID, exportReport) |
| Python | client.run_metered_feature("export", 1, job_id, export_report) |
| C# | await client.RunMeteredFeature("export", 1, jobID, ExportReport) |
| C++ | client.RunMeteredFeature("export", 1, jobID, exportReport) |
| Rust | client.run_metered_feature("export", 1, &job_id, || export_report())? |
| Ruby | client.run_metered_feature("export", 1, job_id) { export_report } |
| C | ln_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.
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
- Crea y guarda un ID de tarea para esta exportación.
- Reserva una unidad y exporta solo tras pending. committed indica que ya terminó; no lo repitas.
- Tras exportar correctamente y guardar el resultado, llama a Commit para confirmar el uso.
- 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.
| Idioma | Reservar | Confirmar / Cancelar |
|---|---|---|
| Go | Reserve(ctx, "export", 1, jobID) | Commit / Cancel(ctx, hold.ID, jobID) |
| Java / Node.js | reserve("export", 1, jobID) | commit / cancel(id, jobID) |
| C | ln_reserve(client, "export", 1, jobID) | ln_commit / ln_cancel(client, id, jobID) |
| C++ / C# | Reserve("export", 1, jobID) | Commit / Cancel(id, jobID) |
| Python | reserve("export", 1, jobID) | commit / cancel(id, jobID) |
¿Cómo interpretar los campos de respuesta?
| Campo | Significado |
|---|---|
| reservation_id / operation_id | ID de reserva y de tarea original; reutiliza los mismos valores en los reintentos. |
| status / expires_at | Estado y plazo: pending espera terminar, committed está descontado, canceled se liberó, expired caducó. |
| consumption.used / reserved | Usos confirmados en este periodo / unidades retenidas por todas las reservas activas. |
| consumption.limit / remaining | Cupo básico / unidades básicas disponibles. remaining = max(0, limit - used - reserved), sin exceso permitido. |
| consumption.quantity / overage | Unidades de esta tarea / unidades confirmadas por encima del cupo básico; no se cobra al cliente. |
| consumption.period / reset_at | Periodo 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.
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.