# JAMB

### Before sending any request, ensure that:

{% hint style="info" %}
Users must provide an email and a phone number to be used for vending.
{% endhint %}

{% hint style="info" %}
Users must also provide all server IPs that will connect to this system which has to be allowed for vending by Payvantage.
{% endhint %}

## Jamb Candidate Profile Request

## A candidiate’s profile is to be requested before vending. This is to ensure that the candidate being vend for is the right candidate

<mark style="color:green;">`POST`</mark> `{{baseUrl}}/api2/merchant/profreq/`

**Sample Request**

{\
"profilerequest": \
&#x20;      { \
&#x20;          "user": "user", \
&#x20;          "password": "password",\
&#x20;          "designate\_id": "345789000-2019", \
&#x20;           "mocktype": "mock",                            \
&#x20;            "hash":  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"\
&#x20;       }\
}

This method would be used to vend jamb pin details using allowed IP addresses, username&#x20;

#### Request Body

| Name                                            | Type   | Description                                                                                       |
| ----------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| user<mark style="color:red;">\*</mark>          | String | This username should be passed at the time of connection to ensure that the User is a valid user. |
| password<mark style="color:red;">\*</mark>      | String | This password should be passed at the time of connection to ensure that the User is a valid user. |
| designate\_id<mark style="color:red;">\*</mark> | String | This is the unique profile code to be used for vending.                                           |
| hash<mark style="color:red;">\*</mark>          | String | SHA512 hash of the parameters.                                                                    |
| mocktype<mark style="color:red;">\*</mark>      | String | ‘mock’ or ‘non mock’. Candidate doing mock exam or not doing mock exam.                           |

{% tabs %}
{% tab title="200: OK Successful" %}

<pre class="language-json"><code class="lang-json">{
    "profileResponse": 
    {
        "designate_id": "345789000-2019",
        "firstname": "Abiola",
        "lastname": "Ashiru",
        "middlename": "Ayinde"
        "phonenos": "08033310835",
        "statuscode":"0",
        "statusmessage":"Successful",
        "hash": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
<strong>    }
</strong>}

</code></pre>

{% endtab %}
{% endtabs %}

## Jamb Pin Request

## Jamb Pin Sample Request

```json
// Some code
{
 "airtimeRequest": 
    {
        "user": "user",
        "password": "password",
        "prodid": "88",
        "jambtype": "UTME",
        "mocktype": "mock",
        "amount": "7700",
        "utransid": "234RRTERW1AS788PN4",
        "hash": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
}
```

Request Method and body parameters

## Jamb pin request

<mark style="color:green;">`POST`</mark> `{{baseUrl]}/api2/merchant/airtimereq/`

#### Request Body

| Name                                       | Type   | Description                                                                                                   |
| ------------------------------------------ | ------ | ------------------------------------------------------------------------------------------------------------- |
| user<mark style="color:red;">\*</mark>     | String | This username should be passed at the time of connection to ensure that the User is a valid user.             |
| password<mark style="color:red;">\*</mark> | String | This password should be passed at the time of connection to ensure that the User is a valid user.             |
| prodid<mark style="color:red;">\*</mark>   | String | This is the unique product id to be used for vending. Note ids in the Product Table below.                    |
| amount<mark style="color:red;">\*</mark>   | String | This is the amount for the pin purchased.                                                                     |
| jambtype<mark style="color:red;">\*</mark> | String | DE or UTME                                                                                                    |
| mocktype<mark style="color:red;">\*</mark> | String | mock’ or ‘non mock’. Candidate doing mock exam or not doing mock exam                                         |
| utransid<mark style="color:red;">\*</mark> | String | Unique transaction id from vendor end. Preferably not less than 16 characters and not more than 25 characters |
| hash <mark style="color:red;">\*</mark>    | String | SHA512 hash of the parameters                                                                                 |

{% tabs %}
{% tab title="200: OK Jamb Pin Response" %}

```json
{
  {
    "airtimeResponse": {
    "utransid": "234RRTERW1AS788PN4",
    "auditid": "K21345666344455556",
    "pinnos": "6988775",
    "airtimeStatus": "Success"
    "statusMessage": "Transaction Successful",
    "hash": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  }
}
```

{% endtab %}
{% endtabs %}

## Jamb Pin Response

<details>

<summary>Sample Response</summary>

```json
{
  {
    "airtimeResponse": {
    "utransid": "234RRTERW1AS788PN4",
    "auditid": "K21345666344455556",
    "pinnos": "6988775",
    "airtimeStatus": "Success"
    "statusMessage": "Transaction Successful",
    "hash": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  }
}
```

</details>

### Parameters

| Field         | Required/Optional | Data Type | Description                                                                                                        |
| ------------- | ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------ |
| utransid      | Required          | String    | Unique transaction id as sent from vendor. Preferably not less than 16 characters and not more than 25 characters. |
| auditid       | Required          | String    | Return ID generated from Payvantage. For audit purposes.                                                           |
| pinnos        | Required          | String    | Pin number from JAMB                                                                                               |
| airtimeStatus | Required          | String    | This is status of the payment. ‘Success’ or ‘Failed’.                                                              |
| statusMessage | Optional          | String    | A description of the status.                                                                                       |
| hash          | Required          | String    | SHA512 hash of all parameters in the order.                                                                        |


---

# 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://payvantage.gitbook.io/payvantage.gitbook.io/education/jamb.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.
