# Voice & Data Packs

This API allows you to recharge Data packs operators such as **Ncell Product & NTC Product**

<mark style="color:blue;">**Ncell**</mark>**&#x20;Product&#x20;**<mark style="color:blue;">**is divided into 5 Sub Operator : Ncell Data (2) , Ncell Voice (3)  , Ncell Sms (4) , Ncell Roaming  (113) , Ncell Sadhain On (114)**</mark>

\ <mark style="color:green;">**NTC**</mark>**&#x20; Product&#x20;**<mark style="color:green;">**is divided into in 3 Sub Operator : Ntc Data (8) , Ntc Voice (9) , Ntc Recommended (10)**</mark>

**Ncell product regex : 980 , 981 , 982 , 970**&#x20;

**NTC Product regex : 984 , 985 , 986 , 974, 975 , 976 , 9040**&#x20;

* To get a list of available operators, use the [Operator Lookup API](/additional-nepal-apis/operator-lookup.md).
* To get a list of available operator types, use the [Operator Type Lookup API.](/additional-nepal-apis/operator-type-lookup.md)
* To find a list of available packages, refer to the [Package Listing API](/additional-nepal-apis/package-listing.md).

#### How To Use:

1. **Identify the Operator**:
   * First, use the [Operator Lookup API ](/additional-nepal-apis/operator-lookup.md)to get the correct operator based on user input or selection.
2. **Determine Operator Type**:
   * Use the [Operator Type Lookup API ](/additional-nepal-apis/operator-type-lookup.md)to confirm the type (e.g., Mobile, DTH, Data Pack, etc).
3. **Retrieve Package Listing**:
   * For the Data Packs operator, you will need an `package_id`. Use the [Package Listing API](/additional-nepal-apis/package-listing.md) to find the appropriate package list for the user's selection.
4. **Initiate Recharge**:
   * Once you have obtained all the required details (operator, type,  package\_id), you can use the API to initiate a recharge request.

## Execute the recharge for Data Packs

<mark style="color:green;">`POST`</mark> `/np/recharge/execute`

**Headers**

| Name         | Value              |
| ------------ | ------------------ |
| Content-Type | `application/json` |
| Accept       | `application/json` |
| x-auth-token | `<token>`          |

**Body**

| Name               | Type   | Description                                                                                                                          |
| ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `operator_id`      | number | The ID of the operator to recharge                                                                                                   |
| `operator_type_id` | number | The type ID of the operator                                                                                                          |
| `amount`           | number | Enter Package amount                                                                                                                 |
| `connection_no`    | string | Enter the customer ID of the user                                                                                                    |
| `package_id`       | string | Package ID  ([Package Listing API](/additional-nepal-apis/package-listing.md)  )                                                     |
| `reference_no`     | string | The unique reference number received in response of  Package Listing API( [refer this](/additional-nepal-apis/package-listing.md) ). |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "error": false,
  "message": "Additional message about the recharge"
 "data" : [
  "transaction_id" => "Transaction ID of the recharge e.g 12345",
  "reference_no"   => "Unique reference number provided by you for later reference",
  "amount"         => "Amount for which recharge has been done",
  "credit_consumed": 
       {
          "service_charge": " Processing fees charged by Company e.g 0.5 ",
          "instant_discount": " Any Discount Offered by Company e.g 0.2 ",
          "debit_amount": " Recharged amount + Service charge - instant discount e.g 10.3 "
        },
   "credit_available": "Available wallet balance after transaction e.g 8313.58",
   "status"         => "Status of the recharge e.g queued, success,failed, etc"
 ]
}
```

{% endtab %}

{% tab title="4XX/5XX" %}

```json
{
  "type": "object",
  "properties": {
    "status": {
      "type": "boolean",
      "description": "The status of the recharge execution either true or false"
    },
    "message": {
      "type": "string",
      "description": "A message providing additional information about the error of the recharge execution."
    },
     "data": {
      "type": "error",
      "description": "Blank array in case of error"
    }
  }
}
```

{% endtab %}

{% tab title="Guzzle Request" %}

```php
use GuzzleHttp\Client;

$url    = 'np/recharge/execute';

$form_params =
  [
    'operator_type_id' => '3',
    'operator_id'      => '10',
    'connection_no'    => '9841802255',
    'reference_no'     => 'reference no received in response of Package API',
    'package_id'       => 'Package Id received in response from Package APi'
  ];
            
$client = new Client([
    'base_uri' => 'https://uatservices.globaltopup.in/api/v1/',
          ]);
          $res = $client->post($url, [
          'json' => $form_params,   // Send JSON payload
          'headers' => 
        [
             'x-auth-token' => 'Token Provided by Global Topup',
             'Content-Type' => 'application/json'
        ]
                ]);
              
   $response       =   json_decode($res->getBody()->getContents(), true);

```

{% endtab %}

{% tab title="PHP Curl" %}

```php
$curl = curl_init();

$data = json_encode(array(
    'operator_id' => '10',
    'operator_type_id' => '3',
    'connection_no' => '9865160527',
    'reference_no' => 'Number received from Package API',
    'package_id' => 'Package ID receievd from Package API'
));

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://uatservices.globaltopup.in/api/v1/np/recharge/execute',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => $data, // Send JSON payload
  CURLOPT_HTTPHEADER => array(
    'x-auth-token: Token Provided by Global Topup',
     'Accept: application/json',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

```

{% endtab %}

{% tab title="Curl" %}

```php
curl -X POST https://uatservices.globaltopup.in/api/v1/np/recharge/execute
     -H 'Content-Type: application/json'
     -H 'Accept: application/json' 
     -H 'x-auth-token: Global Topup Provided Token'
     -d '{"operator_id" : "10","operator_type_id" : "3",
     "connection_no" : "9865160527",
     "reference_no" : "Reference No received in package API",
     "package_id" : "Package ID received from Package API"}' // Send JSON payload
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.globaltopup.in/nepal-recharge/data-packs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
