RMC Store Service - zeroKilo/GROBackendWV GitHub Wiki

Custom RMC service for shop transactions.

Method ID Method Name
1 GetSKUs
2 GetSKUsByID
3 BuyItem
4 AddItemToShoppingCart
5 RemoveItemFromShoppingCart
6 GetShoppingCart
7 CheckOut
8 EnterCoupons
9 RemoveUnusedCoupons
10 GetOutstandingStoreTransactions
11 GetShoppingDetails
12 BuyWeaponAndAttachComponents
13 BuyAndAttachComponents
14 BuyAndRepairItem
15 BuyAbilityWithUpgrades
16 BuyAndAttachUpgrades
17 InitiateBuyItem
18 CompleteBuyItem
19 CancelBuyItem
20 InitiateBuyWeaponAndAttachComponents
21 CompleteBuyWeaponAndAttachComponents
22 InitiateBuyAndAttachComponents
23 CompleteBuyAndAttachComponents
24 InitiateBuyAndRepairItem
25 CompleteBuyAndRepairItem
26 InitiateBuyAbilityWithUpgrades
27 CompleteBuyAbilityWithUpgrades
28 InitiateBuyAndAttachUpgrades
29 CompleteBuyAndAttachUpgrades
30 InitiateBuyArmourAndAttachInserts
31 CompleteBuyArmourAndAttachInserts
32 InitiateBuyAndAttachInserts
33 CompleteBuyAndAttachInserts

(1) GetSKUs

Request

Empty request.

Response

Type Name
List<GR5_SKU> _SKUVector

(2) GetSKUsByID

Request

Type Name
List<Uint32> _SKUIDVector

Response

Type Name
List<GR5_SKU> _SKUVector

(3) BuyItem

Request

Type Name
List<GR5_CartItem> _CartItemVector

Response

Type Name
List<GR5_UserItem> _InventoryVector
List<Uint32> _UsedCouponsVector

(4) AddItemToShoppingCart

Request

Type Name
List<GR5_CartItem> _CartItemVector

Response

Empty response.

(5) RemoveItemFromShoppingCart

Request

Type Name
List<GR5_CartItem> _CartItemVector

Response

Empty response.

(6) GetShoppingCart

Request

Empty request.

Response

Type Name
List<GR5_CartItem> _CartItemVector

(7) CheckOut

Request

Empty request.

Response

Type Name
List<GR5_CartItem> _CartItemVector
List<GR5_UserItem> _InventoryVector
List<Uint32> _UsedCouponsVector

(8) EnterCoupons

Request

Type Name
List<String> _CouponKeyVector

Response

Type Name
List<GR5_Coupon> _CouponVector
List<GR5_SKUModifier> _SKUModifierVector

(9) RemoveUnusedCoupons

Request

Empty request.

Response

Empty response.

(10) GetOutstandingStoreTransactions

Request

Empty request.

Response

Type Name
List<GR5_StoreTransaction> _StoreTransactionVector

(11) GetShoppingDetails

Request

Empty request.

Response

Type Name
List<GR5_Coupon> _CouponVector
List<GR5_SKUModifier> _SKUModifierVector
Uint32 _LastStoreEntryTime

(12) BuyWeaponAndAttachComponents

Request

Type Name
GR5_SingleCartItem _WeaponSKUData
List<GR5_SingleCartItem> _ComponentSKUList
List<Uint32> _ComponentInventorySlotIdList

Response

Type Name
List<GR5_UserItem> _InventoryVector
Map<Uint32, List<Uint32>> _outUserComponentLists
List<Uint32> _UsedCouponsVector

(13) BuyAndAttachComponents

Request

Type Name
Uint32 _WeaponSlotID
Uint32 _WeaponBagType
List<GR5_SingleCartItem> _ComponentSKUList
List<Uint32> _ComponentInventorySlotIdList

Response

Type Name
List<GR5_UserItem> _InventoryVector
Map<Uint32, List<Uint32>> _outUserComponentLists
List<Uint32> _UsedCouponsVector

(14) BuyAndRepairItem

Request

Type Name
GR5_SingleCartItem _RepairSKUData
Uint32 _TargetBagType
Uint32 _TargetBagSlot

Response

Type Name
List<GR5_UserItem> _InventoryVector
List<Uint32> _UsedCouponsVector

(15) BuyAbilityWithUpgrades

Request

Type Name
GR5_SingleCartItem _AbilitySKUData
List<GR5_IdSlotPair> _UpgradeSKUIdSlotList
List<GR5_IdSlotPair> _UpgradeInventoryIdSlotList
List<GR5_IdSlotPair> _RemoveInventoryList

Response

Type Name
List<GR5_UserItem> _InventoryVector
List<Uint32> _UsedCouponsVector
List<GR5_PersonaAbilityUpgrade> _outPersonaAbilityUpgrades
List<GR5_InventoryBag> _RemoveBagList
List<GR5_InventoryBag> _InsertBagList

(16) BuyAndAttachUpgrades

Request

Type Name
Uint32 _AbilityInventoryId
List<GR5_IdSlotPair> _UpgradeSKUIdSlotList
List<GR5_IdSlotPair> _UpgradeInventoryIdSlotList
List<GR5_IdSlotPair> _RemoveInventoryList

Response

Type Name
List<GR5_UserItem> _InventoryVector
List<Uint32> _UsedCouponsVector
List<GR5_PersonaAbilityUpgrade> _outPersonaAbilityUpgrades
List<GR5_InventoryBag> _RemoveBagList
List<GR5_InventoryBag> _InsertBagList

(17) InitiateBuyItem

Request

Type Name
Uint32 _TicketId
List<GR5_CartItem> _CartItemVector
List<Uint32> _CouponIdVector

Response

Type Name
Uint32 _TransactionId
List<Uint32> _UsedCouponsVector

(18) CompleteBuyItem

Request

Type Name
Uint32 _TransactionId

Response

Type Name
List<GR5_UserItem> _InventoryVector

(19) CancelBuyItem

Request

Type Name
Uint32 _TransactionId

Response

Empty response.

(20) InitiateBuyWeaponAndAttachComponents

Request

Type Name
Uint32 _TicketId
GR5_SingleCartItem _WeaponSKUData
List<GR5_SingleCartItem> _ComponentSKUDataList
List<Uint32> _ComponentInventorySlotIdList
List<Uint32> _CouponIdVector

Response

Type Name
Uint32 _TransactionId
List<Uint32> _UsedCouponsVector

(21) CompleteBuyWeaponAndAttachComponents

Request

Type Name
Uint32 _TransactionId

Response

Type Name
List<GR5_UserItem> _InventoryVector
Map<Uint32, List<Uint32>> _outUserComponentLists

(22) InitiateBuyAndAttachComponents

Request

Type Name
Uint32 _TicketId
Uint32 _WeaponSlotID
Uint32 _WeaponBagType
List<GR5_SingleCartItem> _ComponentSKUDataList
List<Uint32> _ComponentInventorySlotIdList
List<Uint32> _CouponIdVector

Response

Type Name
Uint32 _TransactionId
List<Uint32> _UsedCouponsVector

(23) CompleteBuyAndAttachComponents

Request

Type Name
Uint32 _TransactionId

Response

Type Name
List<GR5_UserItem> _InventoryVector
Map<Uint32, List<Uint32>> _outUserComponentLists

(24) InitiateBuyAndRepairItem

Request

Type Name
Uint32 _TicketId
GR5_SingleCartItem _RepairSKUData
Uint32 _TargetBagType
Uint32 _TargetBagSlot
List<Uint32> _CouponIdVector

Response

Type Name
Uint32 _TransactionId
List<Uint32> _UsedCouponsVector

(25) CompleteBuyAndRepairItem

Request

Type Name
Uint32 _TransactionId

Response

Type Name
List<GR5_UserItem> _InventoryVector

(26) InitiateBuyAbilityWithUpgrades

Request

Type Name
Uint32 _TicketId
GR5_SingleCartItem _AbilitySKUData
List<GR5_IdSlotPair> _UpgradeSKUIdSlotList
List<GR5_IdSlotPair> _UpgradeInventoryIdSlotList
List<GR5_IdSlotPair> _RemoveInventoryList
List<Uint32> _CouponIdVector

Response

Type Name
Uint32 _TransactionId
List<Uint32> _UsedCouponsVector

(27) CompleteBuyAbilityWithUpgrades

Request

Type Name
Uint32 _TransactionId

Response

Type Name
List<GR5_UserItem> _InventoryVector
List<GR5_PersonaAbilityUpgrade> _outPersonaAbilityUpgrades

(28) InitiateBuyAndAttachUpgrades

Request

Type Name
Uint32 _TicketId
Uint32 _AbilityInventoryId
List<GR5_IdSlotPair> _UpgradeSKUIdSlotList
List<GR5_IdSlotPair> _UpgradeInventoryIdSlotList
List<GR5_IdSlotPair> _RemoveInventoryList
List<Uint32> _CouponIdVector

Response

Type Name
Uint32 _TransactionId
List<Uint32> _UsedCouponsVector

(29) CompleteBuyAndAttachUpgrades

Request

Type Name
Uint32 _TransactionId

Response

Type Name
List<GR5_UserItem> _InventoryVector
List<GR5_PersonaAbilityUpgrade> _outPersonaAbilityUpgrades

(30) InitiateBuyArmourAndAttachInserts

Request

Type Name
Uint32 _TicketId
GR5_SingleCartItem _ArmourSKUData
List<GR5_IdSlotPair> _InsertSKUIdSlotList
List<GR5_IdSlotPair> _InsertInventoryIdSlotList
List<GR5_IdSlotPair> _RemoveInventoryList
List<Uint32> _CouponIdVector

Response

Type Name
Uint32 _TransactionId
List<Uint32> _UsedCouponsVector

(31) CompleteBuyArmourAndAttachInserts

Request

Type Name
Uint32 _TransactionId

Response

Type Name
List<GR5_UserItem> _InventoryVector
List<GR5_PersonaArmorTier> _outPersonaArmourTiers

(32) InitiateBuyAndAttachInserts

Request

Type Name
Uint32 _TicketId
Uint32 _ArmourInventoryId
List<GR5_IdSlotPair> _InsertSKUIdSlotList
List<GR5_IdSlotPair> _InsertInventoryIdSlotList
List<GR5_IdSlotPair> _RemoveInventoryList
List<Uint32> _CouponIdVector

Response

Type Name
Uint32 _TransactionId
List<Uint32> _UsedCouponsVector

(33) CompleteBuyAndAttachInserts

Request

Type Name
Uint32 _TransactionId

Response

Type Name
List<GR5_UserItem> _InventoryVector
List<GR5_PersonaArmorTier> _outPersonaArmourTiers

Types

GR5_SKU

Type Name
Uint32 m_ID
Uint32 m_Type
Uint32 m_AvailableStock
Uint32 m_TimeStart
Uint32 m_TimeExpired
Uint32 m_BuyIGCCost
Uint32 m_BuyGRCashCost
Uint32 m_AssetKey
String m_Name
Uint32 m_OasisName
List<GR5_SKUItem> m_ItemVector

GR5_SKUItem

Type Name
Uint32 m_ItemID
Uint32 m_DurabilityValue
Uint32 m_DurabilityValue2
Uint32 m_OasisName
Float m_IGCPrice
Float m_GRCashPrice

GR5_CartItem

Type Name
Uint32 m_SKUID
Uint32 m_NumberToBuy
Uint32 m_VirtualCurrencyType

GR5_UserItem

Type Name
Uint32 InventoryID
Uint32 PersonaID
Uint8 ItemType
Uint32 ItemID
Uint32 OasisName
Float IGCPrice
Float GRCashPrice

GR5_Coupon

Type Name
Uint32 m_ID
Uint32 m_SKUModifierID
Uint32 m_TimeStart
Uint32 m_TimeExpired

GR5_SKUModifier

Type Name
Uint32 m_ID
Uint32 m_CouponBatchID
Uint32 m_TimeStart
Uint32 m_TimeExpired
Uint32 m_TargetType
Uint32 m_TargetValue
String m_Tag
List<GR5_SKUModifierCondition> m_ConditionVector
List<GR5_SKUModifierOutput> m_OutputVector

GR5_SKUModifierCondition

Type Name
Uint32 m_Type
Uint32 m_Target
Uint32 m_Value

GR5_SKUModifierOutput

Type Name
Uint32 m_Type
Uint32 m_Target
Uint32 m_Value

GR5_StoreTransaction

Type Name
Uint32 m_Id
Uint32 m_Status
Uint32 m_TransactionType

Transaction type

Based on associated RMC requests (see Store notifications).

ID Transaction type
0 CompleteBuyItem
1 CompleteBuyWeaponAndAttachComponents
2 CompleteBuyAndAttachComponents
3 CompleteBuyAndRepairItem
4 CompleteBuyAbilityWithUpgrades
5 CompleteBuyAndAttachUpgrades
6 CompleteBuyArmourAndAttachInserts
7 CompleteBuyAndAttachInserts

Transaction status

Based on RMC handlers for transaction completion.

ID Transaction status
0 New
1 Initiated
2 Completed
3 Pending repair

GR5_SingleCartItem

Type Name
Uint32 m_SKUID
Uint32 m_VirtualCurrencyType

GR5_IdSlotPair

Type Name
Uint32 m_Id
Uint32 m_Slot
Uint32 m_VirtualCurrencyType

GR5_PersonaAbilityUpgrade

Type Name
Uint32 AbilityId
List<GR5_AbilityUpgradeSlot> Upgrades

GR5_AbilityUpgradeSlot

Type Name
Uint32 UpgradeId
Uint32 Durability
Uint8 SlotID

GR5_InventoryBag

Type Name
Uint32 m_PersonaID
Uint32 m_InventoryBagType
List<GR5_InventoryBagSlot> m_InventoryBagSlotVector

GR5_InventoryBagSlot

Type Name
Uint32 InventoryID
Uint32 SlotID
Uint32 Durability

GR5_PersonaArmorTier

Type Name
Uint32 ArmorTierID
List<GR5_ArmorInsertSlot> Inserts

GR5_ArmorInsertSlot

Type Name
Uint32 InsertID
Uint32 Durability
Uint8 SlotID
⚠️ **GitHub.com Fallback** ⚠️