From d3d1d6b5e6254229cce8392ff3d8070702de715f Mon Sep 17 00:00:00 2001 From: Walter Date: Mon, 10 Mar 2025 02:20:52 +0100 Subject: [PATCH] Added additional purchase methods spec --- methods/avatar_marketplace_orders_v2.py | 26 +++++++++++++++++++++++++ methods/base.py | 5 ++++- methods/economy_v1.py | 1 - methods/marketplace_v1.py | 24 +++++++++++++++++++++++ 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 methods/avatar_marketplace_orders_v2.py create mode 100644 methods/marketplace_v1.py diff --git a/methods/avatar_marketplace_orders_v2.py b/methods/avatar_marketplace_orders_v2.py new file mode 100644 index 0000000..e210d5f --- /dev/null +++ b/methods/avatar_marketplace_orders_v2.py @@ -0,0 +1,26 @@ +""" + + + + +headers: +- csrf-token +- x-bound-auth* (optional) +cookies: probably .roblosecurity + +https://apis.roblox.com/cloud/v2/avatar-marketplace-orders?idempotencyKey.key=35440611-15f9-4986-a2dc-1fe7f0a8f697 + +{ + "purchasingUser": "users/1337", + "context": { + "productSurface": "SHOPPING_CART_WEB" + }, + "fulfillmentGroups": [{ + "strategy": "BEST_EFFORT", + "lineItems": [{ + "collectibleProductId": "1741e256-ae5b-4bf5-aef2-f6f5f3436e57", + "agreedPriceRobux": 0 + }] + }] +} +""" diff --git a/methods/base.py b/methods/base.py index b5ef978..750c151 100644 --- a/methods/base.py +++ b/methods/base.py @@ -40,4 +40,7 @@ class Purchaser: def get_asset_metadata(self, asset_id): return self.request(url=f"https://catalog.roblox.com/v1/catalog/items/{asset_id}/details", - params={"itemType": "asset"}).json() \ No newline at end of file + params={"itemType": "asset"}).json() + + def get_asset_metadata_extended(self, asset_id): + return self.request(url=f"https://economy.roblox.com/v2/assets/{asset_id}/details").json() \ No newline at end of file diff --git a/methods/economy_v1.py b/methods/economy_v1.py index f2c1d40..12aa95b 100644 --- a/methods/economy_v1.py +++ b/methods/economy_v1.py @@ -42,6 +42,5 @@ class EconomyV1(Purchaser): "expectedPrice": 0, "expectedSellerId": creator_target_id }) - data = r.json() print(data, r.headers) diff --git a/methods/marketplace_v1.py b/methods/marketplace_v1.py new file mode 100644 index 0000000..07a4e06 --- /dev/null +++ b/methods/marketplace_v1.py @@ -0,0 +1,24 @@ + +""" + +Buying this asset went like this: +asset_id: 2493587489 + +headers: +- csrf-token +- x-bound-auth* (optional) + +POST https://apis.roblox.com/marketplace-sales/v1/item/8387139d-2fdf-4534-849c-93e7e84f319f/purchase-item + +{ + "collectibleItemId": "8387139d-2fdf-4534-849c-93e7e84f319f", + "expectedCurrency": 1, + "expectedPrice": 0, + "expectedPurchaserId": "1337", + "expectedPurchaserType": "User", + "expectedSellerId": 1, + "expectedSellerType": "User", + "idempotencyKey": "896b20d0-a738-45af-91b0-d9eb4e0765ae", + "collectibleProductId": "89bfd74b-cdab-4031-9aa8-ab2c69cc68c7" +} +""" \ No newline at end of file