RCM World data API: PV, ledger, orders
RCM World is RCM World's official Android client for Associate Buyers who shop the company's catalogue and run a downline in India. After signing in with a User ID or mobile number (password or a six-digit OTP), they browse featured and trending products across women's and men's fashion, Key Soul jewellery and house brands such as Authenzaa, add lines to an HO cart (head-office delivery) or a PUC cart (nearby pickup-centre delivery), then check out with cash on delivery or Razorpay-backed UPI, cards and netbanking. The same signed-in session opens Your Business: a ledger and monthly statement, last-month purchase volume, downline KYC status, registered-buyer cards, e-KYC for a new A.B., PAN and bank-account forms, PUC ratings, meeting schedules with prospect attendance, and a delivery-centre finder by pincode. Copy ships in English, Hindi, Gujarati and Marathi; product deep links resolve on rcmworld.com. It sits with other Indian direct-selling shop-plus-back-office apps rather than a generic marketplace.
Purchase-volume lines stamp sapCode next to purchaseVolume, mrp and sellingPrice on every catalogue row. Ledger months close on netPayableAmount after performanceBonus, royaltyBonus and lessTds. The signed-in card is abNumber with currentPin and kycStatus; downline lookups repeat those KYC labels per id.
Field bots overlay the same purchase volume the ledger already shows; compliance jobs join downline kycStatus to the sponsor card; pickup-centre restocks POST the same sapCode the HO or PUC cart already holds — openData Studio turns that Associate Buyer loop into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Request login OTP
POST
/session/otp-requestosintSends a six-digit SMS OTP used on the Sign In / Forgot Password / Sign Up screens.
Auth: Unauthenticated. Body is mobileNumber or userId; the six-digit OTP is sent by SMS.
- mobileNumber
- userId
- purpose
- otpSent
- resendAfterSec
- maskedMobile
POST /session/otp-request HTTP/1.1 Content-Type: application/json { "mobileNumber": "9876543210", "userId": "AB102938", "purpose": "login" }{ "status": true, "otpSent": true, "resendAfterSec": 30, "maskedMobile": "******3210" }Sign in for access token
POST
/session/tokenosintExchanges User ID / mobile plus password or OTP for the Associate Buyer session token.
Auth: Unauthenticated. Body is userId or mobileNumber plus password or otp. Returns accessToken; later calls send Authorization: Bearer.
- userId
- mobileNumber
- password
- otp
- accessToken
- abNumber
- abName
- kycStatus
- currentPin
POST /session/token HTTP/1.1 Content-Type: application/json { "userId": "AB102938", "mobileNumber": "9876543210", "password": "••••", "otp": "482193" }{ "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", "abNumber": "AB102938", "abName": "Priya Sharma", "kycStatus": "OK", "currentPin": "Star Emerald" }Signed-in Associate Buyer profile
GET
/associate/profileosintReturns the signed-in Associate Buyer card that fills Profile, Current PIN and ID Activation Status.
Auth: Bearer accessToken from the session call.
- abNumber
- abName
- mobileNumber
- currentPin
- kycStatus
- joinDate
- sponsorNumber
- idActivationStatus
GET /associate/profile HTTP/1.1 Authorization: Bearer <accessToken> Accept: application/json{ "abNumber": "AB102938", "abName": "Priya Sharma", "mobileNumber": "9876543210", "email": "[email protected]", "currentPin": "Star Emerald", "kycStatus": "OK", "joinDate": "2019-04-12", "sponsorNumber": "AB100001", "idActivationStatus": "ACTIVE" }Search catalogue products
GET
/shop/listingsopendataPages the shop catalogue with SAP code, MRP, selling price and purchase volume for a delivery pincode.
Auth: Optional Bearer. Anonymous browse works for search; stock and PUC/HO prices follow the signed-in session.
- q
- category
- sort
- pincode
- page
- totalProducts
- sapCode
- productName
- brand
- mrp
- sellingPrice
- purchaseVolume
- inStock
- serviceable
GET /shop/listings?q=key-soul&category=jewellery&sort=popularity&pincode=110001&page=1 HTTP/1.1 Authorization: Bearer <accessToken> Accept: application/json{ "page": 1, "totalProducts": 128, "items": [ { "sapCode": "KS-4412", "productName": "Key Soul Bracelet", "brand": "Key Soul", "mrp": 2499.0, "sellingPrice": 1999.0, "purchaseVolume": 18.5, "inStock": true, "serviceable": true } ] }Read HO and PUC carts
GET
/shop/basketsopendataReturns the head-office cart and the nearby-store PUC cart with PV totals and payable amounts.
Auth: Bearer accessToken from the session call.
- cartType
- sapCode
- qty
- mrp
- sellingPrice
- purchaseVolume
- totalPv
- payableAmount
- shippingFee
- voucherCode
- pucCode
- pucName
GET /shop/baskets HTTP/1.1 Authorization: Bearer <accessToken> Accept: application/json{ "carts": [ { "cartType": "HO", "lines": [ { "sapCode": "KS-4412", "qty": 2, "mrp": 2499.0, "sellingPrice": 1999.0, "purchaseVolume": 18.5 } ], "totalPv": 37.0, "payableAmount": 3998.0, "shippingFee": 0.0, "voucherCode": null }, { "cartType": "PUC", "pucCode": "DL-07", "pucName": "Karol Bagh PUC", "totalPv": 12.0, "payableAmount": 890.0 } ] }Place catalogue order
POST
/shop/checkoutopenfinanceCreates an HO or PUC order and, for online pay, returns the Razorpay order id used on checkout.
Auth: Bearer accessToken from the session call.
- cartType
- addressId
- paymentMode
- voucherCode
- orderNo
- paymentStatus
- razorpayOrderId
- totalAmount
- totalPv
- shippingAmount
- orderStatus
POST /shop/checkout HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json { "cartType": "HO", "addressId": "addr-441", "paymentMode": "ONLINE", "voucherCode": "HOME500" }{ "orderNo": "RCM2409180012", "paymentMode": "ONLINE", "paymentStatus": "PENDING", "razorpayOrderId": "order_N9abc", "totalAmount": 3998.0, "totalPv": 37.0, "shippingAmount": 0.0, "orderStatus": "PLACED" }List and track orders
GET
/shop/historyopendataPages My Orders with payment status and the placed → delivered timeline used on Track your order.
Auth: Bearer accessToken from the session call.
- orderNo
- orderDate
- paymentMode
- paymentStatus
- totalAmount
- totalPv
- shippingAmount
- statusTimeline
- recipientName
- pincode
- phoneNo
GET /shop/history?q=RCM2409180012&startDate=2026-09-01&endDate=2026-09-30 HTTP/1.1 Authorization: Bearer <accessToken> Accept: application/json{ "orders": [ { "orderNo": "RCM2409180012", "orderDate": "2026-09-18", "paymentMode": "ONLINE", "paymentStatus": "PAID", "totalAmount": 3998.0, "totalPv": 37.0, "shippingAmount": 0.0, "statusTimeline": ["PLACED", "CONFIRMED", "PACKED", "OUT_FOR_DELIVERY"], "deliveryAddress": { "recipientName": "Priya Sharma", "pincode": "110001", "phoneNo": "9876543210" } } ] }Monthly ledger statement
GET
/business/statementopenfinanceReturns the Ledger View monthly statement: credits, bonuses, TDS withhold and net payable.
Auth: Bearer accessToken from the session call.
- month
- balance
- previousBalance
- creditAmount
- debitAmount
- monthlyGrowthBonus
- performanceBonus
- technicalBonus
- royaltyBonus
- lessTds
- lessDownlinePerformanceBonus
- netPayableAmount
- purchaseVolume
GET /business/statement?month=2026-09 HTTP/1.1 Authorization: Bearer <accessToken> Accept: application/json{ "month": "2026-09", "balance": 12840.50, "previousBalance": 2100.00, "creditAmount": 18650.00, "debitAmount": 5909.50, "monthlyGrowthBonus": 4200.00, "performanceBonus": 9800.00, "technicalBonus": 650.00, "royaltyBonus": 4000.00, "lessTds": 1865.00, "lessDownlinePerformanceBonus": 1200.00, "netPayableAmount": 15585.00, "purchaseVolume": 412.5 }Downline KYC status
GET
/network/kycopendataLooks up a downline Associate Buyer id and returns KYC state plus tentative purchase volume.
Auth: Bearer accessToken from the session call.
- downlineId
- abName
- kycStatus
- kycStatusLabel
- purchaseVolume
- repurchaseAmount
- joinDate
GET /network/kyc?downlineId=AB204412 HTTP/1.1 Authorization: Bearer <accessToken> Accept: application/json{ "downlineId": "AB204412", "abName": "Rahul Verma", "kycStatus": "NOT_OK", "kycStatusLabel": "Your KYC Form is Not OK", "purchaseVolume": 86.0, "repurchaseAmount": 12450.00, "joinDate": "2024-11-02" }Submit e-KYC for a new Associate Buyer
POST
/network/ekycosintSubmits the E-KYC Application for New A.B. with Aadhaar, PAN, sponsor, proposer, nominee and bank proof.
Auth: Bearer accessToken from the session call. Body carries applicant identity and sponsor/proposer numbers.
- applicantName
- aadhaarNumber
- panNumber
- sponsorNumber
- proposerNumber
- nomineeName
- bankAccountNumber
- ifscCode
- referenceNo
- kycStatus
POST /network/ekyc HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json { "applicantName": "Anita Devi", "aadhaarNumber": "XXXX-XXXX-1234", "panNumber": "ABCDE1234F", "sponsorNumber": "AB102938", "proposerNumber": "AB100001", "nomineeName": "Ramesh Devi", "bankAccountNumber": "123456789012", "ifscCode": "SBIN0001234" }{ "referenceNo": "KYC-882910", "kycStatus": "SUBMITTED", "applicantName": "Anita Devi", "sponsorNumber": "AB102938", "message": "Your application has been successfully submitted." }List meetings and prospect attendance
GET
/field/briefingsopendataLists scheduled field meetings with prospect counts, attendance and Associate Buyer conversion.
Auth: Bearer accessToken from the session call.
- meetingId
- meetingTitle
- meetingType
- meetingDate
- meetingTime
- venue
- visitingLeader
- prospectCount
- presentCount
- absentCount
- totalConversion
- meetingStatus
GET /field/briefings?status=upcoming&state=Delhi&district=Central HTTP/1.1 Authorization: Bearer <accessToken> Accept: application/json{ "meetings": [ { "meetingId": "mt-4412", "meetingTitle": "Karol Bagh evening briefing", "meetingType": "OFFLINE", "meetingDate": "2026-09-20", "meetingTime": "18:30", "venue": "Karol Bagh PUC hall", "visitingLeader": "Star Ruby — Neha", "prospectCount": 24, "presentCount": 18, "absentCount": 6, "totalConversion": 4, "meetingStatus": "SCHEDULED" } ] }Find delivery centres by pincode
GET
/logistics/pickup-pointsopendataFinds pickup / delivery centres near a pincode or current location, including PUC rating.
Auth: Optional Bearer. Location may also be the device GPS pin.
- pincode
- storeType
- storesFound
- pucCode
- pucName
- address
- district
- state
- lat
- lng
- pucRating
GET /logistics/pickup-points?pincode=110001&storeType=PUC HTTP/1.1 Accept: application/json{ "pincode": "110001", "storesFound": 3, "centers": [ { "pucCode": "DL-07", "pucName": "Karol Bagh PUC", "storeType": "PUC", "address": "7 Desh Bandhu Gupta Road", "district": "Central", "state": "Delhi", "lat": 28.6519, "lng": 77.1905, "pucRating": 4.6 } ] }
Data categories
- auth-sessions
- associate-buyer profile
- catalog products
- HO and PUC carts
- orders
- ledger bonuses
- downline KYC
- eKYC applications
- meetings and prospects
- delivery centres
Where teams use this data
PV overlay for a field bot
A helper polls catalogue purchaseVolume next to ledger purchaseVolume and netPayableAmount so a sponsor can flag a quiet month without opening Ledger View.
Downline KYC watch
A compliance job reads downline kycStatus and kycStatusLabel beside the signed-in abNumber so Not-OK or terminated ids surface before the next repurchase.
HO vs PUC restock
A reorder bot pages sapCode / sellingPrice / purchaseVolume then writes the HO or PUC cart so a pickup-centre restock lands without typing SKUs.
Meeting conversion archive
A training desk stores meetingTitle, presentCount and totalConversion beside visitingLeader so each briefing's Associate Buyer conversion sits next to the venue.
Frequently asked questions
What data does the RCM World shop expose?
Catalogue rows carry sapCode, mrp, sellingPrice and purchaseVolume. Carts split into HO (head-office delivery) and PUC (nearby store) with totalPv and payableAmount. Orders return orderNo, paymentStatus and a placed-to-delivered timeline.
How do Associate Buyers sign in?
They enter a User ID or mobile number with a password, or a six-digit SMS OTP. The session issues an accessToken that later first-party calls send as Authorization: Bearer.
Is there a bonus or payout statement?
Ledger View reconstructs a monthly statement with balance, creditAmount, debitAmount, monthlyGrowthBonus, performanceBonus, technicalBonus, royaltyBonus, lessTds and netPayableAmount.
Can downline KYC be read?
Yes. A downlineId lookup returns kycStatus (Not Submitted, Not OK, OK, Terminated) plus tentative purchaseVolume — the same labels the Downline KYC Status screen shows after you enter a downline id.
Topics
- rcm world api
- associate buyer data api
- purchaseVolume sapCode
- rcm ledger netPayableAmount
- downline kycStatus
- HO PUC cart
- india direct selling api
- abNumber currentPin
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use