API: ejecutar conteos y transferencias de stock
El plugin StockAvanzado añade dos endpoints a la API de FacturaScripts para ejecutar operaciones de stock pendientes desde sistemas externos: finalizar un conteo de stock (inventario) y finalizar una transferencia entre almacenes.
Ambos endpoints son equivalentes en funcionamiento: reciben una petición POST, identifican el registro por su parámetro code y aplican la operación sobre el stock. Solo actúan sobre registros que aún no estén completados.
🔑 Autenticación
Como el resto de la API de FacturaScripts, las llamadas se autentican con una API key enviada en la cabecera Token (también se acepta X-Auth-Token).
Puedes crear y gestionar tus API keys en menú Admin → Panel de control → API. Recuerda que la API debe estar habilitada en la configuración.
📥 counting-execute — Ejecutar un conteo de stock
Finaliza un conteo de stock (inventario) existente, aplicando las cantidades contadas al stock real. Equivale a pulsar el botón Actualizar stock en la pantalla del conteo.
- Ruta:
/api/3/counting-execute - Método:
POST - Parámetro:
code— identificador del conteo (idconteo).
Ejemplo:
curl -X POST "https://TU-DOMINIO/api/3/counting-execute?code=123" \
-H "Token: TU_API_KEY"
Respuesta correcta:
{ "status": "ok", "message": "Counting executed" }
🔄 transfer-execute — Ejecutar una transferencia de stock
Finaliza una transferencia de stock entre almacenes existente, restando el stock del almacén de origen y sumándolo al de destino. Equivale a pulsar el botón Transferir stock en la pantalla de la transferencia.
- Ruta:
/api/3/transfer-execute - Método:
POST - Parámetro:
code— identificador de la transferencia (idtrans).
Ejemplo:
curl -X POST "https://TU-DOMINIO/api/3/transfer-execute?code=456" \
-H "Token: TU_API_KEY"
Respuesta correcta:
{ "status": "ok", "message": "Transfer executed" }
⚠️ Respuestas de error
Ambos endpoints devuelven el mismo formato JSON { "status": "error", "message": "..." } con el código HTTP correspondiente:
| Código HTTP | Situación | message |
| --- | --- | --- |
| 405 Method Not Allowed | La petición no es POST | Method not allowed |
| 404 Not Found | No existe el conteo/transferencia con ese code | Counting not found / Transfer not found |
| 400 Bad Request | El registro ya estaba completado | Counting already completed / Transfer already completed |
| 500 Internal Server Error | Error al aplicar la operación sobre el stock | Error executing counting / Error executing transfer |
💡 Notas
- Los endpoints solo ejecutan operaciones ya creadas; no crean el conteo ni la transferencia. Para crear los registros y sus líneas, usa los recursos estándar de la API (
conteostocks,lineaconteostocks,transferenciastocks,lineatransferenciastocks) o la interfaz web. - Una vez ejecutado, el registro queda marcado como completado y no puede volver a ejecutarse (devolvería el error 400).
- Flujo habitual: crear el conteo/transferencia y sus líneas por API, y después llamar al endpoint correspondiente para aplicarlo al stock.