{"id":15285576,"url":"https://github.com/messente/messente-api-python","last_synced_at":"2025-07-21T05:06:47.068Z","repository":{"id":54974056,"uuid":"171856994","full_name":"messente/messente-api-python","owner":"messente","description":"Messente API library: https://pypi.org/project/messente-api","archived":false,"fork":false,"pushed_at":"2025-07-10T11:22:30.000Z","size":538,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-10T15:59:03.225Z","etag":null,"topics":["number-lookup","omnichannel","phonebook","statistics"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/messente.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-21T11:10:58.000Z","updated_at":"2025-03-25T15:00:33.000Z","dependencies_parsed_at":"2025-04-23T18:34:26.024Z","dependency_job_id":"d2884cbe-fe24-439d-afeb-33fa9040be8d","html_url":"https://github.com/messente/messente-api-python","commit_stats":{"total_commits":60,"total_committers":2,"mean_commits":30.0,"dds":"0.19999999999999996","last_synced_commit":"c274a03bfc80b1c0ef9ec66d55f194a770862691"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/messente/messente-api-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messente%2Fmessente-api-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messente%2Fmessente-api-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messente%2Fmessente-api-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messente%2Fmessente-api-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/messente","download_url":"https://codeload.github.com/messente/messente-api-python/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messente%2Fmessente-api-python/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266242072,"owners_count":23898102,"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","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":["number-lookup","omnichannel","phonebook","statistics"],"created_at":"2024-09-30T15:06:18.210Z","updated_at":"2025-07-21T05:06:47.044Z","avatar_url":"https://github.com/messente.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Messente API Library\n\n- Messente API version: 2.0.0\n- Python package version: 2.4.0\n\n[Messente](https://messente.com) is a global provider of messaging and user verification services.  * Send and receive SMS, Viber, WhatsApp and Telegram messages. * Manage contacts and groups. * Fetch detailed info about phone numbers. * Blacklist phone numbers to make sure you\u0026#39;re not sending any unwanted messages.  Messente builds [tools](https://messente.com/documentation) to help organizations connect their services to people anywhere in the world.\n\n## Installation\n\nInstall Messente API library with `pip install messente-api`.\n\n## Features\n\nMessente API has the following features:\n\n- Omnichannel ([external docs](https://messente.com/documentation/omnichannel-api)),\n- Phonebook ([external docs](https://messente.com/documentation/phonebook-api)).\n\nMessente API Library provides the operations described below to access the features.\n\n### BlacklistApi\n\n1. Adds a phone number to the blacklist [`add_to_blacklist`](docs/BlacklistApi.md#add_to_blacklist)\n1. Deletes a phone number from the blacklist [`delete_from_blacklist`](docs/BlacklistApi.md#delete_from_blacklist)\n1. Returns all blacklisted phone numbers [`fetch_blacklist`](docs/BlacklistApi.md#fetch_blacklist)\n1. Checks if a phone number is blacklisted [`is_blacklisted`](docs/BlacklistApi.md#is_blacklisted)\n\n### BulkMessagingApi\n\n1. Sends a bulk Omnimessage [`send_bulk_omnimessage`](docs/BulkMessagingApi.md#send_bulk_omnimessage)\n\n### ContactsApi\n\n1. Adds a contact to a group [`add_contact_to_group`](docs/ContactsApi.md#add_contact_to_group)\n1. Creates a new contact [`create_contact`](docs/ContactsApi.md#create_contact)\n1. Deletes a contact [`delete_contact`](docs/ContactsApi.md#delete_contact)\n1. Lists a contact [`fetch_contact`](docs/ContactsApi.md#fetch_contact)\n1. Lists groups of a contact [`fetch_contact_groups`](docs/ContactsApi.md#fetch_contact_groups)\n1. Returns all contacts [`fetch_contacts`](docs/ContactsApi.md#fetch_contacts)\n1. Removes a contact from a group [`remove_contact_from_group`](docs/ContactsApi.md#remove_contact_from_group)\n1. Updates a contact [`update_contact`](docs/ContactsApi.md#update_contact)\n\n### DeliveryReportApi\n\n1. Retrieves the delivery report for the Omnimessage [`retrieve_delivery_report`](docs/DeliveryReportApi.md#retrieve_delivery_report)\n\n### GroupsApi\n\n1. Creates a new group with the provided name [`create_group`](docs/GroupsApi.md#create_group)\n1. Deletes a group [`delete_group`](docs/GroupsApi.md#delete_group)\n1. Lists a group [`fetch_group`](docs/GroupsApi.md#fetch_group)\n1. Returns all groups [`fetch_groups`](docs/GroupsApi.md#fetch_groups)\n1. Updates a group with the provided name [`update_group`](docs/GroupsApi.md#update_group)\n\n### NumberLookupApi\n\n1. Requests info about phone numbers [`fetch_info`](docs/NumberLookupApi.md#fetch_info)\n\n### OmnimessageApi\n\n1. Cancels a scheduled Omnimessage [`cancel_scheduled_message`](docs/OmnimessageApi.md#cancel_scheduled_message)\n1. Sends an Omnimessage [`send_omnimessage`](docs/OmnimessageApi.md#send_omnimessage)\n\n### StatisticsApi\n\n1. Requests statistics reports for each country [`create_statistics_report`](docs/StatisticsApi.md#create_statistics_report)\n\n## Auth\n\n**Type**: HTTP basic authentication\n\nRead the [external getting-started article](https://messente.com/documentation/getting-started) which explains API keys and Sender ID logic.\n\n## Getting started: sending an omnimessage\n\n```python\nfrom pprint import pprint\nfrom messente_api import (\n    OmnimessageApi,\n    Omnimessage,\n    OmnimessageMessagesInner,\n    Configuration,\n    ApiClient,\n    Viber,\n    SMS,\n    WhatsApp,\n    WhatsAppParameter,\n    WhatsAppComponent,\n    WhatsAppTemplate,\n    WhatsAppLanguage,\n)\nfrom messente_api.rest import ApiException\n\n# API information from https://dashboard.messente.com/api-settings\nconfiguration = Configuration()\nconfiguration.username = '\u003cMESSENTE_API_USERNAME\u003e'\nconfiguration.password = '\u003cMESSENTE_API_PASSWORD\u003e'\n\n# create an instance of the API class\napi_instance = OmnimessageApi(ApiClient(configuration))\n\nwa_parameters = [WhatsAppParameter(type='text', text='hello whatsapp')]\nwa_component = WhatsAppComponent(type='body', parameters=wa_parameters)\nwa_template = WhatsAppTemplate(name='\u003ctemplate name\u003e', language=WhatsAppLanguage(code='\u003clanguage_code\u003e'), components=[wa_component])\nwhatsapp = WhatsApp(sender='\u003csender name (optional)\u003e', template=wa_template)\nwhatsapp_inner = OmnimessageMessagesInner(whatsapp)\n\nviber = Viber(\n    sender='\u003csender name (optional)\u003e',\n    text='hello python',\n)\nviber_inner = OmnimessageMessagesInner(viber)\n\nsms = SMS(\n    sender='\u003csender name (optional)\u003e',\n    text='hello python',\n)\nsms_inner = OmnimessageMessagesInner(sms)\n\n# The order of items in 'messages' specifies the sending order:\n# WhatsApp will be attempted first,\n# then Viber,\n# and SMS as the final fallback\nomnimessage = Omnimessage(\n    messages=(whatsapp_inner, viber_inner, sms_inner),\n    to='\u003crecipient_phone_number\u003e',\n)  # Omnimessage | Omnimessage object that is to be sent\n\ntry:\n    # Sends an Omnimessage\n    response = api_instance.send_omnimessage(omnimessage)\n    print(\n        'Successfully sent Omnimessage with id: %s that consists of the following messages:' % response.omnimessage_id\n    )\n    for message in response.messages:\n        pprint(message)\nexcept ApiException as exception:\n    print('Exception when sending an omnimessage: %s\\n' % exception)\n\n```\n\n## License\n\n[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html)\n\n## Terms\n\n[https://messente.com/terms-and-conditions](https://messente.com/terms-and-conditions)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmessente%2Fmessente-api-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmessente%2Fmessente-api-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmessente%2Fmessente-api-python/lists"}