Python Wrapper to various APIs from Meta Platform.
- Send text messages
- Send Media from a remote file (image, audio, video, file)
- Send Action
- Send quick replies
- Send buttons
- Send Generic Messages
- Python 3.7+ installed
- You'll need to setup a Meta App, Facebook Page, get the Page Access Token and link the App to the Page.
pip install git+https://github.com/santoshdahal2016/meta-api-python.git
Package from Pypi.org may not be the latest one, if you want the latest version of this package, install it from the GitHub repository (see above)
pip install meta-api-python
from meta.api.api import Api
from meta.api.messages.text_message import TextMessage
api = Api(page_access_token=<page_access_token>)
text_message = TextMessage(text="Hi, How are you?")
response = api.send_messages(to= <recipient_id>, messages=text_message)
Note: From Facebook regarding Receipt IDs
These ids are page-scoped. These ids differ from those returned from Meta Login apps which are app-scoped. You must use ids retrieved from a Messenger integration for this page in order to function properly.
Generic Template Messages allows you to add cool elements like images, text all in a single bubble.
from metapython import Api
from metapython.api.consts import ButtonType
from metapython.api.messages import ElementMessage, ElementsMessage, ButtonMessage, ButtonsMessage
api = Api(page_access_token=<page_access_token>)
# Generic Message
elements = ElementsMessage()
web_link_button = ButtonMessage(button_type=ButtonType.WEB_URL, title="Visit Diyo Website")
web_link_button.set_url(<url>)
element1 = ElementMessage(
buttons=[web_link_button],
image_url="https://moneymitra.com/static/image/moneymitra-logo.png",
)
elements.add_element(element1)
phone_number_button = ButtonMessage(button_type=ButtonType.PHONE_NUMBER, title="Call me")
phone_number_button.set_payload("XXXXXXXXXXX")
element2 = ElementMessage(
buttons=[phone_number_button],
image_url=<image_url>,
)
elements.add_element(element2)
response = api.send_messages(to= <recipient_id>, messages=elements)