Mitra 零售商数据 API:钱包、充值与台账端点
Mitra 是 Airtel 面向印度零售商的门店应用,用于销售预付费充值与 LAPU 库存。OTP 登录后,客户端把每次调用包进一个会话信封——零售商手机号、会话令牌与设备 id——并以 JSON 提交给 Airtel 零售商平台。
下面的示意接口把这些私有调用泛化为路径形式:通过 POST /v1/auth/otp/verify 完成 OTP 登录,通过 POST /v1/retailers/wallet 查询钱包余额,通过 POST /v1/retailers/earnings 获取佣金拆分,预付费充值走 POST /v1/recharge/subscribe,LAPU 现金台账走 POST /v1/ledger/entries。
Mitra 是 Airtel 面向印度分销商与零售店主的安卓应用,用于销售预付费充值、LAPU 库存、开通激活并结算佣金。OTP 登录后,应用把每个请求包进一个会话信封——零售商手机号(userIdentifier)、会话令牌(tokenId)、deviceId 与 application=Retailer——再提交给 Airtel 零售商平台。登录后的调用返回实时零售商钱包(currentBalance / thresholdBalance)、FTD/MTD 佣金拆分、历史充值工单,以及带交易前后余额的 LAPU 台账流水。
应用截图
API 端点一览
校验零售商 OTP 并签发会话
POST
/v1/auth/otp/verifyosint确认零售商手机号的短信 OTP,并返回会话令牌 / 用户令牌对,供后续钱包、收入、充值与台账请求携带。
认证方式: 无前置会话。请求体携带零售商手机号、短信 OTP 与发送 OTP 步骤返回的 otpToken,外加 deviceId / application / appVersion。返回的会话令牌与用户令牌会附加到之后每个登录调用。
- action
- userIdentifier
- otp
- otpToken
- isOtpThirdParty
- deviceId
- application
- appVersion
- userAgent
- result
- userToken
- tokenId
- status
- message
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/auth/otp/verify HTTP/1.1 Content-Type: application/json { "action": "consumeAPI", "userIdentifier": "9876543210", "otp": "482913", "otpToken": "otp-tok-9f2a", "isOtpThirdParty": "0", "deviceId": "a1b2c3d4e5f6", "application": "Retailer", "appVersion": "635", "userAgent": "android" }{ "result": { "deviceId": "a1b2c3d4e5f6", "userIdentifier": "9876543210", "userToken": "usr-tok-7c11", "tokenId": "sess-4e90ab" }, "status": { "status": "SUCCESS", "message": "OTP verified" } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的 OTP 登录流程重构。与首页在每个登录请求上附加的会话字段一致。
查询零售商钱包余额
POST
/v1/retailers/walletopenbanking返回零售商的实时预付费 / LAPU 钱包余额,以及 Mitra 首页展示的低余额阈值。
认证方式: 来自 OTP 校验调用的会话令牌,与零售商手机号、deviceId 一起在会话信封中发送。
- token
- currentBalance
- thresholdBalance
- status
- message
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/retailers/wallet HTTP/1.1 Content-Type: application/json { "action": "consumeAPI", "userIdentifier": "9876543210", "tokenID": "sess-4e90ab", "deviceId": "a1b2c3d4e5f6", "application": "Retailer", "appVersion": "635", "userAgent": "android", "additionalRequestParams": { "token": "sess-4e90ab" } }{ "responseObject": { "currentBalance": 18450.75, "thresholdBalance": 500.0 }, "status": { "status": "SUCCESS", "message": "Balance fetched" } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用首页的钱包卡片重构。与展示给零售商的余额和低余额阈值一致。
查询零售商收入与佣金
POST
/v1/retailers/earningsopenfinance返回当月累计与当日累计的零售商收入,按 LAPU 收入、R-offer 佣金、OTF 佣金与活动方案奖励拆分。
认证方式: 来自 OTP 校验调用的会话令牌,与零售商手机号、deviceId 一起在会话信封中发送。
- token
- totalMtd
- totalFtd
- lapuIncomeResponse
- lapuIncomeMtd
- lapuIncomeFtd
- lapuIncome
- rOfferCommissionResponse
- mtd
- ftd
- amount
- transactionId
- date
- otfCommissionResponse
- schemeRelatedCommissionResponses
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/retailers/earnings HTTP/1.1 Content-Type: application/json { "action": "consumeAPI", "userIdentifier": "9876543210", "tokenID": "sess-4e90ab", "deviceId": "a1b2c3d4e5f6", "application": "Retailer", "appVersion": "635", "additionalRequestParams": { "token": "sess-4e90ab" } }{ "responseObject": { "totalMtd": 12840.5, "totalFtd": 960.0, "lapuIncomeResponse": { "lapuIncomeMtd": 4100.0, "lapuIncomeFtd": 250.0, "lapuIncome": 4100.0 }, "rOfferCommissionResponse": { "mtd": 6200.0, "ftd": 480.0, "amount": 6200.0, "transactionId": 88421109, "date": "2026-09-26" }, "otfCommissionResponse": { "mtd": 2540.5, "ftd": 230.0 }, "schemeRelatedCommissionResponses": [] }, "status": { "status": "SUCCESS", "message": "OK" } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的收入仪表盘重构。与按产品线拆分的 FTD/MTD 佣金卡片一致。
列出历史充值交易
POST
/v1/transactions/searchopenbanking分页返回零售商的充值历史,包含金额、客户手机号、代理、时间戳与成功 / 失败状态,供“我的交易”界面使用。
认证方式: 来自 OTP 校验调用的会话令牌。请求体还携带 pageNumber、size、可选的 customerNumber / agentNumber 以及 startDate-endDate 时间窗口。
- token
- pageNumber
- size
- customerNumber
- startDate
- endDate
- agentNumber
- statusCode
- statusDesc
- isWLREnabled
- totalSize
- lastFiveTransactionDetails
- totalAmount
- customerMobileNumber
- transactionId
- transactionStatus
- transactionDateTime
- wlrtransaction
- agentName
- agentNumber
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/transactions/search HTTP/1.1 Content-Type: application/json { "token": "sess-4e90ab", "pageNumber": "1", "size": "20", "customerNumber": "9810012345", "startDate": "2026-09-01", "endDate": "2026-09-26", "agentNumber": "9890011122" }{ "responseObject": { "statusCode": "200", "statusDesc": "SUCCESS", "isWLREnabled": "Y", "totalSize": 2, "lastFiveTransactionDetails": [ { "totalAmount": "299.00", "customerMobileNumber": "9810012345", "transactionId": "TXN88421109", "transactionStatus": "SUCCESS", "transactionDateTime": "2026-09-26 10:14:03", "wlrtransaction": false, "wlrtransactionStatus": 0, "agentName": "Ramesh", "agentNumber": "9890011122" } ], "transactionStatusResponses": [] } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的“我的交易”历史界面重构。与历史记录中带客户、代理与状态的分页充值行一致。
下单 R-offer 充值
POST
/v1/recharge/subscribeopenfinance使用零售商钱包执行一笔预付费 R-offer 充值,在 mPIN 确认后返回新的 accountBalance 与 transactionId。
认证方式: 来自 OTP 校验调用的会话令牌。请求体还需要零售商 mPIN 以及 retailerNumber / customerNumber / offerId / price。
- retailerNumber
- customerNumber
- offerId
- price
- mpin
- rechargeType
- channelId
- retailerCircle
- connectionType
- gst
- latitude
- longitude
- httpStatus
- responseMessage
- transactionId
- refTransactionNumber
- chillarAmount
- gstText
- accountBalance
- fseNumber
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/recharge/subscribe HTTP/1.1 Content-Type: application/json { "retailerNumber": "9876543210", "customerNumber": "9810012345", "offerId": "ROFFER_299", "price": "299", "mpin": "2580", "rechargeType": "PREPAID", "channelId": "MITRA", "retailerCircle": "DL", "connectionType": "PREPAID", "gst": "53.82", "latitude": "28.6139", "longitude": "77.2090" }{ "httpStatus": "200", "status": { "status": "SUCCESS", "message": "Recharge successful" }, "responseObject": { "responseMessage": "Recharge of INR 299 successful", "transactionId": "TXN88421109", "refTransactionNumber": "REF772190", "chillarAmount": "0", "gstText": "Incl. GST", "retailerAccountBalanceAndFSEDetails": { "accountBalance": "18151.75", "fseNumber": "FSE44021" } } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的充值确认流程重构。与充值后的 mPIN 提示和最新余额展示一致。
查询 LAPU 台账流水
POST
/v1/ledger/entriesopenbanking按日期分组返回 LAPU 台账流水,包含金额、付款方手机号、preBalance/postBalance 与借贷标记,供零售商现金台账使用。
认证方式: 来自 OTP 校验调用的会话令牌。过滤条件为零售商手机号加可选的 startDate/endDate 与交易类型;pageParams 携带 pageState/pageOffset。
- filterParams
- retailerMsisdn
- startDate
- endDate
- queryParam
- parentTransactionTypeId
- pageParams
- pageState
- pageOffset
- ledgerTransactions
- transactionId
- amount
- channel
- senderCircle
- senderMsisdn
- transactionDateTime
- transactionType
- retailerCircle
- preBalance
- postBalance
- isCredit
- note
- status
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/ledger/entries HTTP/1.1 Content-Type: application/json { "filterParams": { "retailerMsisdn": "9876543210", "startDate": "2026-09-01", "endDate": "2026-09-26", "queryParam": "", "parentTransactionTypeId": "RECHARGE" }, "pageParams": { "pageState": null, "pageOffset": 0 } }{ "httpStatus": "200", "status": { "status": "SUCCESS", "message": "OK" }, "body": { "pageState": "eyJvIjoxMH0", "ledgerTransactions": { "2026-09-26": [ { "transactionId": "LED99102", "amount": "299.00", "channel": "MITRA", "senderCircle": "DL", "senderMsisdn": "9810012345", "transactionDateTime": "2026-09-26 10:14:03", "transactionType": "RECHARGE", "retailerMsisdn": "9876543210", "retailerCircle": "DL", "status": "SUCCESS", "preBalance": "18450.75", "postBalance": "18151.75", "isCredit": false, "note": "R-offer 299" } ] } } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的 LAPU 现金台账界面重构。与按日期分组、带滚动前后余额的台账行一致。
数据类别
- 零售商身份
- 钱包余额
- 佣金
- 充值交易
- LAPU 台账
数据使用场景与案例
LAPU 钱包夜间对账
从钱包接口拉取 currentBalance,并与台账流水接口中最后一条 postBalance 比对,让 ERP 能在开店前标记缺失的入账。
佣金结算看板
读取收入接口的 totalMtd、lapuIncomeMtd 与 rOfferCommissionResponse.mtd,按产品线构建合作方财务视图,对比 FTD 与 MTD 收入。
充值争议查询
按 customerNumber 与 startDate/endDate 查询交易搜索接口,再用 transactionId 关联充值下单结果,处理用户反馈的充值失败。
低余额补货提醒
每次充值下单后比较 currentBalance 与 thresholdBalance,当零售商钱包需要补款时通知外勤销售代理(fseNumber)。
常见问题
Mitra 登录后会携带哪些会话字段?
OTP 校验调用为零售商手机号(userIdentifier)返回会话令牌与用户令牌。之后的调用把它们与设备 id、应用标识和版本号一起包在同一个会话信封里。
哪个端点返回零售商钱包?
POST /v1/retailers/wallet 返回 currentBalance 与 thresholdBalance。充值完成后,下单接口还会回显 accountBalance 与外勤销售代理编号(fseNumber)。
佣金如何拆分?
POST /v1/retailers/earnings 返回当日与当月累计总额,以及按产品线嵌套的 LAPU 收入、优惠佣金与一次性费用佣金对象。
LAPU 现金台账在哪里?
POST /v1/ledger/entries 按日期分组分页返回台账流水,包含金额、付款方手机号、preBalance、postBalance 与借贷标记。
相关主题
- Mitra API
- Airtel 零售商 API
- LAPU 台账
- 零售商钱包余额
- R-offer 充值
- Mitra 佣金
- airtel mitra 端点
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业