dazza-dev/sri-sender

Paquete para hacer recepción y autorización de XML firmados (Factura, Guía de remisión, Nota crédito, Nota débito y Comprobante de retención) a los servidores SRI (Ecuador).

Installs: 24

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/dazza-dev/sri-sender

v1.0.0 2025-10-17 20:40 UTC

This package is auto-updated.

Last update: 2025-10-17 20:41:15 UTC


README

Paquete para hacer recepción y autorización de XML firmados (Factura, Guía de remisión, Nota crédito, Nota débito y Comprobante de retención) a los servidores SRI (Ecuador).

Instalación

composer require dazza-dev/sri-sender

Uso

use DazzaDev\SriSender\Sender;

// Instanciar el sender
$sender = new Sender(test: true); // Usar entorno de pruebas (test: true)

// XML como string
$xmlContent = file_get_contents(__DIR__ . '/factura.xml');

// Enviar XML a recepción
$validationResult = $sender->validate($xmlContent);

// Enviar XML a autorización
$accessKey = 'clave_acceso_del_documento';
$authorizationResult = $sender->authorize($accessKey);

Recepción y Autorización en un solo paso

// Enviar XML a recepción y autorización en un solo paso
$result = $sender->send($accessKey, $xmlContent);

if ($result['success']) {
    echo "Validación y autorización exitosas!";
    echo "Status: " . $result['status'];
} else {
    echo "Validación y/o autorización fallidas: " . $result['error'];
}

Uso con Configuración Personalizada

use DazzaDev\SriSender\Sender;
use DazzaDev\SriSender\Config\SriConfig;

// Configuración personalizada
$config = new SriConfig(
    soapOptions: [
        'connection_timeout' => 300,
        'default_socket_timeout' => 300,
        'user_agent' => 'My Custom Agent'
    ],
    retryConfig: [
        'maxAttempts' => 3,
        'delaySeconds' => 2
    ]
);

// Instanciar el sender con la configuración personalizada
$sender = new Sender(test: false, $config);

// Validar XML
try {
    $result = $sender->validate($xmlContent);

    if ($result['success']) {
        echo "Validación exitosa!";
        echo "Status: " . $result['status'];
    } else {
        echo "Validación fallida: " . $result['error'];
    }
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}

Generar y Firmar XML

Para generar y firmar XML, puedes utilizar los paquetes:

Contribuciones

Contribuciones son bienvenidas. Si encuentras algún error o tienes ideas para mejoras, por favor abre un issue o envía un pull request. Asegúrate de seguir las guías de contribución.

Autor

SRI Sender fue creado por DAZZA.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.