HelloBPCL for Business 图标

HelloBPCL 商业版数据 API:车队与 LPG

Bharat Petroleum Corporation Limited · 企业办公 4.4 ★

HelloBPCL for Business 是印度国家石油营销商 Bharat Petroleum Corporation Limited 面向商业客户的官方 Android 客户端,覆盖 SmartFleet / SmartDrive 燃油卡车队、下大宗工业订单的买家、商业液化气账户以及 MAK 润滑油零售商。用户以手机 OTP(或 MPIN)登录后,可将 CMS 余额充入车队卡、绑定车辆、兑换 petromiles、按收货方下达工业 indent、在配送时扫描钢瓶二维码、报名 BPCL 忠诚度计划并提交服务请求。Razorpay 结账、Aadhaar Face RD 与 Urja 聊天机器人同在首页。应用仅在印度上架,Google Play 评分为 4.4,是 BPCL 面向企业的通道,对应面向消费者的 HelloBPCL / Bharatgas,以及 HPCL 的 HP PAY 与 IndianOil ONE。

SmartFleet 钱包行给出 CMS 充卡用的 cmsBalance 与 walletAmount,同一仪表盘汇总还读出相对 creditLimit 的 availableCredit;卡数查询返回 cardCount,SmartDrive 划转写入在 fromCardNumber 与 toCardNumber 之间移动 walletAmount,并以 txnId 结算出 cardWalletBalance。车辆名册携带 vehicleNumber、vehicleType、cardNumber 与 pinned 标记,进行中的开户申请跟踪 applicationId、kycStatus 与 gstin;忠诚度一侧读取 petromilesBalance,把 redeemPoints 兑换成 GyFTR 的 voucherCode,并以 programCode、programType 与 enrolled 列出报名磁贴。

工业 indent 载荷携带 shipToParty、supplyLocationId、productCode、quantity 与 payerCode,返回用于跟踪的 indentNumber 与 indentStatus;价格模拟把同一篮子分解为 unitPrice、gstAmount 与 netAmount,付款方账本按 docNumber、postingDate 与带正负号的 amount 分页。商业液化气流程把 lpgId 核验为 distributorCode、connectionType 与 kycStatus,钢瓶二维码扫描把扫到的 qrCode 解析为 deliveryStatus、cylinderType 与 bookingRef,MAK 包装扫描则按 programType MAK_SCAN_EARN 记入 loyaltyPoints。车队司库 ERP 每晚对账这些余额,indent 报价机器人把 indentNumber 写回采购订单系统,配送手持设备在交付时核验钢瓶,忠诚度柜台赶在 petromiles 过期前完成兑换;openData Studio 把整个数据面变成可调用的开放数据。

应用截图

  • HelloBPCL for Business 应用截图 1
  • HelloBPCL for Business 应用截图 2
  • HelloBPCL for Business 应用截图 3
  • HelloBPCL for Business 应用截图 4
  • HelloBPCL for Business 应用截图 5
  • HelloBPCL for Business 应用截图 6
  • HelloBPCL for Business 应用截图 7
  • HelloBPCL for Business 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 发送登录 OTP

    POST /v1/hellobpcl/auth/otp opendata

    向商业用户手机号发送 OTP,用于登录或找回 MPIN。

    认证方式: HelloBPCL 商业版登录的公开入口。请求体为 mobileNumber,channel=MOBILE;尚无 Bearer。

    • mobileNumber
    • channel
    • deviceId
    • status
    • otpSent
    • resendAfterSeconds
    POST /v1/hellobpcl/auth/otp HTTP/1.1
    Content-Type: application/json
    
    {
      "mobileNumber": "9876543210",
      "channel": "MOBILE",
      "deviceId": "a1b2c3d4e5f6"
    }
    {
      "status": "OK",
      "otpSent": true,
      "resendAfterSeconds": 30,
      "channel": "MOBILE"
    }
  • 用 OTP 登录

    POST /v1/hellobpcl/auth/session opendata

    将已验证的 OTP(及可选 MPIN)兑换为 access_token、sessionKey 以及后续每个商业调用使用的 accountId。

    认证方式: 来自发送 OTP 调用的验证码。响应中的 access_token 在后续商业调用中以 Authorization: Bearer 发送;sessionKey 为配套会话句柄。

    • mobileNumber
    • otp
    • channel
    • mpin
    • access_token
    • tokenType
    • sessionKey
    • accountId
    • userId
    POST /v1/hellobpcl/auth/session HTTP/1.1
    Content-Type: application/json
    
    {
      "mobileNumber": "9876543210",
      "otp": "4821",
      "channel": "MOBILE",
      "mpin": "••••"
    }
    {
      "access_token": "<bearer-token>",
      "tokenType": "Bearer",
      "sessionKey": "sk-7c11ab",
      "mobileNumber": "9876543210",
      "accountId": "ACC-184650",
      "userId": "U-2081846"
    }
  • SmartFleet 钱包汇总

    GET /v1/fleet/wallet openbanking

    读取车队仪表盘上的 SmartFleet CMS 钱包与可充卡余额,含相对 creditLimit 的 availableCredit。

    认证方式: OTP 登录签发的 Bearer access_token。查询参数 channel=Mobile。

    • accountId
    • cmsBalance
    • walletAmount
    • currency
    • availableCredit
    • creditLimit
    GET /v1/fleet/wallet?channel=Mobile HTTP/1.1
    Authorization: Bearer <bearer-token>
    Accept: application/json
    {
      "accountId": "ACC-184650",
      "cmsBalance": 125000.50,
      "walletAmount": 84200.00,
      "currency": "INR",
      "availableCredit": 50000.00,
      "creditLimit": 200000.00
    }
  • 统计 SmartFleet 卡数量

    GET /v1/fleet/cards opendata

    返回登录账户下的 SmartFleet 卡数量,供批量设置卡限额成功文案使用。

    认证方式: OTP 登录签发的 Bearer access_token。查询参数 channel=Mobile&state=all&fields=DEFAULT。

    • accountId
    • cardCount
    • state
    • channel
    GET /v1/fleet/cards?channel=Mobile&state=all&fields=DEFAULT HTTP/1.1
    Authorization: Bearer <bearer-token>
    Accept: application/json
    {
      "accountId": "ACC-184650",
      "cardCount": 14,
      "state": "all",
      "channel": "Mobile"
    }
  • 划转 SmartDrive 钱包

    POST /v1/fleet/wallet/transfer openbanking

    在 SmartDrive 卡之间划转预付燃油余额。金额留空的卡会被跳过,与应用内提示一致。

    认证方式: OTP 登录签发的 Bearer access_token。

    • accountId
    • fromCardNumber
    • toCardNumber
    • walletAmount
    • channel
    • txnId
    • cardWalletBalance
    • status
    POST /v1/fleet/wallet/transfer HTTP/1.1
    Authorization: Bearer <bearer-token>
    Content-Type: application/json
    
    {
      "accountId": "ACC-184650",
      "fromCardNumber": "603144******8211",
      "toCardNumber": "603144******9330",
      "walletAmount": 5000.00,
      "channel": "MOBILE"
    }
    {
      "status": "OK",
      "txnId": "SD-TXN-88421",
      "walletAmount": 5000.00,
      "fromCardNumber": "603144******8211",
      "toCardNumber": "603144******9330",
      "cardWalletBalance": 12000.00
    }
  • 兑换 petromiles

    POST /v1/loyalty/redeem openfinance

    将 SmartFleet petromiles 兑换为 GyFTR 代金券,并返回剩余 petromilesBalance。

    认证方式: OTP 登录签发的 Bearer access_token。

    • accountId
    • petromilesBalance
    • redeemPoints
    • programType
    • voucherCode
    • status
    POST /v1/loyalty/redeem HTTP/1.1
    Authorization: Bearer <bearer-token>
    Content-Type: application/json
    
    {
      "accountId": "ACC-184650",
      "petromilesBalance": 2400,
      "redeemPoints": 1000,
      "programType": "SMARTFLEET"
    }
    {
      "status": "OK",
      "petromilesBalance": 1400,
      "redeemPoints": 1000,
      "voucherCode": "GYFTR-8A21",
      "programType": "SMARTFLEET"
    }
  • 列出 SmartDrive 车辆

    GET /v1/fleet/vehicles opendata

    列出 SmartDrive 账户下登记的车辆,含司机将会话钉到某辆卡车时使用的 pinned 标记。

    认证方式: OTP 登录签发的 Bearer access_token。

    • vehicles
    • vehicleNumber
    • vehicleType
    • cardNumber
    • pinned
    • status
    GET /v1/fleet/vehicles?channel=Mobile HTTP/1.1
    Authorization: Bearer <bearer-token>
    Accept: application/json
    {
      "vehicles": [
        {
          "vehicleNumber": "MH01AB1234",
          "vehicleType": "HCV",
          "cardNumber": "603144******8211",
          "pinned": true,
          "status": "ACTIVE"
        }
      ]
    }
  • 跟踪 SmartFleet 申请

    GET /v1/fleet/applications opendata

    返回进行中的 SmartFleet 开户申请及 KYC 状态,对应 Track Application 界面。

    认证方式: OTP 登录签发的 Bearer access_token。

    • applications
    • applicationId
    • applicationType
    • status
    • kycStatus
    • gstin
    GET /v1/fleet/applications?channel=Mobile HTTP/1.1
    Authorization: Bearer <bearer-token>
    Accept: application/json
    {
      "applications": [
        {
          "applicationId": "SF-APP-44102",
          "applicationType": "NEW_ACCOUNT",
          "status": "PENDING",
          "kycStatus": "Submitted",
          "gstin": "27AAACB2902M1Z3"
        }
      ]
    }
  • 创建工业 indent

    POST /v1/industrial/indents opendata

    按收货方与供货地点下达大宗工业燃料 indent,返回用于跟踪的 indentNumber。

    认证方式: 工业 OTP 校验之后的 Bearer access_token。查询参数 channel=MOBILE&accountId。

    • shipToParty
    • supplyLocationId
    • productCode
    • quantity
    • payerCode
    • indentNumber
    • indentId
    • indentStatus
    POST /v1/industrial/indents?channel=MOBILE&accountId=ACC-184650 HTTP/1.1
    Authorization: Bearer <bearer-token>
    Content-Type: application/json
    
    {
      "shipToParty": "STP-90021",
      "supplyLocationId": "LOC-PN-12",
      "productCode": "HSD",
      "quantity": 12.0,
      "payerCode": "PAY-4410"
    }
    {
      "indentNumber": "IND-20261009-088",
      "indentId": "882144",
      "indentStatus": "CREATED",
      "shipToParty": "STP-90021",
      "supplyLocationId": "LOC-PN-12",
      "productCode": "HSD",
      "quantity": 12.0
    }
  • 模拟工业报价

    GET /v1/industrial/quotes opendata

    在确认 indent 之前为工业篮子报价(含 GST)。相邻的 GST 查询使用相同的 accountId 与 shipToParty。

    认证方式: 工业 OTP 会话签发的 Bearer access_token。查询参数 channel=Mobile&accountId&shipToParty。

    • productCode
    • quantity
    • unitPrice
    • gstAmount
    • netAmount
    • shipToParty
    • currency
    GET /v1/industrial/quotes?channel=Mobile&accountId=ACC-184650&shipToParty=STP-90021&productCode=HSD&quantity=12 HTTP/1.1
    Authorization: Bearer <bearer-token>
    Accept: application/json
    {
      "productCode": "HSD",
      "quantity": 12.0,
      "unitPrice": 94.21,
      "gstAmount": 2034.94,
      "netAmount": 13340.46,
      "shipToParty": "STP-90021",
      "currency": "INR"
    }
  • 工业客户账本

    GET /v1/industrial/ledger openfinance

    按 payerCode 分页返回工业客户账本。相邻的对账单导出覆盖同一本账。

    认证方式: 工业 OTP 会话签发的 Bearer access_token。

    • payerCode
    • entries
    • docNumber
    • postingDate
    • amount
    • currency
    • indentNumber
    GET /v1/industrial/ledger?channel=MOBILE&accountId=ACC-184650 HTTP/1.1
    Authorization: Bearer <bearer-token>
    Accept: application/json
    {
      "payerCode": "PAY-4410",
      "entries": [
        {
          "docNumber": "LED-90012",
          "postingDate": "2026-10-01",
          "amount": -84200.00,
          "currency": "INR",
          "indentNumber": "IND-20261001-012"
        }
      ]
    }
  • 核验液化气客户

    POST /v1/lpg/accounts/verify osint

    在补气或更新联系方式之前确认商业 Bharatgas 液化气身份(lpgId)。相邻的更新调用写入同一条记录。

    认证方式: OTP 登录签发的 Bearer access_token。

    • lpgId
    • mobileNumber
    • channel
    • verified
    • distributorCode
    • connectionType
    • kycStatus
    POST /v1/lpg/accounts/verify HTTP/1.1
    Authorization: Bearer <bearer-token>
    Content-Type: application/json
    
    {
      "lpgId": "1234567890123456",
      "mobileNumber": "9876543210",
      "channel": "MOBILE"
    }
    {
      "verified": true,
      "lpgId": "1234567890123456",
      "distributorCode": "0000154004",
      "connectionType": "Commercial",
      "kycStatus": "Completed"
    }
  • Lynkit HelloBPCL 登录

    POST /v1/lpg/session opendata

    打开助手会话,使商业客户端能查询钢瓶二维码配送详情。

    认证方式: 为已登录 HelloBPCL 会话签发的助手凭据。响应令牌用于钢瓶二维码调用。

    • mobileNumber
    • channel
    • accountId
    • token
    • status
    • userId
    POST /v1/lpg/session HTTP/1.1
    Content-Type: application/json
    
    {
      "mobileNumber": "9876543210",
      "channel": "HELLOBPCL",
      "accountId": "ACC-184650"
    }
    {
      "token": "<helper-token>",
      "status": "OK",
      "userId": "U-2081846"
    }
  • 钢瓶二维码配送详情

    POST /v1/lpg/cylinders/scan opendata

    将扫描的商业钢瓶二维码解析为 lpgId、配送状态与经销商——交付时的手持核验。

    认证方式: 来自钢瓶扫描登录的助手令牌。

    • qrCode
    • lpgId
    • deliveryStatus
    • distributorCode
    • cylinderType
    • bookingRef
    POST /v1/lpg/cylinders/scan HTTP/1.1
    Authorization: Bearer <helper-token>
    Content-Type: application/json
    
    {
      "qrCode": "BPCL-CYL-8A21FF",
      "lpgId": "1234567890123456"
    }
    {
      "lpgId": "1234567890123456",
      "qrCode": "BPCL-CYL-8A21FF",
      "deliveryStatus": "OUT_FOR_DELIVERY",
      "distributorCode": "0000154004",
      "cylinderType": "19KG_COMMERCIAL",
      "bookingRef": "BK-77821"
    }
  • 扫描 MAK 零售商二维码

    POST /v1/lubes/packs/scan opendata

    MAK 润滑油零售商扫描包装二维码时记入 Scan & Earn 忠诚度积分。相邻的优惠券调用核验优惠券真伪。

    认证方式: OTP 登录签发的 Bearer access_token。

    • qrCode
    • accountId
    • channel
    • status
    • loyaltyPoints
    • programType
    POST /v1/lubes/packs/scan HTTP/1.1
    Authorization: Bearer <bearer-token>
    Content-Type: application/json
    
    {
      "qrCode": "MAK-SCAN-44102",
      "accountId": "ACC-184650",
      "channel": "MOBILE"
    }
    {
      "status": "OK",
      "loyaltyPoints": 25,
      "programType": "MAK_SCAN_EARN",
      "qrCode": "MAK-SCAN-44102"
    }
  • 列出仪表盘计划

    GET /v1/loyalty/programs opendata

    列出登录账户可报名的忠诚度与商业计划。

    认证方式: OTP 登录签发的 Bearer access_token。查询参数 channel=MOBILE。

    • programs
    • programCode
    • programType
    • enrolled
    • channel
    GET /v1/loyalty/programs?channel=MOBILE HTTP/1.1
    Authorization: Bearer <bearer-token>
    Accept: application/json
    {
      "programs": [
        {
          "programCode": "SF_LOYALTY",
          "programType": "SMARTFLEET",
          "enrolled": true,
          "channel": "MOBILE"
        },
        {
          "programCode": "MAK_SCAN_EARN",
          "programType": "LUBES",
          "enrolled": false,
          "channel": "MOBILE"
        }
      ]
    }

数据类别

  • 余额
  • 车队卡
  • 忠诚度
  • 工业订单
  • 账本
  • 液化气户号
  • 实名认证

数据使用场景与案例

  • 车队卡司库对账

    车队 ERP 夜间拉取 cmsBalance 与 walletAmount,对照 CMS 充卡与 sdWalletTransfer 流水,标出 cardCount 或 availableCredit 与油站侧账本不一致的卡。

  • 工业 indent 与 GST 报价机器人

    大宗燃料买家按 shipToParty、supplyLocationId 与 productCode 提交 indent,先读取 price/simulate(含 GST)报价再确认,把 indentNumber 写回采购订单系统。

  • 液化气钢瓶配送核验

    配送手持设备扫描钢瓶二维码,查询 lpgId 与配送详情,并调用 verifyCustomer,使现金备忘录与实际交付的钢瓶一致。

  • Petromiles 到期与券核销

    忠诚度柜台读取 petromilesBalance,兑换 GyFTR 代金券,并用 getDashboadPrograms 核对计划报名,赶在积分过期前花掉。

常见问题

HelloBPCL 商业版暴露哪些车队卡数据?

SmartFleet 钱包汇总返回 CMS 充卡用的 cmsBalance 与 walletAmount,cardCount 列出账户下的卡,划转调用在 SmartDrive 卡之间移动预付余额,兑换调用报告 petromilesBalance。这些调用都依托登录时签发的 OTP 会话。

工业买家如何下达 indent?

工业 OTP 校验之后,创建 indent 的调用写入 indentNumber、shipToParty、supplyLocationId 与 productCode。报价调用为同一篮子报价(含 GST),账本调用分页返回付款方客户账本。

钢瓶二维码配送如何工作?

钢瓶扫描助手在助手登录之后把扫描的钢瓶二维码解析为 lpgId 与配送详情。核验调用确认商业液化气账户,MAK 零售商再提交包装扫描以记 Scan & Earn 积分。

应用如何鉴权?

零售与 SmartFleet 调用先发手机 OTP,再登录签发 access_token / sessionKey,以 Authorization: Bearer 发送(channel=MOBILE)。工业客户使用单独的加密 OTP 对。钢瓶二维码在配送详情调用前走自己的助手登录。

与 HelloBPCL for Business 相似的应用

  • HP PAY — HPCL 的消费与商业燃油钱包应用,含 Instafuel 付款码与 HP Gas 钢瓶预约。
  • IndianOil ONE — 印度石油的消费超级应用,覆盖 Indane 液化气补气与印度石油油站的 XTRAREWARDS。
  • Bharatgas — BPCL 面向家庭的液化气消费应用,用于家用钢瓶预约,是本商业客户端的消费侧对应产品。
  • SmartDrive BPCL — BPCL 较早的 SmartDrive 忠诚度 / 燃油卡配套应用,现作为模块托管在 HelloBPCL 商业版中。

相关主题

  • HelloBPCL 商业版 API
  • SmartFleet 钱包 cmsBalance
  • BPCL 工业 indent
  • petromilesBalance
  • 液化气钢瓶二维码 lpgId
  • Bharat Petroleum 企业 API
  • shipToParty supplyLocationId
  • HelloBPCL 数据 API

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价