christoph-schaeffer / dhl-business-shipping

An unofficial library for the DHL business shipping soap API (Version 3.3) and the dhl shipment tracking rest API written in PHP.
MIT License
29 stars 8 forks source link

[FR] Add Tracking functionality #9

Closed wolfgangmauer closed 2 years ago

wolfgangmauer commented 3 years ago

It would be nice to get tracking information, so as not to use multiple api's

christoph-schaeffer commented 3 years ago

Hello again @wolfgangmauer,

I am alrrady planning to create a lib for the dhl tracking api, however creating shipments and tracking them have esch their own dhl api. For example the shipment creation uses SOAP and the tracking API uses Rest.

Because of that im planning to create a new repository for that. So it will be a different library. I hope you don't mind :-)

wolfgangmauer commented 3 years ago

Hmmm, try to see it from a user's point of view I don't want to worry about which interface is used, that would be the great thing to simply start a tracking query via the client

Something like this:

$request = new \ChristophSchaeffer\Dhl\Request\tracking([trackingIds]); $response = $client->tracking($request);

Am 09.06.2021 um 18:57 schrieb Christoph Schäffer:

Hello again @wolfgangmauer https://github.com/wolfgangmauer,

I am alrrady planning to create a lib for the dhl tracking api, however creating shipments and tracking them have esch their own dhl api. For example the shipment creation uses SOAP and the tracking API uses Rest.

Because of that im planning to create a new repository for that. So it will be a different library. I hope you don't mind :-)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/christoph-schaeffer/dhl-business-shipping/issues/9#issuecomment-857868510, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGVIUPE5Z4DNIATHG6SKIWLTR6MPLANCNFSM46HJXL5Q.

christoph-schaeffer commented 3 years ago

I totally agree with you, but the thing is those 2 APIs work different, they also need different php extensions. If i woulf just need tracking for my Website i would need to install the PHP-Soap extension even though it is never used.

I don't really think that using 2 composer packages would be more bothersome...

Well if you have an exception or status message handler which is called for all functions it would be easier to have one client instead of 2, that's true.

It's actually not set in stone that i will make another repository. I will most likely think about that again when i start to work on the tracking api

christoph-schaeffer commented 3 years ago

I was also thinking about making a third package which abstracts those 2 otjer packages into one, aswell. But im not really sure if that is necessary...

christoph-schaeffer commented 3 years ago

Hello @wolfgangmauer,

After thinking about it for a while i came up with an architecture that would be clean and could have both tracking and shipping features in this library.

I will add the tracking feature in Q4 this year. 👍

best regards

wolfgangmauer commented 3 years ago

Perfect!

Am 24.07.2021 um 09:44 schrieb Christoph Schäffer:

Hello @wolfgangmauer https://github.com/wolfgangmauer,

After thinking about it for a while i came up with an architecture that would be clean and could have both tracking and shipping features in this library.

I will add the tracking feature in Q4 this year. 👍

best regards

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/christoph-schaeffer/dhl-business-shipping/issues/9#issuecomment-886015483, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGVIUPCK3VTIYCSDEN45RLDTZJVN5ANCNFSM46HJXL5Q.

wolfgangmauer commented 3 years ago

Has there already been any progress ?

christoph-schaeffer commented 3 years ago

Hello Wolfgang,

unfortunatly not yet, but like i've said at around Q4 it should be done. So the maximum would be december 31st.

wolfgangmauer commented 2 years ago

Hmmmmm ;-)

christoph-schaeffer commented 2 years ago

Hey @wolfgangmauer ,

yes you're right the deadline didn't work in the end... But, im pretty far. You can check the commits on the develop branch.

I'm thinking of splitting the Client class into 2 different Client classes because those 2 apis require different authentication parameters. Instead of the dhl business customer account name. For Tracking they want a "zT Kennung". What do you think? 2 Classes or a new optional parameter?

Im planning to finish in the next few days. However i can't promise anything...

I'll notify you here when its released 👍

wolfgangmauer commented 2 years ago

Personally, I would prefer an additional parameter

Am 05.01.2022 um 14:39 schrieb Christoph Schäffer:

Hey @wolfgangmauer https://github.com/wolfgangmauer ,

yes you're right the deadline didn't work in the end... But, im pretty far. You can check the commits on the develop branch.

I'm thinking of splitting the Client class into 2 different Client classes because those 2 apis require different authentication parameters. Instead of the dhl business customer account name. For Tracking they want a "zT Kennung". What do you think? 2 Classes or a new optional parameter?

Im planning to finish in the next few days. However i can't promise anything...

I'll notify you here when its released 👍

— Reply to this email directly, view it on GitHub https://github.com/christoph-schaeffer/dhl-business-shipping/issues/9#issuecomment-1005693856, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGVIUPGQM47C2HNQVPI4XKLUURC2JANCNFSM46HJXL5Q. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

christoph-schaeffer commented 2 years ago

Hello @wolfgangmauer

Just wanted to let you know how the new tracking function is going.

I finished the implementation. However i am currently writing some last unit tests. The coverage is ~96% so far.

After that however i still need to write documentation for all the functions.

In the meantime you can feel free to check the develop branch.

I would especially like to know what you think of the deprecation i have added to almost every class that existed so far because i restructered the project to have folders for each api (tracking and shipping)... it is kind of annoying to change the paths for an existing project which is why ive added those empty classes that extend from the moved ones...

So already written implementations will still work without changes after the update for now. At some point i plan to remove the classes though. Maybe at 3.3 or 3.4 or maybe at 4.0

wolfgangmauer commented 2 years ago

Awesome, i will !

christoph-schaeffer commented 2 years ago

@wolfgangmauer with version 3.2.0 tracking has been added.

Thanks for your support.

closing the issue.