{"id":20101939,"url":"https://github.com/ademdc/ruby-gls","last_synced_at":"2026-06-04T22:31:24.591Z","repository":{"id":48179360,"uuid":"437662158","full_name":"ademdc/ruby-gls","owner":"ademdc","description":"Ruby GLS wrapper","archived":false,"fork":false,"pushed_at":"2022-07-22T15:01:15.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T14:48:25.897Z","etag":null,"topics":["api","gls","ruby","shipment","shipment-tracking","tracking"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/ruby-gls","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ademdc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-12T21:38:30.000Z","updated_at":"2021-12-12T22:16:01.000Z","dependencies_parsed_at":"2022-09-22T14:25:49.862Z","dependency_job_id":null,"html_url":"https://github.com/ademdc/ruby-gls","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/ademdc%2Fruby-gls","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ademdc%2Fruby-gls/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ademdc%2Fruby-gls/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ademdc%2Fruby-gls/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ademdc","download_url":"https://codeload.github.com/ademdc/ruby-gls/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241541452,"owners_count":19979122,"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","gls","ruby","shipment","shipment-tracking","tracking"],"created_at":"2024-11-13T17:27:36.613Z","updated_at":"2026-06-04T22:31:24.586Z","avatar_url":"https://github.com/ademdc.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ruby-GLS\nRuby client for GLS shipment tracker and parcel creator\n\n## Installation\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'ruby-gls', '1.0.5'\n```\n\n...followed with:\n```\nbundle install\n```\n\nOr install it with:\n```\ngem install ruby-gls\n```\n\nYou can find the full GLS documentation in the [this link](https://shipit.gls-group.eu/webservices/3_0_6/doxygen/WS-REST-API/rest_shipment_processing.html#commonSoapShipmentProcessing)\n\n## Usage\n```\nconnection = RubyGLS::Connection.new(base_url: 'https://shipit-wbm-test01.gls-group.eu:8443', basic_auth: 'Mjc2YTQ1ZmtxTTpsWFpCSUY3dVJjY3lLN09ocjY0ZA==', contact_id: '276a45fkqM')\n```\n\nOr with password and username it can be initialized in the following way:\n\n```\nconnection = RubyGLS::Connection.new(base_url: 'https://shipit-wbm-test01.gls-group.eu:8443', username: '276a45fkqM', password: 'lXZBIF7uRccyK7Ohr64d', contact_id: '276a45fkqM')\n```\n\n### Create parcel\n\n```\nopts = {\n  \"Shipment\": {\n      \"ShipmentReference\":[\"Ref-Unit-1234\"],\n      \"Product\":\"PARCEL\",\n      \"Consignee\":{\n          \"ConsigneeID\":\"1234567890\",\n          \"Address\":{\n              \"Name1\":\"Tim Test\",\n              \"Name2\":\"\",\n              \"Name3\":\"\",\n              \"CountryCode\":\"DE\",\n              \"ZIPCode\":\"65760\",\n              \"City\":\"Testingen\",\n              \"Street\":\"Testallee\",\n              \"eMail\":\"tim.test@gls.de\",\n              \"ContactPerson\":\"Laura Test\",\n              \"MobilePhoneNumber\":\"004912345678910\",\n              \"FixedLinePhonenumber\":\"004912345678910\"\n          }\n      },\n      \"Shipper\": {\n          \"ContactID\": \"276a45fkqM\"\n      },\n      \"ShipmentUnit\": [\n          {\n              \"Weight\": 5\n          }\n      ]\n  },\n  \"PrintingOptions\":{\n      \"ReturnLabels\":{\n          \"TemplateSet\":\"NONE\",\n          \"LabelFormat\":\"PDF\"\n      }\n  }\n}\n\nconnection.create_parcel(opts)\n```\n\n### Cancel parcel by ID\n\n```\nconnection.cancel_parcel(\u003cTracking Number\u003e)\n```\n\n### Get end of day report\n\n```\nconnection.get_end_of_day_report(Date.today)\n```\n\n### Get allowed services\n\n```\nopts = {\n  \"Source\":{\n      \"CountryCode\":\"DE\",\n      \"ZIPCode\":\"38106\"\n  },\n  \"Destination\":{\n      \"CountryCode\":\"DE\",\n      \"ZIPCode\":\"65779\"\n  }\n}\n\nconnection.get_allowed_services(opts)\n```\n\n### Update parcel weight\n\n```\nopts = {\n  \"TrackID\": \"ZDF8DOSZ\",\n  \"Weight\": \"17.0\"\n}\n\nconnection.update_parcel_weight(opts)\n\n```\n\nThe base URL for tracking setup to: `https://api.gls-pakete.de/trackandtrace?lang=en`. That can be changed in the following way:\n\n```\nRubyGLS.configure do |config|\n  config.base_url = \u003cYOUR_BASE_URL\u003e\nend\n```\n\n\n### Find a shipment per tracking number\n\n```\ngls = RubyGLS::Connection.find(\u003cTRACKING_NUMBER\u003e)\n\n```\n\n### Response\nA sample success response looks like this:\n\n```\n{\n  tracking_number: '1234567',\n  status: 'Delivered',\n  status_description: 'The parcel has been delivered',\n  parcel_number: 'ABC123',\n  detailed_tracking: [\n    {\n      date: 08.12.2021,\n      time: 08:12,\n      parcel_status: 'The parcel has been picked up by GLS.',\n      location: 'Germany Nuernberg-Hafen'\n    }\n    ...\n  ]\n}\n```\n\n## Thank you for using RubyGLS!\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fademdc%2Fruby-gls","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fademdc%2Fruby-gls","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fademdc%2Fruby-gls/lists"}