HelloBPCL 商业版数据 API:车队与 LPG
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 把整个数据面变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
发送登录 OTP
POST
/v1/hellobpcl/auth/otpopendata向商业用户手机号发送 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/sessionopendata将已验证的 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/walletopenbanking读取车队仪表盘上的 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/cardsopendata返回登录账户下的 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/transferopenbanking在 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/redeemopenfinance将 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/vehiclesopendata列出 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/applicationsopendata返回进行中的 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/indentsopendata按收货方与供货地点下达大宗工业燃料 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/quotesopendata在确认 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/ledgeropenfinance按 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/verifyosint在补气或更新联系方式之前确认商业 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/sessionopendata打开助手会话,使商业客户端能查询钢瓶二维码配送详情。
认证方式: 为已登录 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/scanopendata将扫描的商业钢瓶二维码解析为 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/scanopendataMAK 润滑油零售商扫描包装二维码时记入 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/programsopendata列出登录账户可报名的忠诚度与商业计划。
认证方式: 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 天交付
- 验收通过后才付款
- 仅在授权范围内作业