Skip to main content

Python wrapper to the various APIs in Meta Platform

Project description

meta_api_python

Python Wrapper to various APIs from Meta Platform.

Features

Send API (v16.0)

  • Send text messages
  • Send Media from a remote file (image, audio, video, file)
  • Send Action
  • Send quick replies
  • Send buttons
  • Send Generic Messages

Prerequisite

  • 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.

How to install

From GitHub

pip install git+https://github.com/santoshdahal2016/meta-api-python.git

From Pypi

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

Usage

Send API

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.

Sending a generic template message:

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

meta_api_python-0.1.0-py3-none-any.whl (29.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page