IndianOil ONE 数据 API
IndianOil ONE 是 Indian Oil Corporation Ltd 的官方消费者应用。该公司是印度最大的燃油零售商,也是 Indane 液化气的运营方。家庭用户用它管理液化气连接、预订换气、为 PAHAL 补贴保持 Aadhaar eKYC 有效,并偿还连接贷款;车主则用它查找附近加油站,并在每次加油时累积 XTRAREWARDS 积分。
这些界面可读取为结构化数据:液化气连接携带 consumerNo、lpgId、distributorName、kycStatus 与 subsidyEligible;换气订单返回 OrderNo、BookingPrice、PaidFlag 与 PinNum;积分钱包报告 availableBalance、earnedPoints 与 redeemedPoints;站点查询则暴露 sapCode、openNow 与实时 fuelPrice。分销商后台基于这些数据构建换气运营数据流,财务团队核对 XTRAREWARDS 台账,合规看板监控 PAHAL 补贴 KYC,车队与电动车路线工具按设施挑选站点。
IndianOil ONE 是印度最大燃油零售商 Indian Oil Corporation Ltd 推出的消费者超级应用,面向全印度的家庭与车主,覆盖 Indane 液化气、加油站服务与 XTRAREWARDS 积分计划。应用背后是结构化数据:带有分销商与补贴标志的液化气连接档案、含价格与配送状态的换气订单、积分余额,以及附带设施与油价信息的附近加油站。这些数据支撑着分销商换气运营、积分台账对账、PAHAL 补贴合规监控,以及车队与电动车的路线规划。
应用截图
API 端点一览
请求/响应示例为依据应用界面重构的示意示例,并非实时抓包。
Send login OTP
POST
/v1/auth/otpopendataSends a 4-digit OTP to the registered mobile number so the user can sign in or reset a password.
认证方式: None. Public start of the mobile-OTP login. Later calls attach the session from /v1/consumer/session.
- mobileNumber
- channel
- TrackingId
- ErrorCode
- ErrorMessage
- otpSent
- otpLength
- resendAfterSeconds
POST /v1/auth/otp HTTP/1.1 Content-Type: application/json { "mobileNumber": "9876543210", "channel": "SMS", "TrackingId": "LoginActivity09292026101522_3.2.95" }{ "TrackingId": "LoginActivity09292026101522_3.2.95", "ErrorCode": "0", "ErrorMessage": "Success", "otpSent": true, "otpLength": 4, "resendAfterSeconds": 30 }应用内出处
inferred from Login / LOGIN NOW / Login using Mobile OTP and SEND OTP / Enter OTP / Resend OTP strings in the English localeOTP length copy: Please enter 4 digit OTP
Create signed-in session
POST
/v1/consumer/sessionopendataExchanges a verified OTP (or password) for a session token, UCMId and linked LPG identity used on every subsequent call.
认证方式: OTP from /v1/auth/otp, or mobile/email plus password. Response sessionToken is sent as Authorization: Bearer on later calls.
- mobileNumber
- otp
- loginType
- TrackingId
- ErrorCode
- ErrorMessage
- sessionToken
- uCMId
- consumerNo
- lpgId
POST /v1/consumer/session HTTP/1.1 Content-Type: application/json { "mobileNumber": "9876543210", "otp": "4821", "loginType": "OTP", "TrackingId": "LoginActivity09292026101604_3.2.95" }{ "TrackingId": "LoginActivity09292026101604_3.2.95", "ErrorCode": "0", "ErrorMessage": "Success", "sessionToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session", "uCMId": "UCM-184650159", "loginType": "OTP", "consumerNo": "2081846501", "lpgId": "1234567890123456" }应用内出处
inferred from Login / password / OTP screens and the session-expired copy Your session has been expired, Please login.PayUHashPostRequest.loginType and uCMId fields on the native checkout bridge
LPG connection dashboard
GET
/v1/lpg/connectionsopendataLoads the LPG dashboard: linked domestic/commercial connections, distributor, eKYC status and PAHAL subsidy flags.
认证方式: Bearer sessionToken from /v1/consumer/session. TrackingId per request.
- consumerNo
- lpgId
- connectionType
- distributorCode
- distributorName
- kycStatus
- lastEKycDate
- lastEKycMode
- subsidyEligible
- optedOutOfSubsidy
- active
GET /v1/lpg/connections HTTP/1.1 Authorization: Bearer <sessionToken> Accept: application/json X-Tracking-Id: LPGDashboard09292026102011_3.2.95{ "TrackingId": "LPGDashboard09292026102011_3.2.95", "ErrorCode": "0", "ErrorMessage": "Success", "connections": [ { "consumerNo": "2081846501", "lpgId": "1234567890123456", "connectionType": "Domestic", "distributorCode": "0000154004", "distributorName": "K-2 International", "kycStatus": "Completed", "lastEKycDate": "2025-11-18", "lastEKycMode": "AadhaarOTP", "subsidyEligible": true, "optedOutOfSubsidy": false, "active": true } ] }应用内出处
inferred from LPG Dashboard / CONSUMER NO. / CONSUMER ID / LPG ID / Distributor Code / KYC Status / Subsidy Eligible / Opted Out of Subsidy locale keysconnection_details, manage_connection, Domestic Connection and Commercial Connection screens
Book LPG refill
POST
/v1/lpg/orders/refillopenfinancePlaces an Indane refill (normal or Tatkal) and returns order number, booking price and PIN used to track delivery.
认证方式: Bearer sessionToken from /v1/consumer/session.
- lpgId
- NoOfCylinder
- deliveryType
- OrderTypeLIC
- OrderSubTypeLIC
- payOnline
- OrderNo
- OrderDate
- BookingPrice
- Status
- PaidFlag
- EPICOrderType
- EPICOrderSubType
- PinNum
POST /v1/lpg/orders/refill HTTP/1.1 Authorization: Bearer <sessionToken> Content-Type: application/json { "lpgId": "1234567890123456", "NoOfCylinder": "1", "deliveryType": "Tatkal", "OrderTypeLIC": "OT8", "OrderSubTypeLIC": "OS24", "payOnline": true, "TrackingId": "RefillBooking09292026102133_3.2.95" }{ "TrackingId": "RefillBooking09292026102133_3.2.95", "ErrorCode": "0", "ErrorMessage": "Success", "OrderNo": "2-002184659844", "OrderDate": "09/29/2026 10:21:33", "BookingPrice": "411.5", "NoOfCylinder": "1", "Status": "Open", "PaidFlag": "N", "EPICOrderType": "Sales Order", "EPICOrderSubType": "Refill Order", "PinNum": "4821" }应用内出处
inferred from Order Cylinder / Refill Orders / Tatkal vs Normal / Proceed to Payment / Cash on Delivery screenssample booking_history.json OrderTypeLIC OT8 / EPICOrderSubType Refill Order
LPG booking history
GET
/v1/lpg/ordersopenfinancePages refill and NFR booking history with paid flag, booking price, cylinder count and EPIC order subtype.
认证方式: Bearer sessionToken from /v1/consumer/session.
- TrackingId
- ErrorCode
- ErrorMessage
- LastPage
- PaidFlag
- OrderDate
- OrderNo
- BookingPrice
- SubsidizedFlag
- NoOfCylinder
- Status
- InvoiceNumber
- PinNum
- OrderTypeLIC
- EPICOrderType
- EPICOrderSubType
- OrderSubTypeLIC
- CashMemoStatus
GET /v1/lpg/orders?category=Refill&page=1 HTTP/1.1 Authorization: Bearer <sessionToken> Accept: application/json X-Tracking-Id: RefillHistoryVC01242025113747_2.5.9{ "TrackingId": "RefillHistoryVC01242025113747_2.5.9", "ErrorCode": "0", "ErrorMessage": "Success", "LastPage": "false", "OrderDetails": [ { "PaidFlag": "Y", "OrderDate": "11/04/2024 10:26:12", "OrderNo": "2-002184659844", "BookingPrice": "411.5", "SubsidizedFlag": null, "NoOfCylinder": "1", "Status": "Open", "InvoiceNumber": null, "PinNum": null, "OrderTypeLIC": "OT8", "EPICOrderType": "Sales Order", "EPICOrderSubType": "Refill Order", "OrderSubTypeLIC": "OS24", "CashMemoStatus": null } ] }应用内出处
inferred from Booking History / Choose Order Category / Refill Orders / NFR Orders screensbundled booking_history.json fixture (TrackingId RefillHistoryVC, OrderDetails fields)
Consumer personal details
GET
/v1/profileosintReturns the signed-in consumer's Aadhaar-masked UID, name, gender, year of birth and registered address shown on Personal Details.
认证方式: Bearer sessionToken from /v1/consumer/session.
- Uid
- UidToken
- Dob
- FirstName
- Gender
- LastName
- isDOBComplete
- State
- VillageTownCity
- District
- PinCode
- Country
- ErrorCode
- ErrorMessage
- TrackingId
- TransactionId
- ServiceRequestNo
GET /v1/profile HTTP/1.1 Authorization: Bearer <sessionToken> Accept: application/json X-Tracking-Id: MyProfileActivity08122023154840_3.1.03{ "Uid": "********9508", "UidToken": "011118108QfjNut85dNwF3S+oL6n1Cow9RUJyoO", "UserIdentity": { "Dob": "1988", "FirstName": "Ankita", "Gender": "F", "LastName": "Shukla", "isDOBComplete": "N" }, "UserAddress": { "State": "Uttar Pradesh", "VillageTownCity": "Noida", "District": "Gautam Buddha Nagar", "PinCode": "201301", "Country": "India" }, "ErrorCode": "0", "ErrorMessage": "Success", "TrackingId": "MyProfileActivity08122023154840_3.1.03", "TransactionId": "UKC:6a263139-5aa3-4872-90be-58b841758d06", "ServiceRequestNo": "1234" }应用内出处
inferred from Personal Details / CONSUMER DETAILS / ADDRESS DETAILS screensbundled personal_details_json.json fixture (Uid, UidToken, UserIdentity, UserAddress, TrackingId MyProfileActivity)
LPG loan ledger
GET
/v1/lpg/loansopenfinanceReads outstanding LPG connection-loan headers and per-order adjustments shown on the Loan Ledger screen.
认证方式: Bearer sessionToken from /v1/consumer/session.
- TrackingId
- ErrorCode
- ErrorMessage
- LoanFor
- Distributor
- LoanAmount
- OutstandingAmount
- Status
- LoanStartDate
- LoanEndDate
- OrderNumber
- InvoiceNumber
- SubsidyAmount
- AmountAdjusted
- AmountToPay
GET /v1/lpg/loans HTTP/1.1 Authorization: Bearer <sessionToken> Accept: application/json X-Tracking-Id: LoanLedgerActivity27062025114718_3.1.77{ "TrackingId": "LoanLedgerActivity27062025114718_3.1.77", "ErrorCode": "0", "ErrorMessage": "Success", "LoanHeader": [ { "LoanFor": "New Connection", "Distributor": "0000154004", "LoanAmount": "568", "OutstandingAmount": "568.00", "Status": "Active", "LoanStartDate": null, "LoanEndDate": null, "LoanDetails": [ { "OrderNumber": "123456", "InvoiceNumber": null, "SubsidyAmount": null, "AmountAdjusted": null, "AmountToPay": null, "Status": "In Progress" } ] } ] }应用内出处
inferred from loan_ledger locale key and Loan Ledger activitybundled loan_ledger.json fixture (LoanHeader, OutstandingAmount, SubsidyAmount, AmountToPay)
XTRAREWARDS point balance
GET
/v1/loyalty/pointsopenfinanceReturns the XTRAREWARDS wallet: available, earned and redeemed points used on Redeem Points and voucher screens.
认证方式: Bearer sessionToken from /v1/consumer/session.
- membershipId
- availableBalance
- earnedPoints
- redeemedPoints
- currency
- enrolled
- TrackingId
- ErrorCode
- ErrorMessage
GET /v1/loyalty/points HTTP/1.1 Authorization: Bearer <sessionToken> Accept: application/json X-Tracking-Id: LoyaltyDashboard09292026103000_3.2.95{ "TrackingId": "LoyaltyDashboard09292026103000_3.2.95", "ErrorCode": "0", "ErrorMessage": "Success", "membershipId": "XR184650159", "availableBalance": 1240, "earnedPoints": 1860, "redeemedPoints": 620, "currency": "INR", "enrolled": true }应用内出处
inferred from Loyalty / XTRAREWARDS / Redeem Points / Earned Points / Redeemed Points / Current Balance- / Balance : Rs screenscopy Amount cannot be greater than available loyalty balance
Loyalty QR for fuel-station scan
GET
/v1/loyalty/qropendataIssues the membership QR the petrol-pump attendant scans to credit XTRAREWARDS points after a refill.
认证方式: Bearer sessionToken from /v1/consumer/session.
- membershipId
- qrPayload
- purpose
- TrackingId
- ErrorCode
- ErrorMessage
GET /v1/loyalty/qr HTTP/1.1 Authorization: Bearer <sessionToken> Accept: application/json{ "TrackingId": "MyQR09292026103112_3.2.95", "ErrorCode": "0", "ErrorMessage": "Success", "membershipId": "XR184650159", "qrPayload": "IOCL-XR-184650159-20260929", "purpose": "XTRAREWARDS_CREDIT" }应用内出处
inferred from My QR / QR Code for XTRAREWARDS / Ask petrol pump attendant to scan this QR copymy_qr and my_voucher_qr_scan locale keys
Generate PayU payment hash
POST
/v1/payments/payu/hashopenbankingAsks the server to sign a PayU payment hash so refill or loyalty checkout can open the PayU SDK (UPI, cards, net banking).
认证方式: Bearer sessionToken plus uCMId, trackingId, envKey and encIvData on the encrypted body. Native OkHttp interceptor attaches the session.
- uCMId
- trackingId
- source
- hashName
- hashString
- envKey
- encIvData
- loginType
- EncResponse
- HashResult
- errorCode
- errorMessage
POST /v1/payments/payu/hash HTTP/1.1 Authorization: Bearer <sessionToken> Content-Type: application/json { "uCMId": "UCM-184650159", "trackingId": "PayUHash09292026103240_3.2.95", "source": "LPG_REFILL", "hashName": "payment_hash", "hashString": "merchant|txnid|411.5|IndaneRefill|Ankita|[email protected]|", "envKey": "<aes-key>", "encIvData": "<aes-iv>", "loginType": "OTP" }{ "trackingId": "PayUHash09292026103240_3.2.95", "errorCode": "0", "errorMessage": "Success", "EncResponse": "<aes-ciphertext>", "HashResult": "a1b2c3d4e5f6paymenthash" }应用内出处
inferred from Select a payment method / PayU / CCAvenue / Wallet / (UPI/Credit/Debit Card/Net Banking) checkout screensnative PayUHashPostRequest / PayUHashResponse / RefillWebService.submitPayUHash fields uCMId, hashString, EncResponse, HashResult
Aadhaar eKYC for LPG
POST
/v1/kyc/aadhaarosintRuns Aadhaar OTP eKYC against Indane consumer records so the distributor can keep refill and PAHAL subsidy service uninterrupted.
认证方式: Bearer sessionToken from /v1/consumer/session. User consents to UIDAI OTP/biometric auth for PAHAL DBT.
- aadhaarNumber
- otp
- consent
- purpose
- kycStatus
- Uid
- FirstName
- LastName
- Gender
- Dob
- lastEKycDate
- lastEKycMode
- TrackingId
- ErrorCode
- ErrorMessage
POST /v1/kyc/aadhaar HTTP/1.1 Authorization: Bearer <sessionToken> Content-Type: application/json { "aadhaarNumber": "xxxxxxxx9508", "otp": "319204", "consent": true, "purpose": "PAHAL_DBT", "TrackingId": "eKYC09292026103400_3.2.95" }{ "TrackingId": "eKYC09292026103400_3.2.95", "ErrorCode": "0", "ErrorMessage": "Success", "kycStatus": "SubmittedToDistributor", "Uid": "********9508", "UserIdentity": { "FirstName": "Ankita", "LastName": "Shukla", "Gender": "F", "Dob": "1988" }, "lastEKycDate": "2026-09-29", "lastEKycMode": "AadhaarOTP" }应用内出处
inferred from Aadhaar KYC / Online KYC / Bharat Aadhaar Seeding / manage_eKYC_for_lpg_connection / FaceCaptureActivitye-KYC Completed / last_e_kyc_date / last_e_kyc_mode / PAHAL consent copy
Nearby retail outlets
GET
/v1/retail/stationsopendataFinds nearby IndianOil retail outlets with SAP/RO codes, open status, amenity flags and displayed fuel prices.
认证方式: Optional Bearer sessionToken. Anonymous lat/lng lookup works for Locate Fuel Station; signed-in calls add Check & Fill and XTRAPOWER flags.
- sapCode
- roNumber
- name
- distanceKm
- openNow
- amenities
- fuelPrice
- MS
- HSD
- TrackingId
- ErrorCode
- ErrorMessage
GET /v1/retail/stations?lat=28.5355&lng=77.3910&radiusKm=5 HTTP/1.1 Accept: application/json{ "TrackingId": "LocateRO09292026103618_3.2.95", "ErrorCode": "0", "ErrorMessage": "Success", "stations": [ { "sapCode": "RO12845", "roNumber": "12845", "name": "IndianOil Sector 18 Noida", "distanceKm": 3.21, "openNow": true, "amenities": ["ATM", "PUC", "Air", "Washroom", "XTRAPOWER", "XTRAREWARDS", "EVCharging"], "fuelPrice": {"MS": 94.72, "HSD": 87.65} } ] }应用内出处
inferred from NEARBY RETAILS / Locate Fuel Station / Locate Us / RO Selection / SAP Code / RO Number screensamenity keys ATM, PUC, Air, Washroom, XTRAPOWER, XTRAREWARDS, Electric Vehicle Charging Station
数据类别
- LPG connections
- refill orders
- loyalty points
- Aadhaar eKYC
- loan ledgers
- fuel stations
- checkout hashes
数据使用场景与案例
Distributor refill operations feed
An Indane distributor back-office can poll /v1/lpg/orders for Open refill bookings (OrderNo, BookingPrice, NoOfCylinder, PaidFlag, PinNum) and match them to cash-memo status without re-keying the consumer app.
XTRAREWARDS ledger reconciliation
A loyalty finance job reads /v1/loyalty/points (availableBalance, earnedPoints, redeemedPoints) after GyFTR voucher burns and flags memberships whose points were deducted but not yet vouchered.
PAHAL subsidy KYC monitor
A compliance dashboard watches /v1/lpg/connections kycStatus, lastEKycDate and subsidyEligible alongside /v1/kyc/aadhaar submissions so connections that fall out of Aadhaar seeding are nudged before the next refill quota.
Retail amenity locator
A fleet or EV routing tool calls /v1/retail/stations with live lat/lng and filters on EVCharging, XTRAPOWER and openNow to pick an IndianOil outlet, using sapCode as the stable outlet id.
常见问题
IndianOil ONE 返回哪些液化气订单字段?
GET /v1/lpg/orders 分页返回 OrderDetails:OrderNo、OrderDate、BookingPrice、NoOfCylinder、PaidFlag、Status、PinNum、EPICOrderSubType(Refill Order)。POST /v1/lpg/orders/refill 为 16 位 LPG ID 创建下一笔订购。
应用如何认证用户?
手机号 OTP 登录先请求 /v1/auth/otp(4 位短信验证码),再请求 /v1/consumer/session,签发 sessionToken 与 uCMId。后续调用携带 Authorization: Bearer 及按页面的 TrackingId;会话过期页会强制重新登录。
XTRAREWARDS 积分从哪来?
GET /v1/loyalty/points 返回当前会员的 availableBalance、earnedPoints、redeemedPoints;GET /v1/loyalty/qr 生成会员二维码,加油站店员在加油后扫码记入积分。
应用是否暴露 KYC 或补贴数据?
是。/v1/lpg/connections 携带 kycStatus、lastEKycDate、subsidyEligible、optedOutOfSubsidy;POST /v1/kyc/aadhaar 执行面向 PAHAL DBT 的 Aadhaar OTP eKYC;/v1/profile 返回 Personal Details 页使用的脱敏 Uid 与 UserAddress。
相关主题
- IndianOil ONE 数据 API
- Indane 液化气订购
- XTRAREWARDS 积分
- Aadhaar eKYC 液化气
- PayU 支付哈希
- 液化气贷款台账
- IndianOil 加油站
- PAHAL 补贴
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业