Factumel — Tu facturación electrónica, más simple.
SDKs de Factumel API

PHP/Laravel y JavaScript/Node.js

Integrá Factumel desde un servidor utilizando un SDK sin dependencias pesadas. Ambos clientes implementan las operaciones de creación, firma, envío, consulta de estado, PDF y XML, además de CAE y preparación fiscal.

Estado: los SDKs están disponibles como código fuente en el repositorio de Factumel. Aún no se publicaron oficialmente en Packagist o npm. No incluyas las API keys en navegadores, apps móviles o código cliente.

SDK PHP 8.2+ / Laravel

Cliente cURL con interfaz de transporte, excepción por HTTP, soporte de 429/Retry-After y métodos fiscales explícitos. Preparado para registrar como singleton de Laravel.

SDK JavaScript / TypeScript

Cliente ESM para Node.js 20+, tipado TypeScript y fetch inyectable, sin dependencias. Admite pruebas offline con el runner nativo de Node.

Las versiones incluidas en el repositorio incorporan issueAndSubmitDocument y los métodos de CFE recibidos (receivedDocuments, receivedDocument y receivedXml). La emisión en una llamada exige externalId y responde 202 si DGI está pendiente; no aplica reintentos fiscales automáticos.

PHP: crear cliente

use Factumel\Sdk\Client;

$factumel = new Client(
    apiKey: getenv('FACTUMEL_API_KEY'),
);

$companies = $factumel->companies();
$cae = $factumel->cae($companyId, '111');
$ready = $factumel->issuanceReadiness($companyId, '111');

JavaScript: crear cliente

import { FactumelClient } from "@factumel/sdk";

const factumel = new FactumelClient({
  apiKey: process.env.FACTUMEL_API_KEY,
});

const companies = await factumel.companies();
const cae = await factumel.cae(companyId, { documentType: "111" });
const ready = await factumel.issuanceReadiness(companyId, "111");

La importación con nombre de paquete funcionará cuando se instale desde la carpeta fuente con un gestor compatible o tras publicarlo. Para pruebas dentro del propio repositorio es posible importar desde sdk/javascript/src/index.mjs.

Recuperación ante errores de red

Ambos clientes obligan a proporcionar un externalId al crear un CFE. Si una solicitud de emisión o envío pierde conexión, no repitas el POST a ciegas. Recuperá el documento por companyId y externalId, consultá su estado y conciliá antes de tomar decisiones.

Los SDKs no transmiten datos fiscales hasta que tu aplicación llama explícitamente a issueDocument o submitDocument. Los ejemplos no confirman la habilitación en DGI.

Pruebas

php sdk/php/tests/run.php
npm run test:sdk:javascript

El test de JavaScript se incorpora al build de Dokploy; PHP requiere que el entorno de prueba tenga PHP y ext-curl. Las pruebas offline no sustituyen los casos E2E con ePrueba de DGI.

Continuar con el ciclo de emisión →