Sie sind auf Seite 1von 3

Barneys bot: add to cart and checkout using fast multithreading.

We are basically automating an app


The app name is barneys newyork. You need to install it on your iphone. I debugged it and found the
necessary requests which I explain below.
How it works:
Keep monitoring json response in main request. Once inventoryDetails.skuInventoryStatus.
productAvailabilityStatus=1000 then execute all accounts to add to cart and checkout. [ I have the add
to cart request but you need to grab checkout requests from iphone app]
So the bot will keep sending the request every x seconds and analyze the response and once we see
1000 then we will launch all accounts. For testing purposes when u finish the bot, it will always should
FOUND from first request as long as I use a valid product.
This is the json response the main checker request. So if there is 1000 then fire up all accounts. Below is
the request also.

Monitor request: [GET request] everything is static except for the number at the end of the path.
That will vary depending on what user input in the field in the bot. (because thats whatever
product they want)
PATH:
https://prod.barneys.com/rest/model/barneys/commerce/catalog/BNYProductDetailDisplayActor/
getProductDetailsPageInfo?_dynSessConf=-3495808324103777677&productId=504572168
HEADERS:
x-oc-client-id: jiBm8bCtdcEly2b4kNyqVqhRuHpRipUm
Host: prod.barneys.com

Add to cart: [POST request] everything is static except 1. for productId in the body (thats the same
number the user put in the bot. its the product identifier). 2. catalogRefIds thats the size identifier.
This value will be randomly picket from a pool of numbers that can be found in the json response
the main stock request. So once we see there is 1000 in the response, it means the shoe is in stock
and so the size identifier will be also in the json response (take a look at the json response picture
above, you will see all the sizes numbers along with = signs.. thats how many of each size there are
but its irrelevant. You will pick a random size number and assign it to this request.
3. last thing thats not static is obviously the cookie session. Each account is an independent session
PATH:
https://prod.barneys.com/rest/model/atg/commerce/order/purchase/CartModifierActor/addItem
ToOrder
HEADERS:
Host: prod.barneys.com
Accept: */*
Proxy-Connection: keep-alive
Authorization: Basic c3RvcmVmcm9udDpiYXJuZXlz
Accept-Language: en-US, en-us;q=0.8
Accept-Encoding: gzip, deflate
Content-Type: application/json; charset=utf-8
Content-Length: 126
x-oc-client-id: jiBm8bCtdcEly2b4kNyqVqhRuHpRipUm
Connection: keep-alive
User-Agent: Barneys/57 (iPhone; iOS 9.3.3; Scale/2.00)
Cookie: userPrefLanguage=en_US;
JSESSIONID=Pm96ijM3UNMWw3fJW4pvxMknhK0VGINne7NuyFsiyE26mU1bPVPp!1045937042!763
427-prodapp2!20880!-1; userPrefLanguage=en_US
BODY:
{"siteId":"BNY","quantity":"1","productId":"504629307","_dynSessConf":"3495808324103777677","catalogRefIds":"00505046293107"}

Third and final step is checking out. Each account will be entered along with shipping/billing address and
credit card information that will be used to checkout. You will have to debug checkout process on app to
recreate it in the bots

Das könnte Ihnen auch gefallen