Zalo Mini App Open API SDK for Python
A Python SDK for server-to-server integration with Zalo Mini App Open API.
What is this SDK?
This SDK provides automated management and development tools for Zalo Mini Apps through server-to-server API integration. It is designed for Zalo Mini App solution partners.
With this SDK, you can create, deploy, publish, and manage Mini Apps programmatically without manual intervention through the web console.
Requirements
- Python 3.10 or higher
- API Key from Zalo Mini App
- Zalo App ID
Install
pip install zmp_openapi
Development version
pip install git+https://github.com/thedtvn/zmp-openapi.git
Sync client
from zmp_openapi import OpenAPIClient
client = OpenAPIClient(api_key="YOUR_API_KEY", zalo_app_id="YOUR_APP_ID")
apps = client.get_mini_apps({"offset": 0, "limit": 10})
print(apps)
Async client
import asyncio
from zmp_openapi import AsyncOpenAPIClient
async def main() -> None:
client = AsyncOpenAPIClient(api_key="YOUR_API_KEY", zalo_app_id="YOUR_APP_ID")
apps = await client.get_mini_apps({"offset": 0, "limit": 10})
print(apps)
asyncio.run(main())
Module-level helpers
from zmp_openapi import openapi
apps = openapi.get_apps(offset=0, limit=10)
Documentation
- Local docs landing page:
docs/templates/preload/index.html
FAQ
What can this SDK do? It can create Mini Apps, deploy new versions, publish apps to production, list apps and versions, and verify webhook signatures. All operations are automated through server-to-server API calls.
Is this SDK official? This SDK is built based on the official Zalo Mini App Open API documentation available at https://miniapp.zaloplatforms.com/documents/open-apis/partner/.
Can I use this for both sync and async operations?
Yes. The SDK provides both OpenAPIClient for synchronous operations and AsyncOpenAPIClient for asynchronous operations using aiohttp.
Notes
- Responses return raw JSON or raw text when JSON is not available.
- HTTP errors raise exceptions (requests or aiohttp) on non-2xx responses.
Metadata
Release files for zmp-openapi 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zmp_openapi-1.0.0.tar.gz | 12.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zmp_openapi-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.7 kB
Release files / zmp_openapi-1.0.0.tar.gz
| Download URL | zmp_openapi-1.0.0.tar.gz |
|---|---|
| Size | 12.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
453a910025247b0b9e61ff1ee7d83fa360242398767104d619e5215084a35449
|
|
BLAKE2b-256 checksum How to use checksums |
36076e766d070ea7b02c70746cf8f3579d408dbfb7d18e9b7148ecdd62e35539
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / zmp_openapi-1.0.0-py3-none-any.whl
| Download URL | zmp_openapi-1.0.0-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
846714170a3195028bbc765425d86db558711b4b1ac4c8465e8c13803e6520a8
|
|
BLAKE2b-256 checksum How to use checksums |
a1fbd51be151a0a0219b9502a182d408cd0119b682f276c7afa8554276220745
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|