sdksio/whatsapp-cloud-api-sdk

Use cloud-hosted version of the WhatsApp Business API to send and receive messages

1.0.0 2023-06-08 10:09 UTC

This package is not auto-updated.

Last update: 2024-05-10 12:33:00 UTC


README

Introduction

Welcome to the WhatsApp API from Meta.

Individual developers and existing Business Service Providers (BSPs) can now send and receive messages via the WhatsApp API using a cloud-hosted version of the WhatsApp Business API. Compared to the previous solutions, the cloud-based WhatsApp API is simpler to use and is a more cost-effective way for businesses to use WhatsApp. Please keep in mind the following configurations:

Name Description
Version Latest Graph API version. For example: v13.0
User-Access-Token Your user access token after signing up at developers.facebook.com.
WABA-ID Your WhatsApp Business Account (WABA) ID.
Phone-Number-ID ID for the phone number connected to the WhatsApp Business API. You can get this with a Get Phone Number ID request.
Business-ID Your Business' ID. Once you have your Phone-Number-ID, make a Get Business Profile request to get your Business' ID.
Recipient-Phone-Number Phone number that you want to send a WhatsApp message to.
Media-ID ID for the media to send a media message or media template message to your customers.
Media-URL URL for the media to download media content.

Install the Package

Run the following command to install the package and automatically add the dependency to your composer.json file:

composer require "sdksio/whatsapp-cloud-api-sdk:1.0.0"

Or add it to the composer.json file manually as given below:

"require": {
    "sdksio/whatsapp-cloud-api-sdk": "1.0.0"
}

You can also view the package at: https://packagist.org/packages/sdksio/whatsapp-cloud-api-sdk#1.0.0

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

Parameter Type Description
version string Default: 'v13.0'
environment Environment The API environment.
Default: Environment.PRODUCTION
timeout int Timeout for API calls in seconds.
Default: 0
enableRetries bool Whether to enable retries and backoff feature.
Default: false
numberOfRetries int The number of retries to make.
Default: 0
retryInterval float The retry time interval between the endpoint calls.
Default: 1
backOffFactor float Exponential backoff factor to increase interval between retries.
Default: 2
maximumRetryWaitTime int The maximum wait time in seconds for overall retrying requests.
Default: 0
retryOnTimeout bool Whether to retry on request timeout.
Default: true
httpStatusCodesToRetry array Http status codes to retry against.
Default: 408, 413, 429, 500, 502, 503, 504, 521, 522, 524
httpMethodsToRetry array Http methods to retry against.
Default: 'GET', 'PUT'
accessToken string The OAuth 2.0 Access Token to use for API requests.

The API client can be initialized as follows:

$client = WhatsAppCloudAPIClientBuilder::init()
    ->accessToken('AccessToken')
    ->environment('production')
    ->version('v13.0')
    ->build();

Authorization

This API uses OAuth 2 Bearer token.

List of APIs

Classes Documentation