Media provider

Get to know how to use your own file storage service for sending secured media links.

You can send media files that are downloadable from URLs secured by Basic or Bearer Authentication to WhatsApp users. WhatsApp API allows you to have different media providers for the same type of authentication and decide which one to use on a per request basis.

Note

With the 2020–03–10 release constraints for the name of a media provider are added. It's recommended to update any existing media provider configurations to use name parameters that meet these constraints.

Adding/Updating a provider

Note

Be sure to give each provider a unique name as reusing a name will overwrite the previous entry.

Request

POST whatsapp/v1/{bot-id}/provision/provider

JSON object parameters:

Name Description JSON Type Default Constraints Required
name Name of the provider String N/A A-Z, a-z, -, and _ allowed. 200 characters maximum. Yes
type The type the provider String N/A www Yes
config The config object Object N/A N/A Yes

Response

200 OK

Empty response body

400 Bad Request

There was an error with your request. The body is a JSON object described in the introduction.

401 Unauthorized

There was an authentication error with your request. Either you're using incorrect credentials or you're attempting to authenticate in a region where your bot doesn't reside. The body is a JSON object described in the introduction.

Config object types

Basic authentication

config JSON object parameters:

Name Description JSON Type Default Constraints Required
username Username String N/A N/A Yes
password Password String N/A N/A Yes
{
  "name": "your-basic-provider",
  "type": "www",
  "config": {
    "basic": {
      "username": "user",
      "password": "AbCdEf123456"
    }
  }
}

Bearer authentication

config JSON object parameters:

Name Description JSON Type Default Constraints Required
bearer Bearer authentication token String N/A N/A Yes
{
  "name": "your-bearer-provider",
  "type": "www",
  "config": {
    "bearer": "AbCdEf123456"
  }
}

Deleting a provider from the providers list

DELETE whatsapp/v1/{bot-id}/provision/provider/{provider-name}

Responses

200 OK

Empty response body

401 Unauthorized

There was an authentication error with your request. Either you're using incorrect credentials or you're attempting to authenticate in a region where your bot doesn't reside. The body is a JSON object described in the introduction.

Retrieving the providers list

GET whatsapp/v1/{bot-id}/provision/provider

Responses

200 OK

The response body is a JSON object with the following parameters:

Name Description JSON Type
name Name of the provider String
type The type the provider String
config The config object Object

Basic authentication media provider

Name Description JSON Type
username Username String
password Password String

Bearer authentication media provider

Name Description JSON Type
bearer Bearer authentication token String

Sample

{
  "settings": {
    "application": {
      "media": {
        "providers": [
          {
            "name": "basic_media_provider_name",
            "type": "www",
            "config": {
              "basic": {
                "username": "user",
                "password": "AbCdEf123456&44jf"
              }
            }
          },
          {
            "name": "bearer_media_provider_name",
            "type": "www",
            "config": {
              "bearer": "AbCdEf123456&44jf"
            }
          }
        ]
      }
    }
  }
}

401 Unauthorized

There was an authentication error with your request. Either you're using incorrect credentials or you're attempting to authenticate in a region where your bot doesn't reside. The body is a JSON object described in the introduction.