arca_connect_sdk 0.1.4
arca_connect_sdk: ^0.1.4 copied to clipboard
SDK para integrar factura electrónica ARCA (ex AFIP) en Flutter/Dart. Emití facturas A, B, C con CAE.
arca_connect_sdk #
SDK en Dart para integrar factura electrónica ARCA (ex AFIP) en aplicaciones Flutter o Dart. Permite emitir comprobantes (A, B, C), obtener CAE y consultar parámetros vía la API REST de ARCA Connect.
Requisitos #
- Dart SDK
>=3.8.0 <4.0.0 - Cuenta y API Key en ARCA Connect
Instalación #
Agregá la dependencia en pubspec.yaml:
dependencies:
arca_connect_sdk: ^0.1.4
Luego:
dart pub get
Ejemplos en el repositorio #
La carpeta example/ es una mini-app Dart que depende del SDK por ruta local (path: ../), útil para probar cambios antes de publicar.
Requisitos #
- Tener Dart instalado (la misma versión que cumpla
sdk: '>=3.8.0 <4.0.0'del paquete). - Una API Key y un CUIT válidos de ARCA Connect.
Pasos #
-
Clonar o copiar el repositorio y situarse en la raíz del paquete (donde está el
pubspec.yamlprincipal). -
Entrar al ejemplo e instalar dependencias (resuelve
arca_connect_sdkdesde../):cd example dart pub get -
Editar credenciales en
example/lib/main.dart: reemplazáapiKey: 'arca_sk_test_xxx'ycuitpor valores reales de prueba. No subas claves al repositorio. -
Ejecutar el programa:
dart run lib/main.dart
Qué hace el ejemplo #
- Crea
ArcaConnectSdkcon el entorno elegido (ArcaEnvironment.developmentoproduction). - Activa
sdk.enableLoggingpara imprimir en consola el request/response HTTP completos (útil para depurar). - Llama a
sdk.params.healthCheck()(no solotestConnection) y muestra un resumen con el estado de AppServer, DbServer y AuthServer, más el JSON del modeloArcaHealth.
Si la API Key o el CUIT no son válidos, el SDK lanzará al construir el cliente o al llamar a la API; revisá el mensaje y los logs HTTP.
Uso rápido #
import 'package:arca_connect_sdk/arca_connect_sdk.dart';
final sdk = ArcaConnectSdk(
apiKey: 'arca_sk_test_xxx',
cuit: '20111111112',
environment: ArcaEnvironment.development,
);
final ok = await sdk.testConnection();
if (!ok) {
// Revisar red / API Key
}
final result = await sdk.invoices.create(
InvoiceData(
puntoVenta: 1,
cbteTipo: CbteTipo.facturaB,
concepto: Concepto.productos,
docTipo: DocTipo.consumidorFinal,
docNro: '0',
impTotal: 1210,
impNeto: 1000,
impIva: 210,
// ...
),
);
print(result.cae);
print(result.cbteNumero);
Configuración #
| Parámetro | Descripción |
|---|---|
apiKey |
Debe comenzar con arca_sk_ (test o live según documentación). |
cuit |
11 dígitos, sin guiones. |
environment |
ArcaEnvironment.development o production. |
baseUrl |
Opcional: sobrescribe la URL por defecto del entorno. |
timeout |
Por defecto 30 s. |
Servicios principales #
sdk.invoices:create,get,list,getLastNumber.sdk.params:healthCheck,getCbteTipos,getIvaTipos,getMonedas,getCotizacion.
Logging HTTP #
sdk.enableLogging(); // usa print por defecto
sdk.enableLogging(logPrint: (o) => debugPrint('$o')); // en Flutter
Tests #
El paquete incluye tests unitarios con un cliente mock:
dart test
Publicación (mantenedores) #
-
Verificar con dry-run:
dart pub publish --dry-run -
Si todo es correcto, publicar (requiere cuenta en pub.dev vinculada a Google):
dart pub publish
Licencia #
Ver el archivo LICENSE.