Chat API GOLang SDK for WhatsApp API

Download SDK

Getting started

The REST API allows you to receive and send messages through your WhatsApp account.

Parameters in GET queries pass query string. Parameters in POST requests — through the JSON-encoded request body. The authorization token is always passed to query string (?token=xxxxxx).

The WhatsApp API is based on the WhatsApp WEB protocol and excludes the ban both when using libraries from mgp25 and the like. Despite this, your account can be banned by anti-spam system WhatsApp after several clicking the "block" button.

Get an API key

How to Build

  • In order to successfully build and run your SDK files, you are required to have the following setup in your system:
  • Ensure that GOPATH environment variable is set in the system variables. If not, set it to your workspace directory where you will be adding your Go projects.
  • The generated code uses unirest-go http library. Therefore, you will need internet access to resolve this dependency. If Go is properly installed and configured, run the following command to pull the dependency:
go get github.com/apimatic/unirest-go

This will install unirest-go in the GOPATH you specified in the system variables.

Now follow the steps mentioned below to build your SDK:

  1. Open eclipse in the Go language perspective and click on the Import option in File menu.

Importing SDK into Eclipse - Step 1

  1. Select General -> Existing Projects into Workspace option from the tree list.

Importing SDK into Eclipse - Step 2

  1. In Select root directory, provide path to the unzipped archive for the generated code. Once the path is set and the Project becomes visible under Projects click Finish

Importing SDK into Eclipse - Step 3

  1. The Go library will be imported and its files will be visible in the Project Explorer

Importing SDK into Eclipse - Step 4

How to Use

The following section explains how to use the WhatsappAPILib library in a new project.

1. Add a new Test Project

Create a new project in Eclipse by File -> New -> Go Project

Add a new project in Eclipse

Name the Project as Test and click Finish

Create a new Maven Project - Step 1

Create a new directory in the src directory of this project

Create a new Maven Project - Step 2

Name it test.com

Create a new Maven Project - Step 3

Now create a new file inside src/test.com

Create a new Maven Project - Step 4

Name it testsdk.go

Create a new Maven Project - Step 5

In this Go file, you can start adding code to initialize the client library. Sample code to initialize the client library and using its methods is given in the subsequent sections.

2. Configure the Test Project

You need to import your generated library in this project in order to make use of its functions. In order to import the library, you can add its path in the GOPATH for this project. Follow the below steps:

Right click on the project name and click on Properties

Adding dependency to the client library - Step 1

Choose Go Compiler from the side menu. Check Use project specific settings and uncheck Use same value as the GOPATH environment variable.. By default, the GOPATH value from the environment variables will be visible in Eclipse GOPATH. Do not remove this as this points to the unirest dependency.

Adding dependency to the client library - Step 2

Append the library path to this GOPATH

Adding dependency to the client library - Step 3

Once the path is appended, click on OK

3. Build the Test Project

Right click on the project name and click on Build Project

Build Project

4. Run the Test Project

If the build is successful, right click on your Go file and click on Run As -> Go Application

Run Project

Initialization

To initialize and authenticate the API client, the following parameters need to be passed.

ParameterTypeDescription
token
string
instanceId
string
Your instance number
Default: '123'
protocol
models_pkg.ProtocolEnum
Default: models_pkg.ProtocolEnumFromValue("https")
server
string
Your server number
Default: '2'

The API client can be initialized as following.

client.Configuration().SetInstanceId("123")
client.Configuration().SetProtocol(models_pkg.Protocol_HTTPS)
client.Configuration().SetServer("2")
Token := "token"


client := WhatsappAPIClient.NewWhatsappAPIClient(Token)

Environments

The SDK can be configured to use a different environment for making API calls. Available environments are:

NameValueDescription
production
PRODUCTION
Default New common server url
environment2
ENVIRONMENT2
Old style server url

The environment should be set in the CONFIGURATION before the client is initialized.

configuration_pkg.Environment = configuration_pkg.PRODUCTION;

Authorizing your client

This API uses Custom Query Parameter


Preparatory work

At the very beginning, we need to connect whatsapp with our script, so as we write the code, we check its operation. To do this, go to your personal account and get a QR code there. Next, open WhatsApp on your smartphone, go to Settings -> WhatsApp Web -> Scan a QR code.

Now we need to indicate a WebHook URL so the server can run the scrip when new messages arrive. Indicate a direct link to your script, e.g. https://domain.com/PHP/whatsappbot.php. You can’t indicate server IP only, but you can indicate the port.

{*
Read it →

Development of WhatsApp Chat Bot. Full manual

We've written the most comprehensive guide on how to create a simple PHP bot using the Whatsapp API
*}

Other WhatsApp API SDKs

You can configure the SDK or generate other SDKs in 30+ programming languages: Chat API SDK generator.