Mitra 图标

Mitra 零售商数据 API:钱包、充值与台账端点

Product Engg · 电信

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 台账流水。

应用截图

  • Mitra 应用截图 1
  • Mitra 应用截图 2
  • Mitra 应用截图 3
  • Mitra 应用截图 4
  • Mitra 应用截图 5
  • Mitra 应用截图 6

API 端点一览

  • 校验零售商 OTP 并签发会话

    POST /v1/auth/otp/verify osint

    确认零售商手机号的短信 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/wallet openbanking

    返回零售商的实时预付费 / 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/earnings openfinance

    返回当月累计与当日累计的零售商收入,按 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/search openbanking

    分页返回零售商的充值历史,包含金额、客户手机号、代理、时间戳与成功 / 失败状态,供“我的交易”界面使用。

    认证方式: 来自 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/subscribe openfinance

    使用零售商钱包执行一笔预付费 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/entries openbanking

    按日期分组返回 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 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价