Tabby: Send, spend and save 图标

Tabby 分期与卡片数据 API

Tabby FZ LLC · 信贷

Tabby: Send, spend and save 是迪拜 Tabby FZ LLC 面向海湾合作委员会市场的消费金融应用。用户把商户消费拆成免息分期、用 Tabby 卡刷卡、通过 Tabby Advance 把现金贷打进银行账户、缴水电费、向已保存收款人汇款,并持有带本地 IBAN 的借记账户。Android 客户端是阿联酋与沙特已登录用户使用这些产品的入口,与 Tamara 及银行发卡争夺同一批先买后付购物者。

每笔分期购的 remaining 与账单上的 amount_to_pay、due_date 和可选 min_payment 放在一起;卡片记录给出 limit 对照 remaining,借记账户返回带 balance 的 iban。汇款报价含 send_amount、receive_amount 与 rate;返现提现把 real_balance 对照 virtual_balance。

财务团队用月结单核对商户分期,发卡合作方盯额度占用,汇款柜台在打款前比较报价。openData Studio 把这些记录变成可调用的开放数据。

应用截图

  • Tabby: Send, spend and save 应用截图 1
  • Tabby: Send, spend and save 应用截图 2
  • Tabby: Send, spend and save 应用截图 3
  • Tabby: Send, spend and save 应用截图 4
  • Tabby: Send, spend and save 应用截图 5
  • Tabby: Send, spend and save 应用截图 6
  • Tabby: Send, spend and save 应用截图 7

API 端点一览

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

  • 发送登录验证码

    POST /v1/signin/otp/dispatch osint

    用 SendCodeRequest.phone 与 language 向手机发 OTP,随后把 confirmation_code 提交到登录。

    认证方式: 无需令牌的 JSON 请求体。后续调用在 POST /v1/signin/verify 之后携带 AuthResponseDto 的 Authorization: Bearer access_token。

    • phone
    • language
    POST /v1/signin/otp/dispatch HTTP/1.1
    Content-Type: application/json
    
    {
      "phone": "+971501234567",
      "language": "en"
    }
    {
      "status": "ok"
    }
  • 密码或验证码登录

    POST /v1/signin/verify osint

    用 LoginRequest 的 phone 与 confirmation_code(或 password)换取 AuthResponseDto 的 access_token 与 refresh_token,作为客户路由的 Bearer。

    认证方式: 请求体提交 phone 与 confirmation_code(或 password)。响应 AuthResponseDto 的 access_token / refresh_token 作为后续客户调用的 Authorization: Bearer。

    • phone
    • confirmation_code
    • lang
    • device_info
    • success_otp_token
    • password
    • access_token
    • refresh_token
    POST /v1/signin/verify HTTP/1.1
    Content-Type: application/json
    
    {
      "phone": "+971501234567",
      "confirmation_code": "123456",
      "lang": "en",
      "device_info": {
        "platform": "android"
      },
      "success_otp_token": "otp_tok_8f21",
      "password": null
    }
    {
      "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
      "refresh_token": "rt_9c10aa11"
    }
  • 刷新访问令牌

    POST /v1/signin/refresh osint

    续期会话:提交 RefreshTokenRequest.token,返回 AuthResponseDto 的 access_token 与 refresh_token。

    认证方式: 请求体 RefreshTokenRequest.token(AuthResponseDto 的 refresh_token)。返回新的 access_token / refresh_token。

    • token
    • access_token
    • refresh_token
    POST /v1/signin/refresh HTTP/1.1
    Content-Type: application/json
    
    {
      "token": "rt_9c10aa11"
    }
    {
      "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
      "refresh_token": "rt_bb22cc33"
    }
  • 列出先买后付账单

    GET /v1/statements openfinance

    分页返回先买后付月结单:StatementDTO 的 amount_to_pay 对照 amount_paid、due_date,以及可选 MinPaymentDTO 的 to_pay、late_fees 与 currency。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • id
    • start_date
    • end_date
    • due_date
    • amount_to_pay
    • amount_paid
    • amount_total
    • amount_to_pay_without_fee
    • min_payment
    • min_payment_available
    • to_pay
    • late_fees
    • status
    • currency
    • type
    • subscription_active
    GET /v1/statements HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Accept: application/json
    {
      "items": [
        {
          "id": "st_441",
          "start_date": "2026-09-01",
          "end_date": "2026-09-30",
          "due_date": "2026-10-14",
          "amount_to_pay": "420.00",
          "amount_paid": "80.00",
          "amount_total": "500.00",
          "amount_to_pay_without_fee": "400.00",
          "amount_paid_without_fee": "80.00",
          "transfered_amount": "0.00",
          "min_payment": {
            "min_payment_available": true,
            "to_pay": "50.00",
            "paid": "0.00",
            "available_till": "2026-10-14",
            "available_from": "2026-10-01",
            "transfer_fee": "0.00",
            "to_next_statement_amount": "370.00"
          },
          "late_fees": "0.00",
          "rolling_split_service_fee": "0.00",
          "subscription_active": true,
          "status": "due",
          "currency": "AED",
          "type": "monthly",
          "subscription": {
            "id": "sub_plus"
          }
        }
      ]
    }
  • 分期购贷款明细

    GET /v1/purchases/{purchase_id} openfinance

    加载一笔先买后付订单:PurchaseDTO 的 status、商户 name、订单 billed_amount,以及 PurchaseLoanDTO 的 remaining 对照 paid 和 installments。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • id
    • status
    • displayed_status
    • currency
    • can_be_paid
    • in_statement
    • merchant
    • name
    • logo
    • order
    • amount
    • billed_amount
    • refunded_amount
    • loan
    • paid
    • remaining
    • installments
    • order_amount
    • total_service_fee
    GET /v1/purchases/pur_882144 HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Accept: application/json
    {
      "id": "pur_882144",
      "status": "to_pay",
      "displayed_status": "Due",
      "currency": "AED",
      "paid_date": null,
      "can_be_paid": true,
      "disputes_enabled": true,
      "in_statement": true,
      "merchant": {
        "id": "m_noon",
        "url": "https://noon.com",
        "name": "noon",
        "logo": "https://img.example.com/merchants/noon.png"
      },
      "order": {
        "id": "ord_991",
        "number": "N-441",
        "amount": "400.00",
        "billed_amount": "400.00",
        "refunded_amount": "0.00",
        "discount": "0.00",
        "tax_amount": "19.05",
        "shipping_amount": "0.00",
        "created_at": "2026-09-12T14:22:01Z",
        "currency": "AED",
        "status": "captured"
      },
      "loan": {
        "paid": "100.00",
        "remaining": "300.00",
        "refunded": false,
        "refunded_amount": "0.00",
        "order_amount": "400.00",
        "actual_order_amount": "400.00",
        "total_service_fee": "0.00",
        "service_fee": "0.00",
        "post_split": false,
        "statement_split": true,
        "has_contract": true,
        "installments": [
          {
            "amount": "100.00",
            "due_date": "2026-10-12",
            "status": "paid"
          }
        ]
      }
    }
  • Tabby Advance 贷款报价

    GET /v1/cash-loans/offers openfinance

    给出 Tabby Advance 现金贷选项:LoanOfferDTO 的 principal、amount_to_pay、repayment_fee,以及 RegularPaymentDTO 与 payment_schedule。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • is_default
    • principal
    • amount_to_pay
    • repayment_fee
    • regular_payment
    • payment_schedule
    GET /v1/cash-loans/offers HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Accept: application/json
    {
      "offers": [
        {
          "is_default": true,
          "principal": "2000.00",
          "amount_to_pay": "2200.00",
          "repayment_fee": "200.00",
          "regular_payment": {
            "principal": "500.00",
            "repayment_fee": "50.00",
            "amount_to_pay": "550.00"
          },
          "payment_schedule": [
            {
              "amount_to_pay": "550.00",
              "due_date": "2026-11-14"
            }
          ]
        }
      ]
    }
  • 提交 Advance 申请

    POST /v1/cash-loans/applications openfinance

    创建 Tabby Advance 申请,返回 ApplicationDTO 的 id、status、expiry_date、放款账户 masked_iban 以及 CurrentLoanOfferDTO 的 amount_to_pay。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • id
    • loan_terms_id
    • amount
    • currency
    • expiry_date
    • status
    • is_finalized
    • amount_changed
    • rejection_reason
    • masked_iban
    • principal
    • amount_to_pay
    • first_payment_date
    • repayment_fee
    POST /v1/cash-loans/applications HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Content-Type: application/json
    
    {
      "loan_terms_id": "lt_90d",
      "amount": "2000.00",
      "currency": "AED"
    }
    {
      "id": "app_771",
      "loan_terms_id": "lt_90d",
      "amount": "2000.00",
      "currency": "AED",
      "expiry_date": "2026-10-23",
      "status": "pending",
      "is_finalized": false,
      "amount_changed": false,
      "rejection_reason": null,
      "bank_account": {
        "id": "ba_12",
        "type": "iban",
        "masked_iban": "AE12 **** **** 0090",
        "currency": "AED",
        "available": true
      },
      "loan_offer": {
        "amount_to_pay": "2200.00",
        "first_payment_date": "2026-11-14",
        "principal": "2000.00",
        "repayment_fee": "200.00",
        "regular_payment": {
          "principal": "500.00",
          "repayment_fee": "50.00",
          "amount_to_pay": "550.00"
        },
        "payment_schedule": []
      }
    }
  • 卡片消费额度

    GET /v1/cards/spending-limit openbanking

    读取 Tabby 卡额度:CardLimitDTO 的 type、limit 对照 remaining,以及 MoneyAmountDTO 的 amount 与 currency。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • type
    • period
    • limit
    • value
    • remaining
    • amount
    • currency
    GET /v1/cards/spending-limit HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Accept: application/json
    {
      "type": "monthly",
      "period": "month",
      "limit": {
        "amount": "5000.00",
        "currency": "AED"
      },
      "value": "5000.00",
      "remaining": {
        "amount": "3120.50",
        "currency": "AED"
      }
    }
  • 借记账户摘要

    GET /v1/accounts/summary openbanking

    返回借记账户快照:AccountBalanceDto 的 balance 与 currency,以及 maxTopUpAmount / minTopUpAmount / remainingTopUpAmount。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • balance
    • currency
    • maxTopUpAmount
    • minTopUpAmount
    • remainingTopUpAmount
    • presetTopupsAmount
    GET /v1/accounts/summary HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Accept: application/json
    {
      "balance": "1840.25",
      "currency": "AED",
      "maxTopUpAmount": "20000.00",
      "minTopUpAmount": "10.00",
      "remainingTopUpAmount": "18159.75",
      "presetTopupsAmount": ["50.00", "100.00", "200.00"]
    }
  • 借记 IBAN 明细

    GET /v1/accounts/iban openbanking

    返回借记收款坐标:AccountIbanDetailsDto 的 iban,以及 AccountDetailsDto 的 beneficiaryName、partnerBank 与 remainingTopUpAmount。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • iban
    • currencyShort
    • currencyFull
    • maxTopUpAmount
    • remainingTopUpAmount
    • beneficiaryName
    • partnerBank
    GET /v1/accounts/iban HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Accept: application/json
    {
      "iban": "AE070331234567890123456",
      "currencyShort": "AED",
      "currencyFull": "UAE Dirham",
      "maxTopUpAmount": "20000.00",
      "remainingTopUpAmount": "18159.75",
      "beneficiaryName": "FATIMA ALI",
      "partnerBank": "Wio Bank",
      "customer": {
        "name": "Fatima Ali"
      }
    }
  • 汇款报价

    POST /v1/transfers/quote openbanking

    给出一笔汇款报价:TransferCalculationDTO 的 send_amount 对照 receive_amount、rate / rate_precise、fees、total_to_pay 与 sla。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • send_amount
    • receive_amount
    • rate
    • rate_precise
    • fees
    • total_to_pay
    • sla
    POST /v1/transfers/quote HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Content-Type: application/json
    
    {
      "send_amount": "500.00",
      "currency": "AED"
    }
    {
      "send_amount": "500.00",
      "receive_amount": "13580.00",
      "rate": "27.16",
      "rate_precise": "27.160000",
      "fees": "0.00",
      "total_to_pay": "500.00",
      "sla": "T+0"
    }
  • 列出汇款收款人

    GET /v1/transfers/beneficiaries openbanking

    列出已保存收款人:BeneficiaryDTO 的 id、pointer、name、provider_code、phone_number 与 account_details。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • id
    • pointer
    • name
    • avatar_url
    • type
    • provider_code
    • icon_url
    • phone_number
    • account_details
    • deletion_handle
    GET /v1/transfers/beneficiaries HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Accept: application/json
    {
      "items": [
        {
          "id": "ben_19",
          "pointer": "iban:AE070331234567890123456",
          "name": "Omar Hassan",
          "avatar_url": "https://img.example.com/avatars/omar.png",
          "type": "iban",
          "provider_code": "WIO",
          "icon_url": "https://img.example.com/banks/wio.png",
          "phone_number": "+971509876543",
          "account_details": {
            "iban": "AE070331234567890123456"
          },
          "view": "full",
          "deletion_handle": "del_19"
        }
      ]
    }
  • 返现提现摘要

    GET /v1/rewards/withdrawable openfinance

    读取可提现忠诚度现金:WithdrawBalanceDTO 的 balance 拆成 real_balance 与 virtual_balance,附 currency。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • balance
    • real_balance
    • virtual_balance
    • currency
    GET /v1/rewards/withdrawable HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Accept: application/json
    {
      "balance": "85.40",
      "real_balance": "60.40",
      "virtual_balance": "25.00",
      "currency": "AED"
    }
  • 账单账户查询

    GET /v1/bills/account-lookup opendata

    解析一个缴费账户:BillAccountDetailsResponseDTO 含 BillDTO 的 amount、status、is_bnpl_available 与 BillerDTO 的 name。

    认证方式: POST /v1/signin/verify 之后 AuthResponseDto 签发的 Authorization: Bearer access_token。

    • account
    • details
    • nickname
    • is_persistent
    • bill
    • id
    • amount
    • currency
    • status
    • pay_now_status
    • is_bnpl_available
    • biller
    • name
    • logo_url
    GET /v1/bills/account-lookup?account=0501234567 HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Accept: application/json
    {
      "account": {
        "details": "0501234567",
        "nickname": "Home DEWA",
        "is_persistent": true
      },
      "bill": {
        "id": "bill_331",
        "amount": "312.80",
        "currency": "AED",
        "details": "Sep 2026",
        "status": "unpaid",
        "pay_now_status": "ready",
        "is_bnpl_available": true
      },
      "biller": {
        "name": "DEWA",
        "logo_url": "https://img.example.com/billers/dewa.png"
      }
    }

数据类别

  • 余额
  • 账单
  • 交易
  • 贷款
  • 卡片
  • 转账

数据使用场景与案例

  • 先买后付账单对账

    财务机器人拉取每月 amount_to_pay、amount_paid 与 due_date,再把每笔 purchase remaining 对上账单,看出哪些商户贷款仍未结清。

  • 卡片额度占用监控

    发卡运营看板把 CardLimitDTO 的 remaining 对照 limit 以及借记账户 balance,在下一期账单前发现 Tabby 卡消费尖峰。

  • 汇款报价对比

    走廊柜台保存每次报价的 send_amount、receive_amount、rate_precise 与 fees,再按同一收款人 pointer 把 Tabby 报价和银行外汇并列。

  • Advance 放款跟踪

    信贷账本记录 ApplicationDTO 的 status、expiry_date 与 masked_iban,放款后跟踪 CurrentLoanOfferDTO 的 amount_to_pay,使现金贷账与客户界面一致。

常见问题

登录后 Tabby 会给出哪些客户记录?

已登录调用返回先买后付账单(amount_to_pay、due_date、min_payment)、单笔贷款 remaining、Tabby Advance 报价(principal、repayment_fee)、卡片 limit 对照 remaining、借记 iban 与 balance、汇款报价(send_amount、receive_amount、rate)、返现 real_balance / virtual_balance,以及缴费账单 amount 与 is_bnpl_available。

Tabby 如何鉴权客户会话?

客户端先对手机号发验证码,再在登录接口提交 phone 加 confirmation_code(或 password)。AuthResponseDto 返回 access_token 与 refresh_token;后续客户路由携带 Authorization: Bearer access_token。刷新时把 refresh_token 作为 token 提交。

这些客户记录覆盖哪些市场?

该 Android 客户端是 Tabby FZ LLC 在阿联酋与沙特已登录购物者的入口。账单与借记金额模型带 currency 字段(阿联酋账户常见 AED)。

与 Tabby: Send, spend and save 相似的应用

  • Tamara — Tamara 是覆盖沙特与阿联酋的先买后付应用,购物者可一次付清或把订单拆成免息分期,并提供不收逾期利息的符合伊斯兰教法方案。
  • Postpay — Postpay 是总部位于迪拜的先买后付服务,在阿联酋合作零售商结账时把订单拆成三期免息付款。
  • Cashew — Cashew 是阿联酋先买后付平台,把医疗、教育、汽车和家装等较大金额消费拆成 3、6 或最多 12 期月付,线上线下合作商户均可使用。
  • Spotii — Spotii 是覆盖阿联酋、沙特与巴林的中东北非先买后付应用,购物者可在合作商户把消费拆成分期。
  • MISpay — MISpay 是受沙特央行监管的先买后付应用,可在线上、门店和 MISpay 应用内把消费拆成四期免息、符合伊斯兰教法的分期。
  • Wio — Wio Personal 是阿布扎比数字银行、受阿联酋央行牌照监管,应用内可开立迪拉姆账户、多币种汇款,并发放返现信用卡。

相关主题

  • Tabby API
  • 先买后付账单
  • amount_to_pay
  • Tabby Advance
  • 卡片额度
  • 借记 IBAN
  • 汇款报价
  • 阿联酋分期

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

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

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

获取报价