SDK for PHP V3

Client: Aws\SocialMessaging\SocialMessagingClient
Service ID: socialmessaging
Version: 2024-01-01

This page describes the parameters and results for the operations of the AWS End User Messaging Social (2024-01-01), and shows how to use the Aws\SocialMessaging\SocialMessagingClient object to call the described operations. This documentation is specific to the 2024-01-01 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AssociateWhatsAppBusinessAccount ( array $params = [] )
This is only used through the Amazon Web Services console during sign-up to associate your WhatsApp Business Account to your Amazon Web Services account.
CreateWhatsAppFlow ( array $params = [] )
Creates a new WhatsApp Flow.
CreateWhatsAppMessageTemplate ( array $params = [] )
Creates a new WhatsApp message template from a custom definition.
CreateWhatsAppMessageTemplateFromLibrary ( array $params = [] )
Creates a new WhatsApp message template using a template from Meta's template library.
CreateWhatsAppMessageTemplateMedia ( array $params = [] )
Uploads media for use in a WhatsApp message template.
DeleteWhatsAppFlow ( array $params = [] )
Deletes a WhatsApp Flow permanently.
DeleteWhatsAppMessageMedia ( array $params = [] )
Delete a media object from the WhatsApp service.
DeleteWhatsAppMessageTemplate ( array $params = [] )
Deletes a WhatsApp message template.
DeprecateWhatsAppFlow ( array $params = [] )
Deprecates a published WhatsApp Flow, marking it as no longer recommended for use.
DisassociateWhatsAppBusinessAccount ( array $params = [] )
Disassociate a WhatsApp Business Account (WABA) from your Amazon Web Services account.
GetLinkedWhatsAppBusinessAccount ( array $params = [] )
Get the details of your linked WhatsApp Business Account.
GetLinkedWhatsAppBusinessAccountPhoneNumber ( array $params = [] )
Retrieve the WABA account id and phone number details of a WhatsApp business account phone number.
GetWhatsAppFlow ( array $params = [] )
Retrieves the metadata and status of a WhatsApp Flow, including validation errors, preview information, and health status.
GetWhatsAppFlowPreview ( array $params = [] )
Generates a web preview URL for testing a WhatsApp Flow before publishing.
GetWhatsAppMessageMedia ( array $params = [] )
Get a media file from the WhatsApp service.
GetWhatsAppMessageTemplate ( array $params = [] )
Retrieves a specific WhatsApp message template.
ListLinkedWhatsAppBusinessAccounts ( array $params = [] )
List all WhatsApp Business Accounts linked to your Amazon Web Services account.
ListTagsForResource ( array $params = [] )
List all tags associated with a resource, such as a phone number or WABA.
ListWhatsAppFlowAssets ( array $params = [] )
Lists the assets (Flow JSON definition) of a WhatsApp Flow with presigned download URLs.
ListWhatsAppFlows ( array $params = [] )
Lists all WhatsApp Flows for a WhatsApp Business Account.
ListWhatsAppMessageTemplates ( array $params = [] )
Lists WhatsApp message templates for a specific WhatsApp Business Account.
ListWhatsAppTemplateLibrary ( array $params = [] )
Lists templates available in Meta's template library for WhatsApp messaging.
PostWhatsAppMessageMedia ( array $params = [] )
Upload a media file to the WhatsApp service.
PublishWhatsAppFlow ( array $params = [] )
Publishes a WhatsApp Flow, making it available for use in template messages.
PutWhatsAppBusinessAccountEventDestinations ( array $params = [] )
Add an event destination to log event data from WhatsApp for a WhatsApp Business Account (WABA).
SendWhatsAppMessage ( array $params = [] )
Send a WhatsApp message.
TagResource ( array $params = [] )
Adds or overwrites only the specified tags for the specified resource.
UntagResource ( array $params = [] )
Removes the specified tags from a resource.
UpdateWhatsAppFlow ( array $params = [] )
Updates the metadata of a WhatsApp Flow, such as its name or categories.
UpdateWhatsAppFlowAssets ( array $params = [] )
Updates the Flow JSON definition (assets) of a WhatsApp Flow.
UpdateWhatsAppMessageTemplate ( array $params = [] )
Updates an existing WhatsApp message template.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListLinkedWhatsAppBusinessAccounts
ListWhatsAppFlowAssets
ListWhatsAppFlows
ListWhatsAppMessageTemplates
ListWhatsAppTemplateLibrary

Operations

AssociateWhatsAppBusinessAccount

$result = $client->associateWhatsAppBusinessAccount([/* ... */]);
$promise = $client->associateWhatsAppBusinessAccountAsync([/* ... */]);

This is only used through the Amazon Web Services console during sign-up to associate your WhatsApp Business Account to your Amazon Web Services account.

Parameter Syntax

$result = $client->associateWhatsAppBusinessAccount([
    'setupFinalization' => [
        'associateInProgressToken' => '<string>', // REQUIRED
        'phoneNumberParent' => '<string>',
        'phoneNumbers' => [ // REQUIRED
            [
                'dataLocalizationRegion' => '<string>',
                'id' => '<string>', // REQUIRED
                'tags' => [
                    [
                        'key' => '<string>', // REQUIRED
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'twoFactorPin' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'waba' => [
            'eventDestinations' => [
                [
                    'eventDestinationArn' => '<string>', // REQUIRED
                    'roleArn' => '<string>',
                ],
                // ...
            ],
            'id' => '<string>',
            'tags' => [
                [
                    'key' => '<string>', // REQUIRED
                    'value' => '<string>',
                ],
                // ...
            ],
        ],
    ],
    'signupCallback' => [
        'accessToken' => '<string>', // REQUIRED
        'callbackUrl' => '<string>',
    ],
]);

Parameter Details

Members
setupFinalization
Type: WhatsAppSetupFinalization structure

A JSON object that contains the phone numbers and WhatsApp Business Account to link to your account.

signupCallback
Type: WhatsAppSignupCallback structure

Contains the callback access token.

Result Syntax

[
    'linkedWhatsAppBusinessAccountId' => '<string>',
    'signupCallbackResult' => [
        'associateInProgressToken' => '<string>',
        'linkedAccountsWithIncompleteSetup' => [
            '<WhatsAppBusinessAccountId>' => [
                'accountName' => '<string>',
                'registrationStatus' => 'COMPLETE|INCOMPLETE',
                'unregisteredWhatsAppPhoneNumbers' => [
                    [
                        'arn' => '<string>',
                        'dataLocalizationRegion' => '<string>',
                        'displayPhoneNumber' => '<string>',
                        'displayPhoneNumberName' => '<string>',
                        'metaPhoneNumberId' => '<string>',
                        'phoneNumber' => '<string>',
                        'phoneNumberId' => '<string>',
                        'qualityRating' => '<string>',
                    ],
                    // ...
                ],
                'wabaId' => '<string>',
            ],
            // ...
        ],
    ],
    'statusCode' => <integer>,
]

Result Details

Members
linkedWhatsAppBusinessAccountId
Type: string

The ID of the WhatsApp Business Account that was linked to your Amazon Web Services account.

signupCallbackResult

Contains your WhatsApp registration status.

statusCode
Type: int

The status code for the response.

Errors

ValidationException:

The request contains an invalid parameter value.

LimitExceededException:

The request was denied because it would exceed one or more service quotas or limits.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ThrottledRequestException:

The request was denied due to request throttling.

DependencyException:

Thrown when performing an action because a dependency would be broken.

CreateWhatsAppFlow

$result = $client->createWhatsAppFlow([/* ... */]);
$promise = $client->createWhatsAppFlowAsync([/* ... */]);

Creates a new WhatsApp Flow. Flows enable businesses to create rich, interactive forms and experiences that users can complete without leaving WhatsApp. The Flow is created in DRAFT status. If publish is set to true and a valid flowJson is provided, the Flow is published immediately.

Parameter Syntax

$result = $client->createWhatsAppFlow([
    'categories' => ['<string>', ...], // REQUIRED
    'cloneFlowId' => '<string>',
    'flowJson' => <string || resource || Psr\Http\Message\StreamInterface>,
    'flowName' => '<string>', // REQUIRED
    'id' => '<string>', // REQUIRED
    'publish' => true || false,
]);

Parameter Details

Members
categories
Required: Yes
Type: Array of strings

The categories that classify the business purpose of the Flow. At least one category is required.

cloneFlowId
Type: string

The ID of an existing Flow within the same WhatsApp Business Account to clone.

flowJson
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The Flow JSON definition that describes the screens, components, and logic of the Flow. Maximum size is 10 MB.

flowName
Required: Yes
Type: string

The name of the Flow. Must be unique within the WhatsApp Business Account.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account to associate with this Flow.

publish
Type: boolean

Set to true to publish the Flow immediately after creation. Requires a valid flowJson that passes Meta's validation.

Result Syntax

[
    'flowId' => '<string>',
    'validationErrors' => ['<string>', ...],
]

Result Details

Members
flowId
Type: string

The unique identifier assigned to the Flow by Meta.

validationErrors
Type: Array of strings

A list of validation errors returned by Meta, if any. Validation errors must be resolved before the Flow can be published.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

CreateWhatsAppMessageTemplate

$result = $client->createWhatsAppMessageTemplate([/* ... */]);
$promise = $client->createWhatsAppMessageTemplateAsync([/* ... */]);

Creates a new WhatsApp message template from a custom definition.

Amazon Web Services End User Messaging Social does not store any WhatsApp message template content.

Parameter Syntax

$result = $client->createWhatsAppMessageTemplate([
    'id' => '<string>', // REQUIRED
    'templateDefinition' => <string || resource || Psr\Http\Message\StreamInterface>, // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the WhatsApp Business Account to associate with this template.

templateDefinition
Required: Yes
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The complete template definition as a JSON blob.

Result Syntax

[
    'category' => '<string>',
    'metaTemplateId' => '<string>',
    'templateStatus' => '<string>',
]

Result Details

Members
category
Type: string

The category of the template, such as UTILITY or MARKETING.

metaTemplateId
Type: string

The numeric ID assigned to the template by Meta.

templateStatus
Type: string

The status of the created template, such as PENDING or APPROVED..

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

CreateWhatsAppMessageTemplateFromLibrary

$result = $client->createWhatsAppMessageTemplateFromLibrary([/* ... */]);
$promise = $client->createWhatsAppMessageTemplateFromLibraryAsync([/* ... */]);

Creates a new WhatsApp message template using a template from Meta's template library.

Parameter Syntax

$result = $client->createWhatsAppMessageTemplateFromLibrary([
    'id' => '<string>', // REQUIRED
    'metaLibraryTemplate' => [ // REQUIRED
        'libraryTemplateBodyInputs' => [
            'addContactNumber' => true || false,
            'addLearnMoreLink' => true || false,
            'addSecurityRecommendation' => true || false,
            'addTrackPackageLink' => true || false,
            'codeExpirationMinutes' => <integer>,
        ],
        'libraryTemplateButtonInputs' => [
            [
                'otpType' => '<string>',
                'phoneNumber' => '<string>',
                'supportedApps' => [
                    ['<string>', ...],
                    // ...
                ],
                'type' => '<string>',
                'url' => ['<string>', ...],
                'zeroTapTermsAccepted' => true || false,
            ],
            // ...
        ],
        'libraryTemplateName' => '<string>', // REQUIRED
        'templateCategory' => '<string>', // REQUIRED
        'templateLanguage' => '<string>', // REQUIRED
        'templateName' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the WhatsApp Business Account to associate with this template.

metaLibraryTemplate
Required: Yes
Type: MetaLibraryTemplate structure

The template configuration from Meta's library, including customizations for buttons and body text.

Result Syntax

[
    'category' => '<string>',
    'metaTemplateId' => '<string>',
    'templateStatus' => '<string>',
]

Result Details

Members
category
Type: string

The category of the template (for example, UTILITY or MARKETING).

metaTemplateId
Type: string

The numeric ID assigned to the template by Meta.

templateStatus
Type: string

The status of the created template (for example, PENDING or APPROVED).

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

CreateWhatsAppMessageTemplateMedia

$result = $client->createWhatsAppMessageTemplateMedia([/* ... */]);
$promise = $client->createWhatsAppMessageTemplateMediaAsync([/* ... */]);

Uploads media for use in a WhatsApp message template.

Parameter Syntax

$result = $client->createWhatsAppMessageTemplateMedia([
    'id' => '<string>', // REQUIRED
    'sourceS3File' => [
        'bucketName' => '<string>', // REQUIRED
        'key' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this media upload.

sourceS3File
Type: S3File structure

Contains information for the S3 bucket that contains media files.

Result Syntax

[
    'metaHeaderHandle' => '<string>',
]

Result Details

Members
metaHeaderHandle
Type: string

The handle assigned to the uploaded media by Meta, used to reference the media in templates.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

DeleteWhatsAppFlow

$result = $client->deleteWhatsAppFlow([/* ... */]);
$promise = $client->deleteWhatsAppFlowAsync([/* ... */]);

Deletes a WhatsApp Flow permanently. Only Flows in DRAFT status can be deleted. Published or deprecated Flows cannot be deleted.

Parameter Syntax

$result = $client->deleteWhatsAppFlow([
    'flowId' => '<string>', // REQUIRED
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
flowId
Required: Yes
Type: string

The unique identifier of the Flow to delete.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this Flow.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

DeleteWhatsAppMessageMedia

$result = $client->deleteWhatsAppMessageMedia([/* ... */]);
$promise = $client->deleteWhatsAppMessageMediaAsync([/* ... */]);

Delete a media object from the WhatsApp service. If the object is still in an Amazon S3 bucket you should delete it from there too.

Parameter Syntax

$result = $client->deleteWhatsAppMessageMedia([
    'mediaId' => '<string>', // REQUIRED
    'originationPhoneNumberId' => '<string>', // REQUIRED
]);

Parameter Details

Members
mediaId
Required: Yes
Type: string

The unique identifier of the media file to delete. Use the mediaId returned from PostWhatsAppMessageMedia.

originationPhoneNumberId
Required: Yes
Type: string

The unique identifier of the originating phone number associated with the media. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

Result Syntax

[
    'success' => true || false,
]

Result Details

Members
success
Type: boolean

Success indicator for deleting the media file.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

DeleteWhatsAppMessageTemplate

$result = $client->deleteWhatsAppMessageTemplate([/* ... */]);
$promise = $client->deleteWhatsAppMessageTemplateAsync([/* ... */]);

Deletes a WhatsApp message template.

Parameter Syntax

$result = $client->deleteWhatsAppMessageTemplate([
    'deleteAllLanguages' => true || false,
    'id' => '<string>', // REQUIRED
    'metaTemplateId' => '<string>',
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
deleteAllLanguages
Type: boolean

If true, deletes all language versions of the template.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this template.

metaTemplateId
Type: string

The numeric ID of the template assigned by Meta.

templateName
Required: Yes
Type: string

The name of the template to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

DeprecateWhatsAppFlow

$result = $client->deprecateWhatsAppFlow([/* ... */]);
$promise = $client->deprecateWhatsAppFlowAsync([/* ... */]);

Deprecates a published WhatsApp Flow, marking it as no longer recommended for use. The Flow must be in PUBLISHED status. This is an irreversible operation.

Parameter Syntax

$result = $client->deprecateWhatsAppFlow([
    'flowId' => '<string>', // REQUIRED
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
flowId
Required: Yes
Type: string

The unique identifier of the Flow to deprecate.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this Flow.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

DisassociateWhatsAppBusinessAccount

$result = $client->disassociateWhatsAppBusinessAccount([/* ... */]);
$promise = $client->disassociateWhatsAppBusinessAccountAsync([/* ... */]);

Disassociate a WhatsApp Business Account (WABA) from your Amazon Web Services account.

Parameter Syntax

$result = $client->disassociateWhatsAppBusinessAccount([
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The unique identifier of your WhatsApp Business Account. WABA identifiers are formatted as waba-01234567890123456789012345678901. Use ListLinkedWhatsAppBusinessAccounts to list all WABAs and their details.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ResourceNotFoundException:

The resource was not found.

ThrottledRequestException:

The request was denied due to request throttling.

DependencyException:

Thrown when performing an action because a dependency would be broken.

GetLinkedWhatsAppBusinessAccount

$result = $client->getLinkedWhatsAppBusinessAccount([/* ... */]);
$promise = $client->getLinkedWhatsAppBusinessAccountAsync([/* ... */]);

Get the details of your linked WhatsApp Business Account.

Parameter Syntax

$result = $client->getLinkedWhatsAppBusinessAccount([
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The unique identifier, from Amazon Web Services, of the linked WhatsApp Business Account. WABA identifiers are formatted as waba-01234567890123456789012345678901. Use ListLinkedWhatsAppBusinessAccounts to list all WABAs and their details.

Result Syntax

[
    'account' => [
        'arn' => '<string>',
        'eventDestinations' => [
            [
                'eventDestinationArn' => '<string>',
                'roleArn' => '<string>',
            ],
            // ...
        ],
        'id' => '<string>',
        'linkDate' => <DateTime>,
        'marketingMessagesOnboardingStatus' => '<string>',
        'phoneNumbers' => [
            [
                'arn' => '<string>',
                'dataLocalizationRegion' => '<string>',
                'displayPhoneNumber' => '<string>',
                'displayPhoneNumberName' => '<string>',
                'metaPhoneNumberId' => '<string>',
                'phoneNumber' => '<string>',
                'phoneNumberId' => '<string>',
                'qualityRating' => '<string>',
            ],
            // ...
        ],
        'registrationStatus' => 'COMPLETE|INCOMPLETE',
        'wabaId' => '<string>',
        'wabaName' => '<string>',
    ],
]

Result Details

Members
account

The details of the linked WhatsApp Business Account.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ResourceNotFoundException:

The resource was not found.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

GetLinkedWhatsAppBusinessAccountPhoneNumber

$result = $client->getLinkedWhatsAppBusinessAccountPhoneNumber([/* ... */]);
$promise = $client->getLinkedWhatsAppBusinessAccountPhoneNumberAsync([/* ... */]);

Retrieve the WABA account id and phone number details of a WhatsApp business account phone number.

Parameter Syntax

$result = $client->getLinkedWhatsAppBusinessAccountPhoneNumber([
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The unique identifier of the phone number. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

Result Syntax

[
    'linkedWhatsAppBusinessAccountId' => '<string>',
    'phoneNumber' => [
        'arn' => '<string>',
        'dataLocalizationRegion' => '<string>',
        'displayPhoneNumber' => '<string>',
        'displayPhoneNumberName' => '<string>',
        'metaPhoneNumberId' => '<string>',
        'phoneNumber' => '<string>',
        'phoneNumberId' => '<string>',
        'qualityRating' => '<string>',
    ],
]

Result Details

Members
linkedWhatsAppBusinessAccountId
Type: string

The WABA identifier linked to the phone number, formatted as waba-01234567890123456789012345678901.

phoneNumber
Type: WhatsAppPhoneNumberDetail structure

The details of your WhatsApp phone number.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ResourceNotFoundException:

The resource was not found.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

GetWhatsAppFlow

$result = $client->getWhatsAppFlow([/* ... */]);
$promise = $client->getWhatsAppFlowAsync([/* ... */]);

Retrieves the metadata and status of a WhatsApp Flow, including validation errors, preview information, and health status.

Parameter Syntax

$result = $client->getWhatsAppFlow([
    'flowId' => '<string>', // REQUIRED
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
flowId
Required: Yes
Type: string

The unique identifier of the Flow to retrieve.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this Flow.

Result Syntax

[
    'application' => [
        'id' => '<string>',
        'link' => '<string>',
        'name' => '<string>',
    ],
    'categories' => ['<string>', ...],
    'dataApiVersion' => '<string>',
    'endpointUri' => '<string>',
    'flowId' => '<string>',
    'flowName' => '<string>',
    'flowStatus' => '<string>',
    'healthStatus' => [
        'canSendMessage' => '<string>',
        'entities' => [
            [
                'canSendMessage' => '<string>',
                'entityType' => '<string>',
                'id' => '<string>',
            ],
            // ...
        ],
    ],
    'jsonVersion' => '<string>',
    'preview' => [
        'expiresAt' => '<string>',
        'previewUrl' => '<string>',
    ],
    'validationErrors' => ['<string>', ...],
    'whatsAppBusinessAccount' => [
        'currency' => '<string>',
        'id' => '<string>',
        'messageTemplateNamespace' => '<string>',
        'name' => '<string>',
        'timezoneId' => '<string>',
    ],
]

Result Details

Members
application
Type: MetaFlowApplicationInfo structure

The Meta application information associated with this Flow.

categories
Type: Array of strings

The categories that classify the business purpose of the Flow.

dataApiVersion
Type: string

The data API version for data exchange endpoint Flows.

endpointUri
Type: string

The endpoint URI for data exchange Flows, if configured.

flowId
Required: Yes
Type: string

The unique identifier of the Flow.

flowName
Required: Yes
Type: string

The name of the Flow.

flowStatus
Required: Yes
Type: string

The lifecycle status of the Flow. Valid values are DRAFT, PUBLISHED, DEPRECATED, BLOCKED, and THROTTLED.

healthStatus
Type: MetaFlowHealthStatus structure

The health status information for this Flow from Meta.

jsonVersion
Type: string

The version of the Flow JSON schema used by this Flow (for example, 7.3).

preview
Type: MetaFlowPreviewInfo structure

The preview URL and its expiration timestamp for testing the Flow.

validationErrors
Type: Array of strings

A list of validation errors from Meta, if any.

whatsAppBusinessAccount

The WhatsApp Business Account information from Meta associated with this Flow.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

GetWhatsAppFlowPreview

$result = $client->getWhatsAppFlowPreview([/* ... */]);
$promise = $client->getWhatsAppFlowPreviewAsync([/* ... */]);

Generates a web preview URL for testing a WhatsApp Flow before publishing. Preview URLs expire in 30 days and can be shared with stakeholders for review.

Parameter Syntax

$result = $client->getWhatsAppFlowPreview([
    'flowId' => '<string>', // REQUIRED
    'id' => '<string>', // REQUIRED
    'invalidate' => true || false,
]);

Parameter Details

Members
flowId
Required: Yes
Type: string

The unique identifier of the Flow to preview.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this Flow.

invalidate
Type: boolean

Set to true to force generation of a new preview URL. Use this if the previous URL has been compromised or you want a fresh expiration period.

Result Syntax

[
    'flowId' => '<string>',
    'preview' => [
        'expiresAt' => '<string>',
        'previewUrl' => '<string>',
    ],
]

Result Details

Members
flowId
Required: Yes
Type: string

The unique identifier of the Flow.

preview
Required: Yes
Type: MetaFlowPreviewInfo structure

The preview URL and its expiration timestamp.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

GetWhatsAppMessageMedia

$result = $client->getWhatsAppMessageMedia([/* ... */]);
$promise = $client->getWhatsAppMessageMediaAsync([/* ... */]);

Get a media file from the WhatsApp service. On successful completion the media file is retrieved from Meta and stored in the specified Amazon S3 bucket. Use either destinationS3File or destinationS3PresignedUrl for the destination. If both are used then an InvalidParameterException is returned.

Parameter Syntax

$result = $client->getWhatsAppMessageMedia([
    'destinationS3File' => [
        'bucketName' => '<string>', // REQUIRED
        'key' => '<string>', // REQUIRED
    ],
    'destinationS3PresignedUrl' => [
        'headers' => ['<string>', ...], // REQUIRED
        'url' => '<string>', // REQUIRED
    ],
    'mediaId' => '<string>', // REQUIRED
    'metadataOnly' => true || false,
    'originationPhoneNumberId' => '<string>', // REQUIRED
]);

Parameter Details

Members
destinationS3File
Type: S3File structure

The bucketName and key of the S3 media file.

destinationS3PresignedUrl
Type: S3PresignedUrl structure

The presign url of the media file.

mediaId
Required: Yes
Type: string

The unique identifier for the media file.

metadataOnly
Type: boolean

Set to True to get only the metadata for the file.

originationPhoneNumberId
Required: Yes
Type: string

The unique identifier of the originating phone number for the WhatsApp message media. The phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

Result Syntax

[
    'fileSize' => <integer>,
    'mimeType' => '<string>',
]

Result Details

Members
fileSize
Type: long (int|float)

The size of the media file, in KB.

mimeType
Type: string

The MIME type of the media.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

GetWhatsAppMessageTemplate

$result = $client->getWhatsAppMessageTemplate([/* ... */]);
$promise = $client->getWhatsAppMessageTemplateAsync([/* ... */]);

Retrieves a specific WhatsApp message template.

Parameter Syntax

$result = $client->getWhatsAppMessageTemplate([
    'id' => '<string>', // REQUIRED
    'metaTemplateId' => '<string>',
    'templateLanguageCode' => '<string>',
    'templateName' => '<string>',
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this template.

metaTemplateId
Type: string

The numeric ID of the template assigned by Meta.

templateLanguageCode
Type: string

The language code of the message template (for example, en or en_US). Use together with templateName as an alternative to metaTemplateId to identify a template.

templateName
Type: string

The name of the message template. Use together with templateLanguageCode as an alternative to metaTemplateId to identify a template.

Result Syntax

[
    'template' => '<string>',
]

Result Details

Members
template
Type: string

The complete template definition as a JSON string (maximum 6000 characters).

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

ListLinkedWhatsAppBusinessAccounts

$result = $client->listLinkedWhatsAppBusinessAccounts([/* ... */]);
$promise = $client->listLinkedWhatsAppBusinessAccountsAsync([/* ... */]);

List all WhatsApp Business Accounts linked to your Amazon Web Services account.

Parameter Syntax

$result = $client->listLinkedWhatsAppBusinessAccounts([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return.

nextToken
Type: string

The next token for pagination.

Result Syntax

[
    'linkedAccounts' => [
        [
            'arn' => '<string>',
            'eventDestinations' => [
                [
                    'eventDestinationArn' => '<string>',
                    'roleArn' => '<string>',
                ],
                // ...
            ],
            'id' => '<string>',
            'linkDate' => <DateTime>,
            'marketingMessagesOnboardingStatus' => '<string>',
            'registrationStatus' => 'COMPLETE|INCOMPLETE',
            'wabaId' => '<string>',
            'wabaName' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
linkedAccounts
Type: Array of LinkedWhatsAppBusinessAccountSummary structures

A list of WhatsApp Business Accounts linked to your Amazon Web Services account.

nextToken
Type: string

The next token for pagination.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ResourceNotFoundException:

The resource was not found.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

List all tags associated with a resource, such as a phone number or WABA.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to retrieve the tags from.

Result Syntax

[
    'statusCode' => <integer>,
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
statusCode
Type: int

The status code of the response.

tags
Type: Array of Tag structures

The tags for the resource.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

ListWhatsAppFlowAssets

$result = $client->listWhatsAppFlowAssets([/* ... */]);
$promise = $client->listWhatsAppFlowAssetsAsync([/* ... */]);

Lists the assets (Flow JSON definition) of a WhatsApp Flow with presigned download URLs. Download URLs are generated by Meta and expire after a short period.

Parameter Syntax

$result = $client->listWhatsAppFlowAssets([
    'flowId' => '<string>', // REQUIRED
    'id' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
flowId
Required: Yes
Type: string

The unique identifier of the Flow whose assets to list.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this Flow.

maxResults
Type: int

The maximum number of results to return per page.

nextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'flowAssets' => [
        [
            'assetType' => '<string>',
            'downloadUrl' => '<string>',
            'name' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
flowAssets
Required: Yes
Type: Array of MetaFlowAsset structures

A list of Flow assets with download URLs.

nextToken
Type: string

The token to retrieve the next page of results, if any.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

ListWhatsAppFlows

$result = $client->listWhatsAppFlows([/* ... */]);
$promise = $client->listWhatsAppFlowsAsync([/* ... */]);

Lists all WhatsApp Flows for a WhatsApp Business Account. Returns summary information including Flow ID, name, status, and categories.

Parameter Syntax

$result = $client->listWhatsAppFlows([
    'id' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the WhatsApp Business Account to list Flows for.

maxResults
Type: int

The maximum number of results to return per page.

nextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'flows' => [
        [
            'flowCategories' => ['<string>', ...],
            'flowId' => '<string>',
            'flowName' => '<string>',
            'flowStatus' => '<string>',
            'validationErrors' => ['<string>', ...],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
flows
Required: Yes
Type: Array of MetaFlowSummary structures

A list of Flow summaries.

nextToken
Type: string

The token to retrieve the next page of results, if any.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

ListWhatsAppMessageTemplates

$result = $client->listWhatsAppMessageTemplates([/* ... */]);
$promise = $client->listWhatsAppMessageTemplatesAsync([/* ... */]);

Lists WhatsApp message templates for a specific WhatsApp Business Account.

Parameter Syntax

$result = $client->listWhatsAppMessageTemplates([
    'id' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
id
Required: Yes
Type: string

The ID of the WhatsApp Business Account to list templates for.

maxResults
Type: int

The maximum number of results to return per page (1-100).

nextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'nextToken' => '<string>',
    'templates' => [
        [
            'metaTemplateId' => '<string>',
            'templateCategory' => '<string>',
            'templateLanguage' => '<string>',
            'templateName' => '<string>',
            'templateQualityScore' => '<string>',
            'templateStatus' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to retrieve the next page of results, if any.

templates
Type: Array of TemplateSummary structures

A list of template summaries.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

ListWhatsAppTemplateLibrary

$result = $client->listWhatsAppTemplateLibrary([/* ... */]);
$promise = $client->listWhatsAppTemplateLibraryAsync([/* ... */]);

Lists templates available in Meta's template library for WhatsApp messaging.

Parameter Syntax

$result = $client->listWhatsAppTemplateLibrary([
    'filters' => ['<string>', ...],
    'id' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
filters
Type: Associative array of custom strings keys (FilterKeyString) to strings

Map of filters to apply (searchKey, topic, usecase, industry, language).

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account to list library templates for.

maxResults
Type: int

The maximum number of results to return per page (1-100).

nextToken
Type: string

The token for the next page of results.

Result Syntax

[
    'metaLibraryTemplates' => [
        [
            'templateBody' => '<string>',
            'templateBodyExampleParams' => ['<string>', ...],
            'templateButtons' => [
                [
                    'otpType' => '<string>',
                    'phoneNumber' => '<string>',
                    'supportedApps' => [
                        ['<string>', ...],
                        // ...
                    ],
                    'text' => '<string>',
                    'type' => '<string>',
                    'url' => '<string>',
                    'zeroTapTermsAccepted' => true || false,
                ],
                // ...
            ],
            'templateCategory' => '<string>',
            'templateHeader' => '<string>',
            'templateId' => '<string>',
            'templateIndustry' => ['<string>', ...],
            'templateLanguage' => '<string>',
            'templateName' => '<string>',
            'templateTopic' => '<string>',
            'templateUseCase' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
metaLibraryTemplates
Type: Array of MetaLibraryTemplateDefinition structures

A list of templates from Meta's library.

nextToken
Type: string

The token to retrieve the next page of results, if any.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

PostWhatsAppMessageMedia

$result = $client->postWhatsAppMessageMedia([/* ... */]);
$promise = $client->postWhatsAppMessageMediaAsync([/* ... */]);

Upload a media file to the WhatsApp service. Only the specified originationPhoneNumberId has the permissions to send the media file when using SendWhatsAppMessage. You must use either sourceS3File or sourceS3PresignedUrl for the source. If both or neither are specified then an InvalidParameterException is returned.

Parameter Syntax

$result = $client->postWhatsAppMessageMedia([
    'originationPhoneNumberId' => '<string>', // REQUIRED
    'sourceS3File' => [
        'bucketName' => '<string>', // REQUIRED
        'key' => '<string>', // REQUIRED
    ],
    'sourceS3PresignedUrl' => [
        'headers' => ['<string>', ...], // REQUIRED
        'url' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
originationPhoneNumberId
Required: Yes
Type: string

The ID of the phone number to associate with the WhatsApp media file. The phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

sourceS3File
Type: S3File structure

The source S3 url for the media file.

sourceS3PresignedUrl
Type: S3PresignedUrl structure

The source presign url of the media file.

Result Syntax

[
    'mediaId' => '<string>',
]

Result Details

Members
mediaId
Type: string

The unique identifier of the posted WhatsApp message.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

PublishWhatsAppFlow

$result = $client->publishWhatsAppFlow([/* ... */]);
$promise = $client->publishWhatsAppFlowAsync([/* ... */]);

Publishes a WhatsApp Flow, making it available for use in template messages. The Flow must be in DRAFT status with valid Flow JSON that passes Meta's validation. This is an irreversible operation.

Parameter Syntax

$result = $client->publishWhatsAppFlow([
    'flowId' => '<string>', // REQUIRED
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
flowId
Required: Yes
Type: string

The unique identifier of the Flow to publish.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this Flow.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

PutWhatsAppBusinessAccountEventDestinations

$result = $client->putWhatsAppBusinessAccountEventDestinations([/* ... */]);
$promise = $client->putWhatsAppBusinessAccountEventDestinationsAsync([/* ... */]);

Add an event destination to log event data from WhatsApp for a WhatsApp Business Account (WABA). A WABA can only have one event destination at a time. All resources associated with the WABA use the same event destination.

Parameter Syntax

$result = $client->putWhatsAppBusinessAccountEventDestinations([
    'eventDestinations' => [ // REQUIRED
        [
            'eventDestinationArn' => '<string>', // REQUIRED
            'roleArn' => '<string>',
        ],
        // ...
    ],
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
eventDestinations
Required: Yes
Type: Array of WhatsAppBusinessAccountEventDestination structures

An array of WhatsAppBusinessAccountEventDestination event destinations.

id
Required: Yes
Type: string

The unique identifier of your WhatsApp Business Account. WABA identifiers are formatted as waba-01234567890123456789012345678901. Use ListLinkedWhatsAppBusinessAccounts to list all WABAs and their details.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

SendWhatsAppMessage

$result = $client->sendWhatsAppMessage([/* ... */]);
$promise = $client->sendWhatsAppMessageAsync([/* ... */]);

Send a WhatsApp message. For examples of sending a message using the Amazon Web Services CLI, see Sending messages in the Amazon Web Services End User Messaging Social User Guide .

Parameter Syntax

$result = $client->sendWhatsAppMessage([
    'message' => <string || resource || Psr\Http\Message\StreamInterface>, // REQUIRED
    'metaApiVersion' => '<string>', // REQUIRED
    'originationPhoneNumberId' => '<string>', // REQUIRED
]);

Parameter Details

Members
message
Required: Yes
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The message to send through WhatsApp. The length is in KB. The message field passes through a WhatsApp Message object, see Messages in the WhatsApp Business Platform Cloud API Reference.

metaApiVersion
Required: Yes
Type: string

The API version for the request formatted as v{VersionNumber}. For a list of supported API versions and Amazon Web Services Regions, see Amazon Web Services End User Messaging Social API Service Endpoints in the Amazon Web Services General Reference.

originationPhoneNumberId
Required: Yes
Type: string

The ID of the phone number used to send the WhatsApp message. If you are sending a media file only the originationPhoneNumberId used to upload the file can be used. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

Result Syntax

[
    'messageId' => '<string>',
]

Result Details

Members
messageId
Type: string

The unique identifier of the message.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ResourceNotFoundException:

The resource was not found.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Adds or overwrites only the specified tags for the specified resource. When you specify an existing tag key, the value is overwritten with the new value.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => [ // REQUIRED
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to tag.

tags
Required: Yes
Type: Array of Tag structures

The tags to add to the resource.

Result Syntax

[
    'statusCode' => <integer>,
]

Result Details

Members
statusCode
Type: int

The status code of the tag resource operation.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes the specified tags from a resource.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to remove tags from.

tagKeys
Required: Yes
Type: Array of strings

The keys of the tags to remove from the resource.

Result Syntax

[
    'statusCode' => <integer>,
]

Result Details

Members
statusCode
Type: int

The status code of the untag resource operation.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

InvalidParametersException:

One or more parameters provided to the action are not valid.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

UpdateWhatsAppFlow

$result = $client->updateWhatsAppFlow([/* ... */]);
$promise = $client->updateWhatsAppFlowAsync([/* ... */]);

Updates the metadata of a WhatsApp Flow, such as its name or categories. This does not update the Flow JSON definition. Use UpdateWhatsAppFlowAssets to update the Flow JSON.

Parameter Syntax

$result = $client->updateWhatsAppFlow([
    'categories' => ['<string>', ...],
    'flowId' => '<string>', // REQUIRED
    'flowName' => '<string>',
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
categories
Type: Array of strings

The updated categories for the Flow.

flowId
Required: Yes
Type: string

The unique identifier of the Flow to update.

flowName
Type: string

The updated name for the Flow.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this Flow.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

UpdateWhatsAppFlowAssets

$result = $client->updateWhatsAppFlowAssets([/* ... */]);
$promise = $client->updateWhatsAppFlowAssetsAsync([/* ... */]);

Updates the Flow JSON definition (assets) of a WhatsApp Flow. Updating a published Flow's assets reverts it to DRAFT status, requiring re-publishing.

Parameter Syntax

$result = $client->updateWhatsAppFlowAssets([
    'flowId' => '<string>', // REQUIRED
    'flowJson' => <string || resource || Psr\Http\Message\StreamInterface>, // REQUIRED
    'id' => '<string>', // REQUIRED
]);

Parameter Details

Members
flowId
Required: Yes
Type: string

The unique identifier of the Flow whose assets to update.

flowJson
Required: Yes
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The updated Flow JSON definition. Maximum size is 10 MB.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this Flow.

Result Syntax

[
    'validationErrors' => ['<string>', ...],
]

Result Details

Members
validationErrors
Type: Array of strings

A list of validation errors returned by Meta, if any. Validation errors must be resolved before the Flow can be published.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

UpdateWhatsAppMessageTemplate

$result = $client->updateWhatsAppMessageTemplate([/* ... */]);
$promise = $client->updateWhatsAppMessageTemplateAsync([/* ... */]);

Updates an existing WhatsApp message template.

Parameter Syntax

$result = $client->updateWhatsAppMessageTemplate([
    'ctaUrlLinkTrackingOptedOut' => true || false,
    'id' => '<string>', // REQUIRED
    'metaTemplateId' => '<string>',
    'parameterFormat' => '<string>',
    'templateCategory' => '<string>',
    'templateComponents' => <string || resource || Psr\Http\Message\StreamInterface>,
    'templateLanguageCode' => '<string>',
    'templateName' => '<string>',
]);

Parameter Details

Members
ctaUrlLinkTrackingOptedOut
Type: boolean

When true, disables click tracking for call-to-action URL buttons in the template.

id
Required: Yes
Type: string

The ID of the WhatsApp Business Account associated with this template.

metaTemplateId
Type: string

The numeric ID of the template assigned by Meta.

parameterFormat
Type: string

The format specification for parameters in the template, this can be either 'named' or 'positional'.

templateCategory
Type: string

The new category for the template (for example, UTILITY or MARKETING).

templateComponents
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The updated components of the template as a JSON blob (maximum 3000 characters).

templateLanguageCode
Type: string

The language code of the message template (for example, en or en_US). Use together with templateName as an alternative to metaTemplateId to identify a template.

templateName
Type: string

The name of the message template. Use together with templateLanguageCode as an alternative to metaTemplateId to identify a template.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request contains an invalid parameter value.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The resource was not found.

InvalidParametersException:

One or more parameters provided to the action are not valid.

AccessDeniedByMetaException:

You do not have sufficient access to perform this action.

ThrottledRequestException:

The request was denied due to request throttling.

InternalServiceException:

The request processing has failed because of an unknown error, exception, or failure.

DependencyException:

Thrown when performing an action because a dependency would be broken.

Shapes

AccessDeniedByMetaException

Description

You do not have sufficient access to perform this action.

Members
message
Type: string

AccessDeniedException

Description

You do not have sufficient access to perform this action.

Members
message
Type: string

DependencyException

Description

Thrown when performing an action because a dependency would be broken.

Members
message
Type: string

InternalServiceException

Description

The request processing has failed because of an unknown error, exception, or failure.

Members
message
Type: string

InvalidParametersException

Description

One or more parameters provided to the action are not valid.

Members
message
Type: string

LibraryTemplateBodyInputs

Description

Configuration options for customizing the body content of a template from Meta's library.

Members
addContactNumber
Type: boolean

When true, includes a contact number in the template body.

addLearnMoreLink
Type: boolean

When true, includes a "learn more" link in the template body.

addSecurityRecommendation
Type: boolean

When true, includes security recommendations in the template body.

addTrackPackageLink
Type: boolean

When true, includes a package tracking link in the template body.

codeExpirationMinutes
Type: int

The number of minutes until a verification code or OTP expires.

LibraryTemplateButtonInput

Description

Configuration options for customizing buttons in a template from Meta's library.

Members
otpType
Type: string

The type of one-time password for OTP buttons.

phoneNumber
Type: string

The phone number in E.164 format for CALL-type buttons.

supportedApps
Type: Array of stringss

List of supported applications for this button type.

type
Type: string

The type of button (for example, QUICK_REPLY, CALL, or URL).

url
Type: Associative array of custom strings keys (MetaUrlWithSuffixExampleKeyString) to strings

The URL with dynamic parameters for URL-type buttons.

zeroTapTermsAccepted
Type: boolean

When true, indicates acceptance of zero-tap terms for the button.

LibraryTemplateButtonList

Description

Defines a button in a template from Meta's library.

Members
otpType
Type: string

The type of one-time password for OTP buttons.

phoneNumber
Type: string

The phone number in E.164 format for CALL-type buttons.

supportedApps
Type: Array of stringss

List of supported applications for this button type.

text
Type: string

The text displayed on the button (maximum 40 characters).

type
Type: string

The type of button (for example, QUICK_REPLY, CALL, or URL).

url
Type: string

The URL for URL-type buttons.

zeroTapTermsAccepted
Type: boolean

When true, indicates acceptance of zero-tap terms for the button.

LimitExceededException

Description

The request was denied because it would exceed one or more service quotas or limits.

Members
message
Type: string

LinkedWhatsAppBusinessAccount

Description

The details of your linked WhatsApp Business Account.

Members
arn
Required: Yes
Type: string

The ARN of the linked WhatsApp Business Account.

eventDestinations
Required: Yes
Type: Array of WhatsAppBusinessAccountEventDestination structures

The event destinations for the linked WhatsApp Business Account.

id
Required: Yes
Type: string

The ID of the linked WhatsApp Business Account, formatted as waba-01234567890123456789012345678901.

linkDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the WhatsApp Business Account was linked.

marketingMessagesOnboardingStatus
Type: string

The onboarding status for the Marketing Messages API. This value is fetched from Meta and indicates whether the WhatsApp Business Account is onboarded for Meta's Marketing Messages API.

phoneNumbers
Required: Yes
Type: Array of WhatsAppPhoneNumberSummary structures

The phone numbers associated with the Linked WhatsApp Business Account.

registrationStatus
Required: Yes
Type: string

The registration status of the linked WhatsApp Business Account.

wabaId
Required: Yes
Type: string

The WhatsApp Business Account ID from meta.

wabaName
Required: Yes
Type: string

The name of the linked WhatsApp Business Account.

LinkedWhatsAppBusinessAccountIdMetaData

Description

Contains your WhatsApp registration status and details of any unregistered WhatsApp phone number.

Members
accountName
Type: string

The name of your account.

registrationStatus
Type: string

The registration status of the linked WhatsApp Business Account.

unregisteredWhatsAppPhoneNumbers
Type: Array of WhatsAppPhoneNumberDetail structures

The details for unregistered WhatsApp phone numbers.

wabaId
Type: string

The Amazon Resource Name (ARN) of the WhatsApp Business Account ID.

LinkedWhatsAppBusinessAccountSummary

Description

The details of a linked WhatsApp Business Account.

Members
arn
Required: Yes
Type: string

The ARN of the linked WhatsApp Business Account.

eventDestinations
Required: Yes
Type: Array of WhatsAppBusinessAccountEventDestination structures

The event destinations for the linked WhatsApp Business Account.

id
Required: Yes
Type: string

The ID of the linked WhatsApp Business Account, formatted as waba-01234567890123456789012345678901.

linkDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the WhatsApp Business Account was linked.

marketingMessagesOnboardingStatus
Type: string

The onboarding status for the Marketing Messages API. This value is fetched from Meta and indicates whether the WhatsApp Business Account is onboarded for Meta's Marketing Messages API.

registrationStatus
Required: Yes
Type: string

The registration status of the linked WhatsApp Business Account.

wabaId
Required: Yes
Type: string

The WhatsApp Business Account ID provided by Meta.

wabaName
Required: Yes
Type: string

The name of the linked WhatsApp Business Account.

MetaFlowApplicationInfo

Description

Contains the Meta application metadata associated with a WhatsApp Flow.

Members
id
Required: Yes
Type: string

The unique identifier of the Meta application.

link
Type: string

The URL link for the Meta application.

name
Required: Yes
Type: string

The name of the Meta application.

MetaFlowAsset

Description

Represents a single asset file associated with a WhatsApp Flow, including a presigned download URL.

Members
assetType
Required: Yes
Type: string

The type of asset. Currently the only supported value is FLOW_JSON.

downloadUrl
Required: Yes
Type: string

A presigned URL from Meta for downloading the asset. The URL expires after a short period.

name
Required: Yes
Type: string

The filename of the asset (for example, flow.json).

MetaFlowHealthEntity

Description

Represents a single entity in the health status check for a WhatsApp Flow.

Members
canSendMessage
Required: Yes
Type: string

The messaging availability status for this entity (for example, AVAILABLE, LIMITED, or BLOCKED).

entityType
Required: Yes
Type: string

The type of entity (for example, FLOW, WABA, BUSINESS, or APP).

id
Required: Yes
Type: string

The unique identifier of the entity.

MetaFlowHealthStatus

Description

Contains the overall health status and per-entity breakdown for a WhatsApp Flow.

Members
canSendMessage
Required: Yes
Type: string

The overall messaging availability status (for example, AVAILABLE, LIMITED, or BLOCKED).

entities
Type: Array of MetaFlowHealthEntity structures

A list of health status entities with per-entity availability information.

MetaFlowPreviewInfo

Description

Contains the preview URL for testing a WhatsApp Flow and its expiration timestamp.

Members
expiresAt
Required: Yes
Type: string

The timestamp when the preview URL expires.

previewUrl
Required: Yes
Type: string

The web URL for previewing the Flow. Can be shared with stakeholders for review.

MetaFlowSummary

Description

Contains summary information about a WhatsApp Flow, including its ID, name, status, and categories.

Members
flowCategories
Required: Yes
Type: Array of strings

The categories that classify the business purpose of the Flow.

flowId
Required: Yes
Type: string

The unique identifier of the Flow assigned by Meta.

flowName
Required: Yes
Type: string

The name of the Flow.

flowStatus
Required: Yes
Type: string

The lifecycle status of the Flow (DRAFT, PUBLISHED, DEPRECATED, BLOCKED, or THROTTLED).

validationErrors
Required: Yes
Type: Array of strings

A list of validation errors from Meta, if any.

MetaFlowWhatsAppBusinessAccountInfo

Description

Contains WhatsApp Business Account metadata associated with a Flow, as returned by Meta.

Members
currency
Type: string

The currency code for the WhatsApp Business Account (for example, USD).

id
Required: Yes
Type: string

The WhatsApp Business Account ID from Meta.

messageTemplateNamespace
Type: string

The message template namespace for the WhatsApp Business Account.

name
Required: Yes
Type: string

The name of the WhatsApp Business Account.

timezoneId
Type: string

The timezone ID for the WhatsApp Business Account.

MetaLibraryTemplate

Description

Represents a template from Meta's library with customization options.

Members
libraryTemplateBodyInputs
Type: LibraryTemplateBodyInputs structure

Body text customizations for the template.

libraryTemplateButtonInputs
Type: Array of LibraryTemplateButtonInput structures

Button customizations for the template.

libraryTemplateName
Required: Yes
Type: string

The name of the template in Meta's library.

templateCategory
Required: Yes
Type: string

The category of the template (for example, UTILITY or MARKETING).

templateLanguage
Required: Yes
Type: string

The language code for the template (for example, en_US).

templateName
Required: Yes
Type: string

The name to assign to the template.

MetaLibraryTemplateDefinition

Description

Defines the complete structure and content of a template in Meta's library.

Members
templateBody
Type: string

The body text of the template.

templateBodyExampleParams
Type: Array of strings

Example parameter values for the template body, used to demonstrate how dynamic content appears in the template.

templateButtons
Type: Array of LibraryTemplateButtonList structures

The buttons included in the template.

templateCategory
Type: string

The category of the template (for example, UTILITY or MARKETING).

templateHeader
Type: string

The header text of the template.

templateId
Type: string

The ID of the template in Meta's library.

templateIndustry
Type: Array of strings

The industries the template is designed for.

templateLanguage
Type: string

The language code for the template (for example, en_US).

templateName
Type: string

The name of the template.

templateTopic
Type: string

The topic or subject matter of the template.

templateUseCase
Type: string

The intended use case for the template.

ResourceNotFoundException

Description

The resource was not found.

Members
message
Type: string

S3File

Description

Contains information for the S3 bucket that contains media files.

Members
bucketName
Required: Yes
Type: string

The bucket name.

key
Required: Yes
Type: string

The S3 key prefix that defines the storage location of your media files. The prefix works like a folder path in S3, and is combined with the WhatsApp mediaId to create the final file path.

For example, if a media file's WhatsApp mediaId is 123.ogg, and the key is audio/example.ogg, the final file path is audio/example.ogg123.ogg.

For the same mediaId, a key of audio/ results in the file path audio/123.ogg.

S3PresignedUrl

Description

You can use presigned URLs to grant time-limited access to objects in Amazon S3 without updating your bucket policy. For more information, see Working with presigned URLs in the Amazon S3 User Guide.

Members
headers
Required: Yes
Type: Associative array of custom strings keys (String) to strings

A map of headers and their values. You must specify the Content-Type header when using PostWhatsAppMessageMedia. For a list of common headers, see Common Request Headers in the Amazon S3 API Reference

url
Required: Yes
Type: string

The presign url to the object.

Tag

Description

The tag for a resource.

Members
key
Required: Yes
Type: string

The tag key.

value
Type: string

The tag value.

TemplateSummary

Description

Provides a summary of a WhatsApp message template's key attributes.

Members
metaTemplateId
Type: string

The numeric ID assigned to the template by Meta.

templateCategory
Type: string

The category of the template (for example, UTILITY or MARKETING).

templateLanguage
Type: string

The language code of the template (for example, en_US).

templateName
Type: string

The name of the template.

templateQualityScore
Type: string

The quality score assigned to the template by Meta.

templateStatus
Type: string

The current status of the template (for example, APPROVED, PENDING, or REJECTED).

ThrottledRequestException

Description

The request was denied due to request throttling.

Members
message
Type: string

ValidationException

Description

The request contains an invalid parameter value.

Members
message
Type: string

WabaPhoneNumberSetupFinalization

Description

The registration details for a linked phone number.

Members
dataLocalizationRegion
Type: string

The two letter ISO region for the location of where Meta will store data.

Asia–Pacific (APAC)

  • Australia AU

  • Indonesia ID

  • India IN

  • Japan JP

  • Singapore SG

  • South Korea KR

Europe

  • Germany DE

  • Switzerland CH

  • United Kingdom GB

Latin America (LATAM)

  • Brazil BR

Middle East and Africa (MEA)

  • Bahrain BH

  • South Africa ZA

  • United Arab Emirates AE

North America (NORAM)

  • Canada CA

id
Required: Yes
Type: string

The unique identifier of the originating phone number associated with the media. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use the GetLinkedWhatsAppBusinessAccount API action to find a phone number's id.

tags
Type: Array of Tag structures

An array of key and value pair tags.

twoFactorPin
Required: Yes
Type: string

The PIN to use for two-step verification. To reset your PIN follow the directions in Updating PIN in the WhatsApp Business Platform Cloud API Reference.

WabaSetupFinalization

Description

The registration details for a linked WhatsApp Business Account.

Members
eventDestinations
Type: Array of WhatsAppBusinessAccountEventDestination structures

The event destinations for the linked WhatsApp Business Account.

id
Type: string

The ID of the linked WhatsApp Business Account, formatted as waba-01234567890123456789012345678901.

tags
Type: Array of Tag structures

An array of key and value pair tags.

WhatsAppBusinessAccountEventDestination

Description

Contains information on the event destination.

Members
eventDestinationArn
Required: Yes
Type: string

The ARN of the event destination.

roleArn
Type: string

The Amazon Resource Name (ARN) of an Identity and Access Management role that is able to import phone numbers and write events.

WhatsAppPhoneNumberDetail

Description

The details of your WhatsApp phone number.

Members
arn
Required: Yes
Type: string

The ARN of the WhatsApp phone number.

dataLocalizationRegion
Type: string

The geographic region where the WhatsApp phone number's data is stored and processed.

displayPhoneNumber
Required: Yes
Type: string

The phone number that appears in the recipients display.

displayPhoneNumberName
Required: Yes
Type: string

The display name for this phone number.

metaPhoneNumberId
Required: Yes
Type: string

The phone number ID from Meta.

phoneNumber
Required: Yes
Type: string

The phone number for sending WhatsApp.

phoneNumberId
Required: Yes
Type: string

The phone number ID. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901.

qualityRating
Required: Yes
Type: string

The quality rating of the phone number.

WhatsAppPhoneNumberSummary

Description

The details of a linked phone number.

Members
arn
Required: Yes
Type: string

The full Amazon Resource Name (ARN) for the phone number.

dataLocalizationRegion
Type: string

The geographic region where the WhatsApp phone number's data is stored and processed.

displayPhoneNumber
Required: Yes
Type: string

The phone number that appears in the recipients display.

displayPhoneNumberName
Required: Yes
Type: string

The display name for this phone number.

metaPhoneNumberId
Required: Yes
Type: string

The phone number ID from Meta.

phoneNumber
Required: Yes
Type: string

The phone number associated with the Linked WhatsApp Business Account.

phoneNumberId
Required: Yes
Type: string

The phone number ID. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901.

qualityRating
Required: Yes
Type: string

The quality rating of the phone number. This is from Meta.

WhatsAppSetupFinalization

Description

The details of linking a WhatsApp Business Account to your Amazon Web Services account.

Members
associateInProgressToken
Required: Yes
Type: string

An Amazon Web Services access token generated by WhatsAppSignupCallback and used by WhatsAppSetupFinalization.

phoneNumberParent
Type: string

Used to add a new phone number to an existing WhatsApp Business Account. This field can't be used when the waba field is present.

phoneNumbers
Required: Yes
Type: Array of WabaPhoneNumberSetupFinalization structures

An array of WabaPhoneNumberSetupFinalization objects containing the details of each phone number associated with the WhatsApp Business Account.

waba
Type: WabaSetupFinalization structure

Used to create a new WhatsApp Business Account and add a phone number. This field can't be used when the phoneNumberParent field is present.

WhatsAppSignupCallback

Description

Contains the accessToken provided by Meta during signup.

Members
accessToken
Required: Yes
Type: string

The access token for your WhatsApp Business Account. The accessToken value is provided by Meta.

callbackUrl
Type: string

The URL where WhatsApp will send callback notifications for this account.

WhatsAppSignupCallbackResult

Description

Contains the results of WhatsAppSignupCallback.

Members
associateInProgressToken
Type: string

An Amazon Web Services access token generated by WhatsAppSignupCallback and used by WhatsAppSetupFinalization.

linkedAccountsWithIncompleteSetup
Type: Associative array of custom strings keys (WhatsAppBusinessAccountId) to LinkedWhatsAppBusinessAccountIdMetaData structures

A LinkedWhatsAppBusinessAccountIdMetaData object map containing the details of any WhatsAppBusiness accounts that have incomplete setup.