{"id":18051724,"url":"https://github.com/apimatic/whatsapp-python-sdk","last_synced_at":"2025-10-10T14:02:57.007Z","repository":{"id":37098062,"uuid":"504459370","full_name":"apimatic/whatsapp-python-sdk","owner":"apimatic","description":null,"archived":false,"fork":false,"pushed_at":"2022-06-17T08:47:54.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-05T07:13:36.921Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apimatic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-17T08:47:08.000Z","updated_at":"2022-06-17T08:47:58.000Z","dependencies_parsed_at":"2022-06-24T12:53:29.449Z","dependency_job_id":null,"html_url":"https://github.com/apimatic/whatsapp-python-sdk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/apimatic/whatsapp-python-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apimatic%2Fwhatsapp-python-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apimatic%2Fwhatsapp-python-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apimatic%2Fwhatsapp-python-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apimatic%2Fwhatsapp-python-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apimatic","download_url":"https://codeload.github.com/apimatic/whatsapp-python-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apimatic%2Fwhatsapp-python-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004067,"owners_count":26083669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T22:55:17.934Z","updated_at":"2025-10-10T14:02:56.977Z","avatar_url":"https://github.com/apimatic.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\r\n# Getting Started with WhatsApp Cloud API\r\n\r\n## Introduction\r\n\r\nWelcome to the WhatsApp API from Meta.\r\n\r\nIndividual 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:\r\n\r\n| Name | Description |\n| --- | --- |\n| Version | Latest [Graph API version](https://developers.facebook.com/docs/graph-api/). For example: v13.0 |\n| User-Access-Token | Your user access token after signing up at [developers.facebook.com](https://developers.facebook.com). |\n| WABA-ID | Your WhatsApp Business Account (WABA) ID. |\n| 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](3184f675-d289-46f1-88e5-e2b11549c418). |\n| Business-ID | Your Business' ID. Once you have your Phone-Number-ID, make a [Get Business Profile request](#99fd3743-46cf-46c4-95b5-431c6a4eb0b0) to get your Business' ID. |\n| Recipient-Phone-Number | Phone number that you want to send a WhatsApp message to. |\n| Media-ID | ID for the media to [send a media message](#0a632754-3788-43bf-b785-ac6a73423d5a) or [media template message](#439c926a-8a6c-4972-ab2c-d99297716da9) to your customers. |\n| Media-URL | URL for the media to [download media content](#cbe5ece3-246c-48f3-b338-074187dfef66). |\r\n\r\n## Building\r\n\r\nYou must have Python `3 \u003e=3.7, \u003c= 3.9` installed on your system to install and run this SDK. This SDK package depends on other Python packages like nose, jsonpickle etc. These dependencies are defined in the `requirements.txt` file that comes with the SDK. To resolve these dependencies, you can use the PIP Dependency manager. Install it by following steps at [https://pip.pypa.io/en/stable/installing/](https://pip.pypa.io/en/stable/installing/).\r\n\r\nPython and PIP executables should be defined in your PATH. Open command prompt and type `pip --version`. This should display the version of the PIP Dependency Manager installed if your installation was successful and the paths are properly defined.\r\n\r\n* Using command line, navigate to the directory containing the generated files (including `requirements.txt`) for the SDK.\n* Run the command `pip install -r requirements.txt`. This should install all the required dependencies.\r\n\r\n![Building SDK - Step 1](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026step=installDependencies)\r\n\r\n## Installation\r\n\r\nThe following section explains how to use the whatsappcloudapi library in a new project.\r\n\r\n### 1. Open Project in an IDE\r\n\r\nOpen up a Python IDE like PyCharm. The basic workflow presented here is also applicable if you prefer using a different editor or IDE.\r\n\r\n![Open project in PyCharm - Step 1](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026step=pyCharm)\r\n\r\nClick on `Open` in PyCharm to browse to your generated SDK directory and then click `OK`.\r\n\r\n![Open project in PyCharm - Step 2](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026step=openProject0)\r\n\r\nThe project files will be displayed in the side bar as follows:\r\n\r\n![Open project in PyCharm - Step 3](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026projectName=whatsappcloudapi\u0026step=openProject1)\r\n\r\n### 2. Add a new Test Project\r\n\r\nCreate a new directory by right clicking on the solution name as shown below:\r\n\r\n![Add a new project in PyCharm - Step 1](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026projectName=whatsappcloudapi\u0026step=createDirectory)\r\n\r\nName the directory as \"test\".\r\n\r\n![Add a new project in PyCharm - Step 2](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026step=nameDirectory)\r\n\r\nAdd a python file to this project.\r\n\r\n![Add a new project in PyCharm - Step 3](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026projectName=whatsappcloudapi\u0026step=createFile)\r\n\r\nName it \"testSDK\".\r\n\r\n![Add a new project in PyCharm - Step 4](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026projectName=whatsappcloudapi\u0026step=nameFile)\r\n\r\nIn your python file you will be required to import the generated python library using the following code lines\r\n\r\n```python\r\nfrom whatsappcloudapi.whatsappcloudapi_client import WhatsappcloudapiClient\r\n```\r\n\r\n![Add a new project in PyCharm - Step 5](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026projectName=whatsappcloudapi\u0026libraryName=whatsappcloudapi.whatsappcloudapi_client\u0026className=WhatsappcloudapiClient\u0026step=projectFiles)\r\n\r\nAfter this you can write code to instantiate an API client object, get a controller object and  make API calls. Sample code is given in the subsequent sections.\r\n\r\n### 3. Run the Test Project\r\n\r\nTo run the file within your test project, right click on your Python file inside your Test project and click on `Run`\r\n\r\n![Run Test Project - Step 1](https://apidocs.io/illustration/python?workspaceFolder=Whatsappcloudapi-Python\u0026projectName=whatsappcloudapi\u0026libraryName=whatsappcloudapi.whatsappcloudapi_client\u0026className=WhatsappcloudapiClient\u0026step=runProject)\r\n\r\n## Initialize the API Client\r\n\r\n**_Note:_** Documentation for the client can be found [here.](doc/client.md)\r\n\r\nThe following parameters are configurable for the API Client:\r\n\r\n| Parameter | Type | Description |\r\n|  --- | --- | --- |\r\n| `version` | `string` | *Default*: `'v13.0'` |\r\n| `environment` | Environment | The API environment. \u003cbr\u003e **Default: `Environment.PRODUCTION`** |\r\n| `http_client_instance` | `HttpClient` | The Http Client passed from the sdk user for making requests |\r\n| `override_http_client_configuration` | `bool` | The value which determines to override properties of the passed Http Client from the sdk user |\r\n| `http_call_back` | `HttpCallBack` | The callback value that is invoked before and after an HTTP call is made to an endpoint |\r\n| `timeout` | `float` | The value to use for connection timeout. \u003cbr\u003e **Default: 60** |\r\n| `max_retries` | `int` | The number of times to retry an endpoint call if it fails. \u003cbr\u003e **Default: 0** |\r\n| `backoff_factor` | `float` | A backoff factor to apply between attempts after the second try. \u003cbr\u003e **Default: 2** |\r\n| `retry_statuses` | `Array of int` | The http statuses on which retry is to be done. \u003cbr\u003e **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |\r\n| `retry_methods` | `Array of string` | The http methods on which retry is to be done. \u003cbr\u003e **Default: ['GET', 'PUT']** |\r\n| `access_token` | `string` | The OAuth 2.0 Access Token to use for API requests. |\r\n\r\nThe API client can be initialized as follows:\r\n\r\n```python\r\nfrom whatsappcloudapi.whatsappcloudapi_client import WhatsappcloudapiClient\r\nfrom whatsappcloudapi.configuration import Environment\r\n\r\nclient = WhatsappcloudapiClient(\n    access_token='AccessToken',\n    environment=Environment.PRODUCTION,\n    version = 'v13.0',)\r\n```\r\n\r\n## Authorization\r\n\r\nThis API uses `OAuth 2 Bearer token`.\r\n\r\n## List of APIs\r\n\r\n* [Business Profiles](doc/controllers/business-profiles.md)\n* [Phone Numbers](doc/controllers/phone-numbers.md)\n* [Two-Step Verification](doc/controllers/two-step-verification.md)\n* [Messages](doc/controllers/messages.md)\n* [Registration](doc/controllers/registration.md)\n* [Media](doc/controllers/media.md)\r\n\r\n## Classes Documentation\r\n\r\n* [Utility Classes](doc/utility-classes.md)\n* [HttpResponse](doc/http-response.md)\n* [HttpRequest](doc/http-request.md)\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapimatic%2Fwhatsapp-python-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapimatic%2Fwhatsapp-python-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapimatic%2Fwhatsapp-python-sdk/lists"}