Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ws Laravel Package

greenter/ws

Cliente PHP para conectar con los Web Services de SUNAT y enviar comprobantes electrónicos. Parte del ecosistema Greenter, con documentación oficial y soporte vía issues/pull requests en el repositorio principal.

View on GitHub
Deep Wiki
Context7

Conexión a los Servicios SOAP de Sunat - Facturación Electrónica - Greenter

Frequently asked questions about Ws
¿Cómo instalo greenter/ws en un proyecto Laravel para enviar facturas electrónicas a SUNAT?
Usa Composer para instalarlo con `composer require greenter/ws`. Luego registra el servicio en `AppServiceProvider` y configura tus credenciales (certificado digital, RUC, etc.) en el archivo `config/sunat.php`. El paquete incluye facades para simplificar llamadas como `SUNAT::sendInvoice($xmlPayload)`.
¿Qué versiones de Laravel y PHP soporta greenter/ws?
El paquete es compatible con PHP 7.2+ y Laravel 8 en adelante. Para versiones anteriores (como Laravel 7), puede requerir ajustes menores en la configuración de dependencias, especialmente si usas facades o servicios. Verifica la sección de *Backward Compatibility* en la documentación oficial.
¿Cómo genero el XML para el comprobante electrónico antes de enviarlo con greenter/ws?
El XML debe seguir los esquemas XSD de SUNAT (ej. UBL 2.1 para facturas). Puedes generarlo manualmente o usar librerías como `ext-simplexml` o `xmlschema` para validarlo. Greenter recomienda usar herramientas como *Sunat’s Test Environment* para validar el XML antes de enviarlo. Ejemplo: `SUNAT::validateXml($xml)`.
¿El paquete soporta el envío de otros documentos electrónicos además de facturas (ej. boletas, guías de remisión)?
Sí, greenter/ws está diseñado para enviar cualquier tipo de comprobante electrónico que SUNAT requiera (facturas, boletas, notas de crédito, guías de remisión). Solo debes ajustar el XML según el tipo de documento y usar el endpoint SOAP correspondiente. Consulta la [documentación oficial](https://greenter.dev/packages/ws/) para ejemplos específicos.
¿Cómo manejo errores comunes como '1001' (firma digital inválida) o '4001' (XML mal formado) en producción?
El paquete lanza excepciones con códigos de error de SUNAT. Captúralas con un `try-catch` y registra los logs para depuración. Para errores de firma, verifica que tu certificado `.p12` esté correctamente configurado en `config/sunat.php` y que el XML esté firmado digitalmente. Usa el *Ambiente de Pruebas de SUNAT* para validar antes de producción.
¿Puedo probar greenter/ws sin enviar solicitudes reales a SUNAT (ej. en CI/CD o desarrollo local)?
Sí, puedes mockear las respuestas de SUNAT usando herramientas como *VCR* o *Pest* para Laravel. Configura un middleware o interceptor en Guzzle para simular respuestas de prueba. La documentación sugiere usar el *Ambiente de Pruebas de SUNAT* (https://e-factura.sunat.gob.pe) para validaciones iniciales antes de pasar a producción.
¿Cómo manejo la seguridad de los certificados digitales (.p12) en producción? ¿Es seguro almacenarlos en el código?
No es seguro almacenar certificados `.p12` en el repositorio. Usa herramientas como *Laravel Vault*, *AWS Secrets Manager* o variables de entorno cifradas (ej. `env:SUNAT_CERTIFICATE`). Greenter recomienda cargar el certificado dinámicamente desde un almacenamiento seguro en la configuración del paquete.
¿Qué alternativas existen si greenter/ws no cumple con mis requisitos (ej. soporte para SUNAT API v3 o microservicios)?
Alternativas incluyen usar la librería oficial de SUNAT (`sunat-peru/soap-client`), crear un wrapper personalizado con `phpseclib` y `Guzzle`, o integrar directamente con el SOAP de SUNAT usando `SoapClient`. Para microservicios, podrías exponer greenter/ws como un servicio interno o usar *Laravel Horizon* para procesar colas asíncronas.
¿Cómo optimizo el rendimiento si envío miles de comprobantes electrónicos al día con greenter/ws?
Para alto volumen, implementa caching de respuestas repetitivas (ej. `Laravel Cache`), usa colas de Laravel para procesar solicitudes asíncronas, y ajusta los timeouts de Guzzle. SUNAT tiene límites de rate, así que implementa *exponential backoff* para retries. Monitorea métricas con *Laravel Telescope* o *Prometheus* para identificar cuellos de botella.
¿Quién mantiene greenter/ws y cómo reporto un error o solicito una nueva funcionalidad?
El paquete es mantenido por el equipo de Greenter. Reporta errores o solicita mejoras abriendo un *issue* en el [repositorio principal](https://github.com/thegreenter/greenter) o enviando un *pull request*. Para soporte urgente, usa la documentación oficial o contacta a través de los canales de Greenter. Si SUNAT cambia su API, evalúa forkear el paquete para mantener compatibilidad.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky