{"id":25839693,"url":"https://github.com/netresearch/dhl-sdk-api-ecom-us","last_synced_at":"2026-02-24T02:32:31.873Z","repository":{"id":56967620,"uuid":"349022713","full_name":"netresearch/dhl-sdk-api-ecom-us","owner":"netresearch","description":"Create labels for DHL eCommerce including the relevant shipping documents.","archived":false,"fork":false,"pushed_at":"2026-02-13T20:09:43.000Z","size":109,"stargazers_count":2,"open_issues_count":7,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-02-14T03:27:57.574Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/netresearch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-18T09:59:59.000Z","updated_at":"2026-01-05T15:40:19.000Z","dependencies_parsed_at":"2022-08-21T09:50:42.579Z","dependency_job_id":null,"html_url":"https://github.com/netresearch/dhl-sdk-api-ecom-us","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/netresearch/dhl-sdk-api-ecom-us","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fdhl-sdk-api-ecom-us","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fdhl-sdk-api-ecom-us/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fdhl-sdk-api-ecom-us/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fdhl-sdk-api-ecom-us/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netresearch","download_url":"https://codeload.github.com/netresearch/dhl-sdk-api-ecom-us/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fdhl-sdk-api-ecom-us/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29769176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T01:40:24.820Z","status":"online","status_checked_at":"2026-02-24T02:00:07.497Z","response_time":75,"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":[],"created_at":"2025-03-01T04:34:05.885Z","updated_at":"2026-02-24T02:32:31.838Z","avatar_url":"https://github.com/netresearch.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DHL eCommerce US API SDK\n\nThe DHL eCommerce US API SDK package offers an interface to the following web services:\n\n- DHL eCommerce Solutions Americas API, version 4\n\n## Requirements\n\n### System Requirements\n\n- PHP 7.1+ with JSON extension\n\n### Package Requirements\n\n- `netresearch/jsonmapper`: Mapper for deserialization of JSON response messages into PHP objects\n- `php-http/discovery`: Discovery service for HTTP client and message factory implementations\n- `php-http/httplug`: Pluggable HTTP client abstraction\n- `php-http/logger-plugin`: HTTP client logger plugin for HTTPlug\n- `psr/http-client`: PSR-18 HTTP client interfaces\n- `psr/http-factory`: PSR-7 HTTP message factory interfaces\n- `psr/http-message`: PSR-7 HTTP message interfaces\n- `psr/log`: PSR-3 logger interfaces\n\n### Virtual Package Requirements\n\n- `psr/http-client-implementation`: Any package that provides a PSR-18 compatible HTTP client\n- `psr/http-factory-implementation`: Any package that provides PSR-7 compatible HTTP message factories\n- `psr/http-message-implementation`: Any package that provides PSR-7 HTTP messages\n\n### Development Package Requirements\n\n- `nyholm/psr7`: PSR-7 HTTP message factory \u0026 message implementation\n- `phpunit/phpunit`: Testing framework\n- `php-http/mock-client`: HTTPlug mock client implementation\n- `phpstan/phpstan`: Static analysis tool\n- `squizlabs/php_codesniffer`: Static analysis tool\n\n## Installation\n\n```bash\n$ composer require dhl/sdk-api-ecom-us\n```\n\n## Uninstallation\n\n```bash\n$ composer remove dhl/sdk-api-ecom-us\n```\n\n## Testing\n\n```bash\n$ ./vendor/bin/phpunit -c test/phpunit.xml\n```\n\n## Features\n\nThe DHL eCommerce US API SDK supports the following features:\n\n* Create Label\n* Create Manifest\n\n### Label Creation\n\nCreate labels for DHL eCommerce including the relevant shipping documents.\n\n#### Public API\n\nThe library's components suitable for consumption comprise\n\n* services:\n  * service factory\n  * label service\n  * data transfer object builder\n* data transfer objects:\n  * authentication storage\n  * label with package identifiers and label data\n\n#### Usage\n\n```php\n$logger = new \\Psr\\Log\\NullLogger();\n$authStorage = new \\Dhl\\Sdk\\EcomUs\\Model\\Auth\\AuthenticationStorage(\n    $username = 'u5er',\n    $password = 'p4ss'\n);\n\n$serviceFactory = new \\Dhl\\Sdk\\EcomUs\\Service\\ServiceFactory();\n$service = $serviceFactory-\u003ecreateLabelService($authStorage, $logger, $sandbox = true);\n\n$requestBuilder = new \\Dhl\\Sdk\\EcomUs\\Model\\Label\\LabelRequestBuilder();\n$requestBuilder-\u003esetShipperAccount(\n    $pickupAccountNumber = '5323000',\n    $distributionCenter = 'USMCO1'\n);\n$requestBuilder-\u003esetShipperAddress(\n    $country = 'US',\n    $postalCode = '33324',\n    $city = 'Plantation',\n    $streetLines = ['1210 South Pine Island Road'],\n    $company = 'DHL eCommerce'\n);\n$requestBuilder-\u003esetReturnAddress(\n    $country = 'US',\n    $postalCode = '33324',\n    $city = 'Plantation',\n    $streetLines = ['1210 South Pine Island Road'],\n    $company = 'DHL eCommerce'\n);\n$requestBuilder-\u003esetRecipientAddress(\n    $country = 'US',\n    $postalCode = '90232',\n    $city = 'Culver City',\n    $streetLines = ['10441 Jefferson Blvd.', 'Suite 200'],\n    $name = 'Jane Doe',\n    $company = 'Foo Factory',\n    $email = 'foo@example.org',\n    $phone = '800 123456',\n    $state = 'CA'\n);\n\n$requestBuilder-\u003esetPackageId($uniquePackageId = 'TEST-9876543210');\n$requestBuilder-\u003esetPackageDetails(\n    $shippingProduct = 'PLT',\n    $currency = 'USD',\n    $packageWeight = 1.2,\n    $weightUnit = 'LB'\n);\n\n$labelRequest = $requestBuilder-\u003ecreate();\n$label = $service-\u003ecreateLabel($labelRequest);\n```\n\n### Manifestation\n\nCreate a package manifest and retrieve documentation.\n\n#### Public API\n\nThe library's components suitable for consumption comprise\n\n* services:\n  * service factory\n  * manifest service\n* data transfer objects:\n  * authentication storage\n  * manifest with documents and package errors\n\n#### Usage\n\n```php\n$logger = new \\Psr\\Log\\NullLogger();\n$authStorage = new \\Dhl\\Sdk\\EcomUs\\Model\\Auth\\AuthenticationStorage(\n    $username = 'u5er',\n    $password = 'p4ss'\n);\n\n$serviceFactory = new \\Dhl\\Sdk\\EcomUs\\Service\\ServiceFactory();\n$service = $serviceFactory-\u003ecreateManifestationService($authStorage, $logger, $sandbox = true);\n\n// create manifest for all available packages\n$manifest = $service-\u003ecreateManifest($pickupAccountNumber = '5323000');\n\n// OR create manifest for certain packages, identified by number\n$manifest = $service-\u003ecreatePackageManifest(\n    $pickupAccountNumber = '5323000',\n    $packageIds = [\n        \"TEST-0123456789\",\n        \"TEST-9876543210\"\n    ]\n);\n\n// documentation may not be instantly available, try again later\nif ($manifest-\u003egetStatus() !== \\Dhl\\Sdk\\EcomUs\\Api\\Data\\ManifestInterface::STATUS_COMPLETED) {\n    $manifest = $service-\u003egetManifest(\n        $pickupAccountNumber = '5323000',\n        $requestId = $manifest-\u003egetRequestId()\n    );\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetresearch%2Fdhl-sdk-api-ecom-us","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetresearch%2Fdhl-sdk-api-ecom-us","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetresearch%2Fdhl-sdk-api-ecom-us/lists"}