ho-nl / BolCom_RetailerApi

Package that talks to the bol.com v8 API
10 stars 10 forks source link

Key 'firstName' is missing in data array or is not a string #32

Closed DangerLifter closed 4 years ago

DangerLifter commented 4 years ago

As usually, in real world bol.com api does not match to documentation. I have multiple examples of missed "firstName" in GetOrder responses. As you can see below shipping address doe not contain any names at all.

Stack:

In AddressDetails.php line 207:

  [InvalidArgumentException]                                   
  Key 'firstName' is missing in data array or is not a string  

Exception trace:
  at /var/www/projects/bol.com-app/vendor/bol-com/retailer-api/src/Model/Order/AddressDetails.php:207
 BolCom\RetailerApi\Model\Order\AddressDetails::fromArray() at /var/www/projects/bol.com-app/vendor/bol-com/retailer-api/src/Model/Order/OrderCustomerDetails.php:48
 BolCom\RetailerApi\Model\Order\OrderCustomerDetails::fromArray() at /var/www/projects/bol.com-app/vendor/bol-com/retailer-api/src/Model/Order/Order.php:103
 BolCom\RetailerApi\Model\Order\Order::fromArray() at /var/www/projects/bol.com-app/vendor/bol-com/retailer-api/src/Handler/Order/GetOrderHandler.php:39
 BolCom\RetailerApi\Handler\Order\GetOrderHandler->__invoke() at /var/www/projects/bol.com-app/vendor/bol-com/retailer-api/src/Infrastructure/MessageBus.php:111

Example of response:

Array ( [orderId] => 2912074080 [pickUpPoint] => 1 [dateTimeOrderPlaced] => 2020-04-09T11:16:04+02:00 [customerDetails] => Array ( [shipmentDetails] => Array ( [pickUpPointName] => XXXX [salutationCode] => XXXX [streetName] => XXXX [houseNumber] => XXX [zipCode] => XXXXX [city] => Kaatsheuvel [countryCode] => NL [email] => XXXX@verkopen.bol.com )

        [billingDetails] => Array
            (
                [salutationCode] => 03
                [firstName] => XXXX
                [surName] => XXXX
                [streetName] => XXXX
                [houseNumber] => 17
                [zipCode] => 5171 SP
                [city] => XXX
                [countryCode] => NL
                [email] => XXXXXXX@verkopen.bol.com
            )

    )

[orderItems] => Array
    (
        [0] => Array
            (
                [orderItemId] => XXXXXXX
                [offerReference] => XXXXXXX
                [ean] => XXXXXXX
                [title] => WXXXXXXX
                [quantity] => 1
                [offerPrice] => 18.99
                [offerId] => 81b....67
                [transactionFee] => 3.33
                [latestDeliveryDate] => 2020-04-10
                [offerCondition] => NEW
                [cancelRequest] => 
                [fulfilmentMethod] => FBB
            )

    )

)