{"id":19903406,"url":"https://github.com/zdavatz/yopenedi","last_synced_at":"2025-10-06T12:56:54.394Z","repository":{"id":40351115,"uuid":"261486225","full_name":"zdavatz/yopenedi","owner":"zdavatz","description":"OpenTrans 2.1/EDIFACT D.96A File converter","archived":false,"fork":false,"pushed_at":"2025-08-04T08:09:56.000Z","size":20756,"stargazers_count":4,"open_issues_count":5,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-04T12:00:58.251Z","etag":null,"topics":["as2","converter","edifact-d96a","mdn","opentrans-21","x400","ywesee"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zdavatz.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,"zenodo":null}},"created_at":"2020-05-05T13:54:50.000Z","updated_at":"2025-08-04T08:10:01.000Z","dependencies_parsed_at":"2024-06-12T23:17:17.522Z","dependency_job_id":"587c159d-e77b-4e37-b34c-9b1f297543c7","html_url":"https://github.com/zdavatz/yopenedi","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/zdavatz/yopenedi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdavatz%2Fyopenedi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdavatz%2Fyopenedi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdavatz%2Fyopenedi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdavatz%2Fyopenedi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zdavatz","download_url":"https://codeload.github.com/zdavatz/yopenedi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdavatz%2Fyopenedi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278614465,"owners_count":26015967,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["as2","converter","edifact-d96a","mdn","opentrans-21","x400","ywesee"],"created_at":"2024-11-12T20:23:36.225Z","updated_at":"2025-10-06T12:56:54.344Z","avatar_url":"https://github.com/zdavatz.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yopenedi\nOpenTrans 2.1/EDIFACT D.96A File converter\n1. Convert order Files to and from OpenTrans 2.1/[EDIFACT D.96A](http://www.unece.org/trade/untdid/d96a/content.htm)\\\nFocus on the opening [UNH/UNT](https://user-images.githubusercontent.com/4953/82047602-5c4bb800-96b3-11ea-9b7d-5560743676dd.jpeg) Tags. They contain the order information like Buyer, Seller, Contact Address and itmes list. UNB is just the message header. Each order file will only contain one combination of UNH/UNT that needs be converted into Opentrans 2.1 XML ([Sample Order XML Files from OpenTrans 2.1](https://onedrive.live.com/?authkey=%21AE6Pkn3o6xLay9A\u0026cid=8DB8718F73B2D606\u0026id=8DB8718F73B2D606%2114103\u0026parId=8DB8718F73B2D606%2114099\u0026o=OneUp))\n2. Send order files as attachment in EDIFACT D.96A format to an IMAP Email address and convert them to the OpenTrans 2.1 format.\n3. Send order files to a domain i.e. https://test.yopenedi.ch/as2 using the AS2 standard according to [MIME-Based Secure Peer-to-Peer Business Data Interchange Using HTTP, Applicability Statement 2 (AS2)](https://tools.ietf.org/html/rfc4130)\n3. Import OpenTrans 2.1 files from FTP and convert them to EDIFACT D.96A and send the converted file as Email-Attachment from an IMAP Email address to a dedicated Email address.\n4. Send Opentrans 2.1 XML files to this [URL](https://connect.boni.ch/OpaccOne/B2B/Channel/XmlOverHttp/ywesee)\n5. Receive Opentrans 2.1 XML files at this [URL](https://yopenedi.ch/input)\n\n## FAQ\n### EDIFACT D.96A\n* [Stackoverflow](https://stackoverflow.com/questions/11295551/is-there-a-really-simple-way-to-process-edifact-for-example-d96a)\\\n** Just split at the sytax chars: first at `'` to get the segments, than at `+` to get data elements of that segments and at `:` to get the individual components.\n* [edifact-parser](https://www.npmjs.com/package/edifact-parser)\n* [Truugo](https://www.truugo.com/edifact/d96a/orders/)\n* [Edicat](https://github.com/notpeter/edicat)\n* [Edivisualizer](https://stackoverflow.com/questions/32889967/what-algorithm-to-use-to-format-an-edifact-file)\n#### Useful Windows Tools\n* [EDI Notepad](https://download.cnet.com/EDI-Notepad/3000-20411_4-76182031.html)\n* [R2ediviewer](http://r2ediviewer.de/index.html)\n### Opentrans 2.1\n* [Opentrans 2.1 XSD](https://www.opentrans.de/XMLSchema/2.1/opentrans_2_1.xsd)\n### AS2 Gateway\n* https://medium.com/@manjulapiyumal/getting-start-with-as2-protocol-using-as2gateway-and-openas2-796249cfd3ac\n* https://github.com/OpenAS2/OpenAs2App\n* https://github.com/abhishek-ram/django-pyas2\n### Send AS2 message with Curl\n* https://stackoverflow.com/questions/42390232/edi-as2-http-trace\n* https://docs.axway.com/bundle/B2Bi_230_AdministratorsGuide_allOS_en_HTML5/page/Content/Transports/Secure_file/curl_tool.htm\n\n## Certbot for Ubuntu 20.04\n* https://certbot.eff.org/lets-encrypt/ubuntufocal-other\n* `certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d 'test.yopenedi.ch'`\n\n## Digital Ocean deployment\n### Input and Output files\n* Input files: `yopenedi/edifact_orders`\n* Output files: `yopenedi/opentrans_orders`\n\n### Apache setup\n```\n\u003cVirtualHost *:80\u003e\n  ServerName test.yopenedi.ch\n  Redirect permanent / https://test.yopenedi.ch\n\u003c/VirtualHost\u003e\n\n\u003cVirtualHost 104.248.255.2:443\u003e\n  ServerName test.yopenedi.ch\n  ProxyPreserveHost On\n  ProxyPass  /excluded !\n  ProxyPass / http://127.0.0.1:3000/\n  ProxyPassReverse / http://127.0.0.1:3000/\n  SSLEngine on\n  SSLCertificateFile /etc/letsencrypt/live/test.yopenedi.ch/cert.pem\n  SSLCertificateKeyFile /etc/letsencrypt/live/test.yopenedi.ch/privkey.pem\n  SSLCertificateChainFile /etc/letsencrypt/live/test.yopenedi.ch/chain.pem\n\u003c/VirtualHost\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdavatz%2Fyopenedi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzdavatz%2Fyopenedi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdavatz%2Fyopenedi/lists"}