Vizo Digital Api
Sign in

Airtel DMT · Airtel DMT Services

Get Customer (Step 1)

Retrieve customer details or generate onboarding session token.

POST request

URL: https://uat-api.vizodigital.com/api/v1/dmt/airtel/customer

Body

{
    "mobileNumber": "9680976136",
    "latitude": "12.9715",
    "longitude": "77.5945"
}

Include a valid Bearer token with every request

Code sample

curl --location 'https://api.vizodigital.com/api/v1/dmt/airtel/customer' \
  --header 'Authorization: Bearer <YOUR_API_TOKEN>' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --data '{
    "mobileNumber": "9680976136",
    "latitude": "12.9715",
    "longitude": "77.5945"
}'

Success response

{
    "status": 1,
    "statusCode": "SS0011",
    "message": "Success",
    "description": "This customer is already registered for DMT service.",
    "responseData": [
        {
            "dcmv": "5000",
            "mcmv": "25000",
            "mpt": "5000",
            "dcv": "0",
            "mcv": "0",
            "ycmv": "25000",
            "ycv": "0",
            "custFullName": "Ramesh Kumar"
        }
    ]
}

Failure response

{
    "status": "error",
    "message": "Request failed. Check credentials, wallet balance, or validation errors."
}

Overview

Retrieve customer information based on mobile number and GPS coordinates.

  • If the customer is already registered, returns remaining monthly limit (mcmv), used limit (mcv), and per-transaction limit (mpt).
  • If the customer is not registered, returns status code RS015 and a session token required for Step 2.

Headers

  • Authorization · string required

    Sanctum Bearer Token from /api/v1/auth/token

    Example: Bearer <YOUR_API_TOKEN>

  • Content-Type · string required

    Must be application/json

    Example: application/json

  • Accept · string required

    Must be application/json

    Example: application/json

Body

application/json required

JSON payload for Get Customer (Step 1)

Schema

{
    "type": "object",
    "required": [
        "mobileNumber",
        "latitude",
        "longitude"
    ],
    "properties": {
        "mobileNumber": {
            "type": "string",
            "description": "Customer 10-digit mobile number."
        },
        "latitude": {
            "type": "string",
            "description": "Customer latitude coordinate."
        },
        "longitude": {
            "type": "string",
            "description": "Customer longitude coordinate."
        },
        "merchantMobileNumber": {
            "type": "string",
            "description": "Merchant mobile number (optional, defaults to profile mobile)."
        }
    }
}

Example

{
    "mobileNumber": "9680976136",
    "latitude": "12.9715",
    "longitude": "77.5945"
}

Responses

  • 200 · application/json default

    Existing customer limits or new customer session token.

    Example

    {
        "status": 1,
        "statusCode": "SS0011",
        "message": "Success",
        "description": "This customer is already registered for DMT service.",
        "responseData": [
            {
                "dcmv": "5000",
                "mcmv": "25000",
                "mpt": "5000",
                "dcv": "0",
                "mcv": "0",
                "ycmv": "25000",
                "ycv": "0",
                "custFullName": "Ramesh Kumar"
            }
        ]
    }
  • 200 · application/json

    New Customer Response (Requires onboarding via Step 2).

    Example

    {
        "status": 0,
        "statusCode": "RS015",
        "message": "This customer is not registered for DMT service.",
        "responseData": [
            {
                "token": "MjQzMjYxMjQzMTMyMjQ1NzQ0..."
            }
        ]
    }

Errors

  • service_not_enabled · HTTP 403

    Airtel DMT service is not activated for your account.

    Airtel DMT service is not activated for your account.

    {
        "status": "error",
        "code": "service_not_enabled",
        "message": "Airtel DMT service is not activated for your account."
    }
  • Unauthenticated · HTTP 401

    Missing or invalid Bearer API token.

    Missing or invalid Bearer API token.

    {
        "status": "error",
        "code": "Unauthenticated",
        "message": "Missing or invalid Bearer API token."
    }
  • validation_error · HTTP 422

    Missing or invalid required parameters.

    Missing or invalid required parameters.

    {
        "status": "error",
        "code": "validation_error",
        "message": "Missing or invalid required parameters."
    }

Notes

⏱️ 15-Minute Sequential Flow Window

All requests from Step 1 to Step 7 must be executed sequentially within a 15-minute window. The session token received from Step 1 expires in 15 minutes. Ensure fast and synchronized execution.

💰 Wallet Billing & Instant Auto-Refund

  • For money transfer (Step 7), your wallet is locked and debited atomically.
  • If the downstream transfer fails (Status 0 or provider decline), your wallet is 100% instantly auto-refunded.

🛡️ Dual-Token Security Architecture

  • Header Token: Send standard Sanctum Authorization: Bearer <API_TOKEN> in headers.
  • Body Token: The token parameter in request body is received from previous steps (Steps 2, 4, 5, 7 require the body token).

Rate Limits

60/min