{"id":16154387,"url":"https://github.com/giansalex/lycet","last_synced_at":"2025-04-06T03:09:00.989Z","repository":{"id":37863235,"uuid":"118643959","full_name":"giansalex/lycet","owner":"giansalex","description":"API REST de Facturación Electrónica Sunat utilizando Greenter. ","archived":false,"fork":false,"pushed_at":"2025-02-05T20:22:55.000Z","size":1209,"stargazers_count":84,"open_issues_count":20,"forks_count":45,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-30T02:06:17.725Z","etag":null,"topics":["api-rest","docker","facturacion-electronica","greenter","php","sunat","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/giansalex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-23T17:22:04.000Z","updated_at":"2025-02-11T23:44:20.000Z","dependencies_parsed_at":"2023-02-17T12:46:09.355Z","dependency_job_id":"3ab81f00-7e54-4cbb-b8a0-c9cef26c61a6","html_url":"https://github.com/giansalex/lycet","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giansalex%2Flycet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giansalex%2Flycet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giansalex%2Flycet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giansalex%2Flycet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giansalex","download_url":"https://codeload.github.com/giansalex/lycet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247427006,"owners_count":20937201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-rest","docker","facturacion-electronica","greenter","php","sunat","symfony"],"created_at":"2024-10-10T01:16:58.364Z","updated_at":"2025-04-06T03:09:00.966Z","avatar_url":"https://github.com/giansalex.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lycet - Greenter\n[![Symfony](https://github.com/giansalex/lycet/actions/workflows/symfony.yml/badge.svg)](https://github.com/giansalex/lycet/actions/workflows/symfony.yml)\n[![PPM Compatible](https://raw.githubusercontent.com/php-pm/ppm-badge/master/ppm-badge.png)](https://github.com/php-pm/php-pm)\n\nLycet es un API REST basado en [greenter](https://github.com/thegreenter/greenter) y Symfony Framework, UBL 2.1 es soportado.\n\n**Objetivo:** Ofrecer una interfaz a greenter desde otros lenguajes de programación. \n\nLIVE (Pruebas)\n\n|      :rocket: |                                      |\n|--------------:|--------------------------------------|\n|URL            | https://greenter-lycet.herokuapp.com/|    \n|API TOKEN      | `greenter`                           |\n\n## Requerimientos\n- Php 7.4 o superior\n- Php Extensions habilitadas (soap, xml, openssl, zlib)\n- WkhtmltoPdf executable (PDF report)\n- Pem Certificate - [convert pfx to pem](https://github.com/thegreenter/xmldsig/blob/master/CONVERT.md)\n\n## Pasos\n\n### Instalar Lycet\n```\ngit clone https://github.com/giansalex/lycet\ncd lycet\ncomposer install -o\n```\n\n### Configuraciones  \nEn el archivo `.env` ubicado en la raíz del proyecto, podrá cambiar estas configuraciones.\n```\n###\u003e greenter/greenter ###\nWKHTMLTOPDF_PATH=full/path/wkhtmltopdf.exe\nCLIENT_TOKEN=123456\nSOL_USER=20000000001MODDATOS\nSOL_PASS=moddatos\nFE_URL=https://e-beta.sunat.gob.pe/ol-ti-itcpfegem-beta/billService\nRE_URL=https://e-beta.sunat.gob.pe/ol-ti-itemision-otroscpe-gem-beta/billService\nGUIA_URL=https://e-beta.sunat.gob.pe/ol-ti-itemision-guia-gem-beta/billService\n###\u003c greenter/greenter ###\n```\n\n\u003e Tener en cuenta que `SOL_USER` es la concatenación del **RUC + Usuario SOL**\n\n### Archivos Requeridos\nSe necesita almacenar el certificado y logo en la carpeta `/data`, los archivos deben tener nombres específicos que se indican\na continuación.\n```\n/data\n├── cert.pem\n├── logo.png\n├── empresas.json (opcional para multiples empresas)\n```\nTambién puede usar [lycet-ui-config](https://giansalex.github.io/lycet-ui-config/) como interfaz de usuario, siendo mas útil\nesta opción cuando emplea contenedores.  \n\nEjemplo de contenido del archivo `empresas.json`, tambien puede cambiar la URL de los servicios para apuntar a un OSE.\n\n```json\n{\n  \"20000000001\": {\n    \"SOL_USER\": \"20000000001MODDATOS\",\n    \"SOL_PASS\": \"moddatos\",\n    \"certificate\": \"20000000001-cert.pem\",\n    \"logo\": \"20000000001-logo.png\"\n  },\n  \"20000000002\": {\n    \"SOL_USER\": \"20000000002MODDATOS\",\n    \"SOL_PASS\": \"moddatos\",\n    \"certificate\": \"20000000002-cert.pem\",\n    \"logo\": \"20000000002-logo.png\",\n    \"FE_URL\": \"https://my-ose.com/billService\",\n    \"RE_URL\": \"https://my-ose.com/billService\",\n    \"GUIA_URL\": \"https://my-ose.com/billService\",\n    \"AUTH_URL\": \"https://api-test-seguridad.sunat.gob.pe/v1\",\n    \"API_URL\": \"https://api-test.sunat.gob.pe/v1\",\n    \"CLIENT_ID\": \"85e5b0ae-255c-4891-a595-0b98c65c9854\",\n    \"CLIENT_SECRET\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  }\n}\n```\n\u003e Para pruebas de Guia de remision, utilizar la siguiente configuración [issue#605](https://github.com/giansalex/lycet/issues/605)\n\n### Ejecutar    \nUsando Php Built-in Web Server.\n```\nphp -S 0.0.0.0:8000 -t public\n```\nIr a http://localhost:8000/\n\n\n### Docker\nDesplegar con Docker.\n```\ngit clone https://github.com/giansalex/lycet\ncd lycet\ndocker build -t lycet .\n\n# copiar certificado y logo de prueba (puedes reemplazar por uno personal)\ncp tests/Resources/* data\n# ejecutar el contenedor\ndocker run -d -p 8000:8000  -v ./data:/var/www/html/data --name lycet_app lycet\n```\n\nAbrir el navegador, y dirígete a http://localhost:8000/\n\n### Docs\n\n- [Conectando lycet desde nodejs](https://github.com/giansalex/lycet-demo-js)\n\nPuedes visitar [greenter en postman](https://www.postman.com/greenter/) que contiene ejemplos del envío de algunos comprobantes.\n\nVer [swagger documentation](http://petstore.swagger.io/?url=https://raw.githubusercontent.com/giansalex/lycet/master/public/swagger.yaml), puedes crear un cliente en [swagger editor](http://editor.swagger.io/?url=https://raw.githubusercontent.com/giansalex/lycet/master/public/swagger.yaml), para tu lenguaje de preferencia.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiansalex%2Flycet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiansalex%2Flycet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiansalex%2Flycet/lists"}