best-brands / bol-com-retailer-api

A Bol.com API client with full object mapping
10 stars 6 forks source link

Update to V6.4 API #5

Open harm-smits opened 3 years ago

harm-smits commented 3 years ago

Requires the following endpoints to be added:

Retailer promotions

Request an unpublished offer report containing all unpublished offers and reasons.

There are also a number of model changes (+ addition, ~ changed, - removed):

+ Asset (url, labels) + BestSellingOffer (countryCode, unitPrice) + Campaign (name, startDateTime, endDateTime) \~ CustomerDetails \~ DeliveryOption \~ Inventory \~ LabelPrice \~ PackageRestrictions + Product (ean, relevanceScores, maximumPrice, bestSellingOffers) \~ ProductContent (+assets) + Promotion (promotionId, title, startDateTime, endDateTime, countries, promotionType, products, retailerSpecificPromotion) + Promotions (promotions) + ReducedProduct (ean) + ReducedPromotion (promotionId, title, startDateTime, endDateTime, countries, promotionType, retailerSpecificPromotion) \~ ReducedShipment \~ ReducedTransport \~ Reduction + RelevanceScore (countryCode, relevanceScore) \~ Shipment + TransportEvent (eventCode, eventDateTime)

Breaking changes

CustomerDetails

\~ Salutation has been changed to salutation from salutationCode for custom salutations. It is also no longer bound by an enumerable. \~ houseNumberExtended has been renamed to houseNumberExtension

DeliveryOption

\~ First only labelPrice and packageRestrictions were required, now a lot more attrbiutes are required. Namely labelDisplayName, labelPrice, labelType, packageRestrictions, recommended, shippingLabelOfferId and transporterCode + recommended + labelDisplayName

Inventory

- bsku has been removed and is no longer a required attribute.

LabelPrice

+ totalPrice is now required

PackageRestrictions

+ maxDimensions and maxWeight are now required attributes.

ReducedShipment

\~ shipmentId is now a string instead of an int64.

ReducedTransport

\~ transportId is now a string instead of an int64.

Reduction

\~ endDate is no longer required

Shipment

\~ shipmentId is now a string instead of an int64.

ShipmentTransport

\~ transportId is now a string instead of an int64. + transportEvents has been added

A few notable changes:

  1. The enum for countries has disappeared. Most likely bol.com will want to expand to e.g. germany, hence these restrictions are removed.
  2. Salutation is no longer an enum. Customers might be able to specify a custom salutation in the future.
  3. The product content API now allows assets to be attached.
  4. TransportEvents allow you to view the package status from labels from bol.com
WeTurkstra commented 2 years ago

Thanks for all the work you are doing on this library. When is v6 going to be supported?

Is there anything i can do to help you to support the next version?

harm-smits commented 2 years ago

This was scheduled for a few weeks from now as the release for v7 is also approaching.

harm-smits commented 2 years ago

@WeTurkstra For now, this has been archived. We have migrated all Customers to a third party integrator which has a single API for all marketplaces. You can attempt to generate a new SDK by downloading the swagger files and generating a PHP client though :)

WeTurkstra commented 2 years ago

@harm-smits Thanks for your message. Too bad this library has been discontinued. Thanks for all the work you have done for it! I will try it.

vanengers commented 2 years ago

Are you saying this library is unusable when V5 is deprecated?

WeTurkstra commented 2 years ago

Unfortunatly that seems to be the case :(

harm-smits commented 2 years ago

@vanengers Yes. But, as mentioned before, you can generate an entire SDK with swagger these days, so I don't really see much use in regenerating an up to date SDK.