Skip to content

Configuration ​

To use the ws-cloud-api library, you need to set up a few environment variables in your configuration file. Here’s a detailed guide on what each variable is for:

Messaging Configuration ​

  • WS_CA_VERSION:

    • Description: Specifies the version of the WhatsApp Cloud API that you are using.
    • Example: '19.0'
    • Note: Make sure to set this to the version that matches your API setup. You can find the latest version in the WhatsApp Cloud API documentation.
  • WS_PHONE_NUMBER_ID:

    • Description: The unique identifier for your WhatsApp phone number. This ID is associated with the phone number that will be used to send and receive messages.
    • Example: 123456789012345
    • Note: Obtain this ID from your WhatsApp Business Account settings.
  • WS_TOKEN:

    • Description: The access token used to authenticate API requests. This token should be kept secure as it grants access to your WhatsApp Business Account.
    • Example: 'EAAJZ...nRZCQZB'
    • Note: You can generate or find your token in the WhatsApp Business Account settings.

Webhook Configuration ​

  • WS_VERIFY_TOKEN:
    • Description: A token used to verify the authenticity of incoming webhook requests. This helps ensure that requests to your webhook endpoint are from WhatsApp.
    • Example: 'your-verify-token'
    • Note: Set this to a secure, unique string and use it in your webhook verification process. This token should be configured in your webhook settings on the Facebook for Developers portal.

Optional Configuration Parameter ​

In addition to setting environment variables, ws-cloud-api functions allow for optional configuration through a config parameter. This parameter lets you override the default configuration or provide specific settings for individual API requests.

Using the config Parameter ​

Many functions in ws-cloud-api accept an optional config parameter. This allows you to specify configuration settings directly within your function call, providing flexibility and control over your API interactions.

Example Function Signature:

typescript
interface WsConfig {
  apiVersion?: string
  phoneNumberId?: string
  token?: string
}

export async function sendText({
  to,
  message,
  previewUrl,
  config
}: {
  to: string
  message: string
  previewUrl?: boolean
  config?: WsConfig
}): Promise<SendMessageResponse>

Configuration Options: ​

  • apiVersion:

    • Description: Specifies the version of the WhatsApp Cloud API to use for the request.
    • Default: Uses the version specified by the WS_CA_VERSION environment variable if not provided.
    • Example: '19.0'
  • phoneNumberId:

    • Description: Allows you to specify a different phone number ID for the request, overriding the one set in the environment variable.
    • Default: Uses the WS_PHONE_NUMBER_ID environment variable if not provided.
    • Example: 123456789012345
  • token:

    • Description: Provides an alternative access token for the API request, overriding the token set in the environment variables.
    • Default: Uses the WS_TOKEN environment variable if not provided.
    • Example: 'EAAJZ...nRZCQZB'

Example usage: ​

ts
import { sendText } from 'ws-cloud-api/messaging';

sendText({
  to: 'recipient_phone_number',
  message: 'Hello, this is a test message!',
  config: {
    apiVersion: '19.0',
    phoneNumberId: '987654321098765',
    token: 'your-optional-token'
  }
})
  .then((response) => {
    if (response.success) {
      console.log('Message sent successfully');
    }
  })
  .catch(console.error);