# MNO Web Opt-In South Africa

### <mark style="color:green;">`GET`</mark> `/lookup/za/`

Opt-In users via MNO Web-Opt-In.&#x20;

Redirect the user to the Lookup URL. Once the lookup is performed, user will be sent back to your *Return URL*. Upon the return the user will already be subscribed to your service and you can start sending billed messages, but only if the `status` variable is `success`.

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

```hsts
curl -XGET -H "Content-type: application/json" 'https://<hostname>/lookup/za/?shortcode=<shortcode>&service=<keyword>=<product_id>&freq=<billing frequency>&campaign=<campaign name>&amount=<billing amount>&bl=<brand logo>&bc=<background color>&tc=<text colour>&return=<your return URL>'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

headers = {
    'Content-type': 'application/json',
}

response = requests.get(
    'https://<hostname>/lookup/za/?shortcode=<shortcode>&service=<keyword>=<product_id>&freq=<billing frequency>&campaign=<campaign name>&amount=<billing amount>&bl=<brand logo>&bc=<background color>&tc=<text colour>&return=<your return URL>',
    headers=headers,
)
```

{% endtab %}
{% endtabs %}

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `No Auth`          |

**Body**

| Name      | Type    | Example                                                 | Description                                                                                |
| --------- | ------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| shortcode | string  | 30000                                                   | The shortcode associated with your service.                                                |
| service   | string  | apple=aaaabbbbcccccddddd                                | Your unique Mobivate Keyword and the Product ID.                                           |
| frequency | string  | 1-7,31                                                  | Billing frequency, `1`-`7` messages per week, or if `31` then it's single monthly billing. |
| campaign  | string  | My Campaign                                             | Your internal campaign description.                                                        |
| amount    | integer | 10                                                      | Amound of Rand (ZAR) billed per billing request.                                           |
| bl        | string  | [http://yourdomain/logo.pn](http://yourdomain/logo.png) | Full URL to your Header Image.                                                             |
| bc        | string  | ffffff                                                  | HEX value for the background colour.                                                       |
| tc        | string  | 000000                                                  | HEX value for the text colour.                                                             |
| return    | string  | <http://yourdomain/returned>                            | Your return URL.                                                                           |

#### Response

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

```json
{
  "status": "success",
  "message": "Successful subscription",
  "userid": "44700000000",
  "network": "safaricom"
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "Invalid request"
}
```

{% endtab %}
{% endtabs %}

#### Output fields

| Parameter | Description                                             |
| --------- | ------------------------------------------------------- |
| status    | MNO subscription status, either `success` or `failed`.  |
| message   | Any message passed through from the MNO.                |
| userid    | If the MSISDN was detected, the fully qualified MSISDN. |
| network   | MNO identifier.                                         |
