# Integrate WSO2 IS

Enable Multi-Factor Authentication (MFA) using SMS One-Time Passwords (OTP) in your application by utilizing D7 API from WSO2.

### Integration Steps

* **Add MFA with SMS OTP**

To configure a custom SMS provider, in the SMS Provider section click the Custom tab and fill the required fields.&#x20;

SMS Provider URL: <https://api.d7networks.com/messages/v1/send&#x20>;

Content Type: JSON&#x20;

HTTP Method: POST

&#x20;Headers: Authorization: Bearer YOUR\_API\_TOKEN\_FROM\_D7\_DASHBOARD.( Get your API token from  <https://app.d7networks.com/api-tokens>)

**Payload Template:**

```
{   
    "messages": 
    [     
        {         
            "originator": "WSO2",         
            "recipients": [{{mobile}}],         
            "content": "Your OTP code for login is: \{{body}},         
            "client_ref": "WSO2"          
        }     
    ]        
}
```

Please ensure to replace the originator with your registered sender id.

<figure><img src="/files/alGuHjNegz5vb6I1ecL0" alt=""><figcaption></figcaption></figure>

* **Add MFA with WhatsApp OTP**

For WhatsApp OTP, we currently use the custom SMS provider. To configure it, go to the SMS Provider section, select the Custom tab, and complete the required fields.

SMS Provider URL: <https://api.d7networks.com/whatsapp/v2/send&#x20>;

Content Type: JSON&#x20;

HTTP Method: POST&#x20;

Headers: Authorization: Bearer YOUR\_API\_TOKEN\_FROM\_D7\_DASHBOARD

Payload Template:

```
{
    "messages": [
        {
            "originator": "+91 90615 255xx",
            "content": {
                "message_type": "TEMPLATE",
                "template": {
                    "template_id": "otp_test",
                    "language": "en",
                    "buttons":{
                        "actions": [
                            {
                                "action_index": "0",
                                "action_type": "url",
                                "action_payload": {{body}}
                            }
                        ]
                    }
                }
            },
            "recipients": [
                {
                    "recipient": {{mobile}}
                }
            ],
            "client_ref": "WSO2-WA"
        }
    ]
}
```

Please ensure to replace the originator with your registered WhatsApp number and the template\_id with the ID of the template you’ve registered in the D7 User Dashboard.

<figure><img src="/files/SZ58fTtIlp8JNgH8CMIq" alt=""><figcaption></figcaption></figure>

* **Enable MFA in Your Application**

You can refer to the following link to enable MFA for your application in WSO2-IS: <https://is.docs.wso2.com/en/latest/guides/authentication/mfa/add-smsotp-login/&#x20>;

* **Verify Your Identity**

Once enabled, customers will be able to verify their identity using their mobile number.

<div><figure><img src="/files/8RnruhnEbBZBDKkiLHTX" alt=""><figcaption></figcaption></figure> <figure><img src="/files/SKXAaWwhcsWT3w1MfhlS" alt=""><figcaption></figcaption></figure></div>

* C**onfigure OTP expiry, alphanumeric characters, and OTP length settings.**

1. Navigate to **Connections**.
2. Select **SMS OTP** > **Setup** > **Settings**.
3. Configure the desired settings for OTP expiry, alphanumeric characters, and OTP length.

<div><figure><img src="/files/lkNbthThwVC2wQCuyVd8" alt=""><figcaption></figcaption></figure> <figure><img src="/files/xdc0reVP4XbZ4WKu6uVf" alt=""><figcaption></figcaption></figure></div>


---

# 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://guides.d7networks.com/integrations/integrate-wso2-is.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.
