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
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:
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 )
)