IndianOil ONE 图标

IndianOil ONE 数据 API

Indian Oil Corporation Ltd · 支付

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 补贴合规监控,以及车队与电动车的路线规划。

应用截图

  • IndianOil ONE 应用截图 1
  • IndianOil ONE 应用截图 2
  • IndianOil ONE 应用截图 3
  • IndianOil ONE 应用截图 4
  • IndianOil ONE 应用截图 5
  • IndianOil ONE 应用截图 6
  • IndianOil ONE 应用截图 7
  • IndianOil ONE 应用截图 8

API 端点一览

请求/响应示例为依据应用界面重构的示意示例,并非实时抓包。

  • Send login OTP

    POST /v1/auth/otp opendata

    Sends 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 locale
    • OTP length copy: Please enter 4 digit OTP
  • Create signed-in session

    POST /v1/consumer/session opendata

    Exchanges 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/connections opendata

    Loads 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 keys
    • connection_details, manage_connection, Domestic Connection and Commercial Connection screens
  • Book LPG refill

    POST /v1/lpg/orders/refill openfinance

    Places 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 screens
    • sample booking_history.json OrderTypeLIC OT8 / EPICOrderSubType Refill Order
  • LPG booking history

    GET /v1/lpg/orders openfinance

    Pages 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 screens
    • bundled booking_history.json fixture (TrackingId RefillHistoryVC, OrderDetails fields)
  • Consumer personal details

    GET /v1/profile osint

    Returns 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 screens
    • bundled personal_details_json.json fixture (Uid, UidToken, UserIdentity, UserAddress, TrackingId MyProfileActivity)
  • LPG loan ledger

    GET /v1/lpg/loans openfinance

    Reads 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 activity
    • bundled loan_ledger.json fixture (LoanHeader, OutstandingAmount, SubsidyAmount, AmountToPay)
  • XTRAREWARDS point balance

    GET /v1/loyalty/points openfinance

    Returns 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 screens
    • copy Amount cannot be greater than available loyalty balance
  • Loyalty QR for fuel-station scan

    GET /v1/loyalty/qr opendata

    Issues 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 copy
    • my_qr and my_voucher_qr_scan locale keys
  • Generate PayU payment hash

    POST /v1/payments/payu/hash openbanking

    Asks 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 screens
    • native PayUHashPostRequest / PayUHashResponse / RefillWebService.submitPayUHash fields uCMId, hashString, EncResponse, HashResult
  • Aadhaar eKYC for LPG

    POST /v1/kyc/aadhaar osint

    Runs 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 / FaceCaptureActivity
    • e-KYC Completed / last_e_kyc_date / last_e_kyc_mode / PAHAL consent copy
  • Nearby retail outlets

    GET /v1/retail/stations opendata

    Finds 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 screens
    • amenity 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 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价