# Business Profiles

A business profile provides information about the business, such as its address, website, description, and more. Business profiles are configured on the phone number level, which makes it possible for each phone number to have its own business profile.

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FmpXUsv4hqufnhaLtrdgx%2Fimage.png?alt=media&#x26;token=29a5346d-8104-40ba-86a1-ab504e1eaf31" alt="" width="375"><figcaption></figcaption></figure>

This information can be supplied when registering a phone number, or later, via 360Dialog Hub, 360Dialog API, or on WhatsApp Manager.

{% hint style="info" %}
**This page shows how a business profile can be managed via 360Dialog API or on WhatsApp Manager.**

If you are interested in managing your business profile on 360Dialog Hub instead, see the page linked below for instructions:

[#how-to-edit-a-business-profile](https://docs.360dialog.com/docs/hub/business-profiles#how-to-edit-a-business-profile "mention")
{% endhint %}

## Managing Business Profiles

### In WhatsApp Manager

{% stepper %}
{% step %}

#### Go to [WhatsApp Accounts](https://business.facebook.com/latest/settings/whatsapp_account)

Clicking the link above will take you to the WhatsApp Accounts page, where you can see a list of your WhatsApp Business Accounts (WABA).
{% endstep %}

{% step %}

#### Open WhatsApp Manager

Select the WABA that contains the phone number you want to edit the business profile for. Then click **WhatsApp Manager** in the bottom-right corner.

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FgpBFSQMN8Exp8oHd28wx%2Fimage.png?alt=media&#x26;token=ed8481f2-a152-4f46-9b5f-4e101047bf09" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Select the Phone Number

Once in WhatsApp Manager, click **"Phone numbers"** from the sidepanel, then select the phone number.

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FF4NSd1JJX35ktxzZiIgE%2Fimage.png?alt=media&#x26;token=3208b3ad-0d77-483e-bcf7-729326c01f8d" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Navigate to Profile

Here, you can edit the business profile's:&#x20;

* Profile picture
* Display Name
* Category
* Description
* Address
* Email
* Website

As well as submit an Official Business Account (OBA) request, if the "Submit request" button is available. For more information about OBA and how to submit a request, see [official-business-account](https://docs.360dialog.com/docs/resources/phone-numbers/official-business-account "mention").

<figure><img src="https://3527970750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4sMxKjL6eJRvZn6jeG-887967055%2Fuploads%2FH8cLqA4GDvgFOExLh9S0%2Fimage.png?alt=media&#x26;token=f36c7f11-e835-4051-8898-4263aee234f3" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Using 360Dialog API

#### Retrieve Business Profile information

<mark style="color:blue;">`GET`</mark> `https://waba-v2.360dialog.io/whatsapp_business_profile?fields=about,address,description,email,profile_picture_url,websites,vertical`

Use this endpoint to retrieve the information available in the Business Profile: business address, business description, email for business contact, business industry, and business website.

**Request example**

`GET /whatsapp_business_profile?fields=about,address,description,email,profile_picture_url,websites,vertical'`

**Request body**

| Name        | Type             | Description                                                                                                                               |
| ----------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| address     | string           | Address of the business.                                                                                                                  |
| description | String           | Description of business                                                                                                                   |
| email       | String           | Email address (in valid email format) to contact the business                                                                             |
| vertical    | String           | Industry of the business                                                                                                                  |
| websites    | array of strings | URLs (including http\:// or https\://) associated with the business (e.g., website, Facebook Page, Instagram)                             |
| about       | string           | The business's **About** text. This text appears in the business's profile, beneath its profile image, phone number, and contact buttons. |

{% tabs %}
{% tab title="200: OK " %}
A successful response includes the `profile` object containing the business profile data.

```json
{
  "data": [{
    "about": "ABOUT",
    "address": "ADDRESS",
    "description": "DESCRIPTION",
    "email": "EMAIL",
    "messaging_product": "whatsapp",
    "profile_picture_url": "https://URL",
    "websites": [
       "https://WEBSITE-1",
       "https://WEBSITE-2"
     ],
    "vertical": "INDUSTRY",
  }]
}
```

{% endtab %}
{% endtabs %}

#### Update Business Profile Information

<mark style="color:green;">`POST`</mark> `https://waba-v2.360dialog.io/whatsapp_business_profile`

Use the endpoint to configure the following business profile settings: business address, business description, email for business contact, business industry, and business website.

If you only need to update a couple of fields with new information, you can make a request which changes only the necessary fields.

{% hint style="info" %}
You can use the **profile\_picture\_handle** parameter to update the profile photo. HANDLE\_OF\_PROFILE\_PICTURE is url obtained from the [**Resumable Upload API**.](#upload-profile-pictures-via-resumable-api)
{% endhint %}

**Request example**

{% code overflow="wrap" expandable="true" %}

```json
curl -X POST
'https://waba-v2.360dialog.io/whatsapp_business_profile' 
-H 'D360-API-KEY: YOUR_API_KEY' 
-d '{ "messaging_product": "whatsapp", "about": "ABOUT", "address": "ADDRESS", "description": "DESCRIPTION", "vertical": "INDUSTRY", "email": "EMAIL", "websites": [ "https://WEBSITE-1", "https://WEBSITE-2" ], "profile_picture_handle": "HANDLE_OF_PROFILE_PICTURE" }'
```

{% endcode %}

**Request body**

<table><thead><tr><th width="144.11114501953125">Name</th><th width="147.22222900390625">Type</th><th>Description</th></tr></thead><tbody><tr><td>vertical</td><td>array</td><td><p>Industry of the business. Must be one of these accepted values: <code>UNDEFINED</code> / <code>OTHER</code> / <code>AUTO</code> / <code>BEAUTY</code> / <code>APPAREL</code> / <code>EDU</code> / <code>ENTERTAIN</code> / <code>EVENT_PLAN / FINANCE</code> / <code>GROCERY</code> / <code>GOVT / HOTEL</code> / <code>HEALTH</code> / <code>NONPROFIT</code> / <code>PROF_SERVICES</code> / <code>RETAIL</code> / <code>TRAVEL</code> / <code>RESTAURANT</code> / <code>NOT_A_BIZ</code></p><p>The business vertical cannot be set back to an empty value after it is create</p></td></tr><tr><td>websites</td><td>array</td><td>URLs associated with the business. </td></tr><tr><td>email</td><td>string</td><td>Email address (in valid email format) to contact the business. Maximum of 128 characters</td></tr><tr><td>description</td><td>string</td><td>Description of the business. Max 512 characters. </td></tr><tr><td>address</td><td>string</td><td>Address of the business. Maximum of 256 characters</td></tr><tr><td>about<br>(optional)</td><td>string</td><td><p>The business's <strong>About</strong> text. This text appears in the business's profile, beneath its profile image, phone number, and contact buttons.</p><ul><li>String cannot be empty. </li><li>Strings must be between 1 and 139 characters. </li><li>Rendered emojis are supported however their unicode values are not. </li><li>Emoji unicode values must be Java- or JavaScript-escape encoded. </li><li>Hyperlinks can be included but will not render as clickable links. </li><li>Markdown is not supported.</li></ul></td></tr></tbody></table>

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

```json
{
  "success": true
}
```

{% endtab %}
{% endtabs %}

#### Upload Profile Pictures via Resumable API

The [Resumable Upload API](https://developers.facebook.com/docs/graph-api/guides/upload#resumable-upload-api) allows you to upload profile pictures and essentially **large files** to the Cloud API. Once uploaded, you can use a file's handle fetched in step 2 to update your `profile_picture_handle`.

{% hint style="info" %}
Please note that to access and utilize the Resumable Upload API, it is mandatory to include the 360dialog-API-key within the header.
{% endhint %}

{% stepper %}
{% step %}

#### Create a Session <a href="#step-1--create-a-session" id="step-1--create-a-session"></a>

Send a `POST` request that describes your file to the endpoint `/uploads.`Upon success, an upload session ID will be returned that you can use in the next step to initiate the upload.

**Request Syntax**

```json
POST-https://waba-v2.360dialog.io/uploads
  &file_length={file-length}
  &file_type={file-type}
```

**​Parameters**

| Parameter              | Description                              |
| ---------------------- | ---------------------------------------- |
| `file_length` int64    | The file length in bytes                 |
| `file_type` RegexParam | The MIME type of the file to be uploaded |

**Response**

* `{id}` — Upload session ID.

**Sample Request**

```json
curl -X POST \
 "https://waba-v2.360dialog.io/uploads?file_length=109981&file_type=image/png"
```

**Sample Response**

```json
{
    "id": "upload:MTphd..."
}
```

{% endstep %}

{% step %}

#### Initiate Upload <a href="#step-2--initiate-upload" id="step-2--initiate-upload"></a>

Initiate the upload session by sending a `POST` request and append your upload session `{id}` along with the authentication header. Upon success, a file handle `{h},`is returned that you can then use the {h} value to update your profile picture.&#x20;

**Request Syntax**

```json
POST waba-v2.360dialog.io/{session_id}  
--header 'file_offset: 0'
--data-binary @{file-name}
```

**Placeholder Values**

* `{session_id}` — Upload session ID returned in step 1.
* `{file-name}` — Name of the file to upload.

**Response**

```json
{
  "h": "{h}"
}
```

Response property values:

* `{h}` — The uploaded file's file handle

**Sample Request**

```json
curl -X POST \
 "https://waba-v2.360dialog.io/upload:MTphd..." \
```

**Sample Response**

```json
{
    "h": "2:c2FtcGxl..."
} 
```

You can then use the [Update Business Profile information](#update-business-profile-information) endpoint to update the profile photo using the `{h}` value.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Please review the [official WhatsApp docs](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/business-profiles) for the full list of acceptable parameter values.&#x20;
{% endhint %}
