## Cài đặt thư viện SDK Notify
### Sừ dụng:
- Link lấy thông tin field mapping template chuẩn hoá Notify-SDK: https://docs.google.com/spreadsheets/d/1qPD_ovHt_p9HL5P9K8XOgeJjFGeduKVdM6ImmXuJo0c/edit?usp=sharing
#### 1. Khởi tạo SDK:
```python
from mobio.sdks.notify import MobioNotifySDK
# Khởi tạo cấu hình chung SDK
MobioNotifySDK().config(
source="" # source module (nguồn gửi từ module nào) (Ex: 'sale', 'admin')
)
```
#### 2.Gửi thông báo toàn kênh ( Mobile App, Browser, Web(in-app), Email )
```python
"""
Gửi thông báo toàn kênh
:param merchant_id: Id thương hiệu
:param key_config: kiểu thông báo (được cấu hình trên admin) (ex: 'jb_create_by_me_end',
'jb_estimate_target_size')
:param account_ids: Danh sách id nhân viên (id nhân viên của module ADMIN) (Nếu không truyền lên sẽ mặc định
lấy những ID nhân viên nào bật cấu hình thông báo)
:param kwargs: Thông tin các field nội dung thông báo toàn kênh định dạng key=value
Truyền định dạng send_message_notify(merchant_id, key_config, account_ids, deal_count=5) lên hàm xử lý.
SDK sẽ tự bắt thông tin field để thực hiện replace theo nội dung đã được cấu hình trên Admin.
EX: title: Thông báo đơn hàng tồn quá **deal_count** đơn.
content: Thông báo đơn hàng tồn quá **deal_count** đơn.
Vui lòng phân công cho nhân viên xử lý.
- Field chuẩn hoá gửi kênh email truyền thêm các field sau(vì là kwargs vui lòng truyền đúng định dạng key=value):
+ email_sender_name: "" Tên người gửi/ nguồn gửi (VD: default: 'Mobio Alert')
+ email_file_alert: boolean (Cấu hình nút tải file/ xem chi tiết (không bắt buộc), custom nội dung thông báo bắt buộc gửi
email_file_alert=False(có button) và ngược lại bằng True thì sẽ không có)
+ email_button_name: string (Tên button email, mặc định ko truyền lên filed này sẽ có giá trị = "Tải file",
email_file_alert = True bỏ qua field này)
+ email_url_file: string (đường dẫn khi submit vào button email; email_file_alert = True bỏ qua field này)
+ email_subject: string (nếu muốn tự custom tiêu đề email)
+ email_content: string (nếu muốn tự custom nội dung email)
+ other_emails: thông tin danh sách email muốn gửi thêm ngoài thông tin account_ids (
là một list string email, ex: ["luongnd@mobio.io", "luongtest@gmail.com"])
- Field chuẩn hoá gửi kênh socket truyền thêm các field sau (vì là kwargs vui lòng truyền đúng định dạng key=value):
+ socket_title: string (Nếu muốn tự custom tiêu đề gửi đến các kênh App, Browser, Web)
+ socket_content: string (Nếu muốn tự custom nội dung gửi đến các kênh App, Browser, Web)
'''
EX:
+ Gửi thông báo "Thông báo bạn được phân công cuộc hội thoại mới"
- Nội dung email:
- email_subject: Bạn có một cuộc hội thoại mới
- email_content: Bạn có một cuộc hội thoại mới **conversation_name** vào **time** trước
- Nội dung kênh socket(app, mobile, browser):
- socket_title: Bạn có cuộc hội thoại mới
- socket_content: Bạn có một cuộc hội thoại mới **conversation_name** vào **time** trước
'''
"""
MobioNotifySDK().send_message_notify(
merchant_id="", key_config="",
account_ids=["uuid1", "uuid2"],
conversation_name="", # field trong kwargs
time="" # field trong kwargs
)
```
#### 3. Gửi thông báo socket đến các kênh Mobile App, Browser, Web(In-app)
```python
"""
:param merchant_id: ID thương hiệu cần gửi thông báo
:param key_config: kiểu thông báo (được cấu hình trên admin) (ex: 'jb_create_by_me_end',
'jb_estimate_target_size')
:param account_ids: Danh sách id nhân viên (id nhân viên của module ADMIN) (Nếu không truyền lên sẽ mặc định
lấy những ID nhân viên nào bật cấu hình thông báo)
:param kwargs: Thông tin các field nội dung thông báo toàn kênh định dạng key=value
Truyền định dạng send_message_notify_socket(merchant_id, key_config, account_ids, deal_count=5) lên hàm xử lý.
SDK sẽ tự bắt thông tin field để thực hiện replace theo nội dung đã được cấu hình trên Admin.
EX: title: Thông báo đơn hàng tồn quá **deal_count** đơn.
content: Thông báo đơn hàng tồn quá **deal_count** đơn.
Vui lòng phân công cho nhân viên xử lý.
- Field chuẩn hoá gửi kênh socket truyền thêm các field sau (vì là kwargs vui lòng truyền đúng định dạng key=value):
+ title: string (Nếu muốn tự custom tiêu đề gửi đến các kênh App, Browser, Web)
+ content: string (Nếu muốn tự custom nội dung gửi đến các kênh App, Browser, Web)
"""
MobioNotifySDK().send_message_notify_socket(
merchant_id="", key_config="",
account_ids=["uuid1", "uuid2"],
conversation_name="", # field trong kwargs
time="" # field trong kwargs
)
# Tự custom nội dung thông báo
MobioNotifySDK().send_message_notify_socket(
merchant_id="", key_config="",
account_ids=["uuid1", "uuid2"],
conversation_name="", # field trong kwargs
time="", # field trong kwargs
title="Test gửi thông báo",
content="Nội dung thông báo"
)
```
#### 4. Gửi email thông báo
```python
"""
Hàm thực hiện việc gửi email thông báo
:param merchant_id: ID thương hiệu cần gửi thông báo
:param key_config: kiểu thông báo (được cấu hình trên admin) (ex: 'jb_create_by_me_end',
'jb_estimate_target_size')
:param account_ids: Danh sách id nhân viên (id nhân viên của module ADMIN) (Nếu không truyền lên sẽ mặc định
lấy những ID nhân viên nào bật cấu hình thông báo)
:param kwargs: Thông tin các field nội dung thông báo toàn kênh định dạng key=value
Truyền định dạng send_message_notify_email(merchant_id, key_config, account_ids, deal_count=5) lên hàm xử lý.
SDK sẽ tự bắt thông tin field để thực hiện replace theo nội dung đã được cấu hình trên Admin.
EX: title: Thông báo đơn hàng tồn quá **deal_count** đơn.
content: Thông báo đơn hàng tồn quá **deal_count** đơn.
Vui lòng phân công cho nhân viên xử lý.
- Field chuẩn hoá gửi kênh email truyền thêm các field sau(vì là kwargs
vui lòng truyền đúng định dạng key=value):
+ sender_name: "Tên người gửi/ nguồn gửi (VD: default: 'Mobio Alert')"
+ file_alert: boolean (Cấu hình nút tải file/ xem chi tiết (không bắt buộc), custom nội dung thông báo bắt buộc gửi
file_alert=False(có button) và ngược lại bằng True thì sẽ không có)
+ button_name: string (Tên button email, mặc định ko truyền lên filed này sẽ có giá trị = "Tải file",
email_file_alert = True bỏ qua field này)
+ url_file: string (đường dẫn khi submit vào button email; email_file_alert = True bỏ qua field này)
+ subject: string (nếu muốn tự custom tiêu đề email)
+ content: string html (nếu muốn tự custom nội dung email) (chỉ là nội dung bên trong,
không chưa cả khung template)
+ other_emails: thông tin danh sách email muốn gửi thêm ngoài thông tin account_ids (
là một list string email, ex: ["luongnd@mobio.io", "luongtest@gmail.com"])
"""
MobioNotifySDK().send_message_notify_email(
merchant_id="", key_config="",
account_ids=["uuid1", "uuid2"],
email_file_alert=False,
conversation_name="", # field trong kwargs
time="" # field trong kwargs
)
# Tự custom nội dung thông báo
MobioNotifySDK().send_message_notify_email(
merchant_id="", key_config="",
account_ids=["uuid1", "uuid2"],
conversation_name="", # field trong kwargs
time="", # field trong kwargs
subject="Test gửi thông báo",
content="<p>Nội dung thông báo</p>"
)
```
#### 5. Gửi thông báo Mobile App qua đầu Push ID (Firebase Notification)
```python
"""
:param merchant_id: ID thương hiệu cần gửi thông báo
:param key_config: kiểu thông báo (được cấu hình trên admin) (ex: 'jb_create_by_me_end',
'jb_estimate_target_size')
:param account_ids: Danh sách id nhân viên (id nhân viên của module ADMIN) (Nếu không truyền lên sẽ mặc định
lấy những ID nhân viên nào bật cấu hình thông báo)
:param kwargs: Thông tin các field nội dung thông báo toàn kênh định dạng key=value
Truyền định dạng send_message_notify_push_id_mobile_app(merchant_id, key_config, account_ids, deal_count=5) lên hàm xử lý.
SDK sẽ tự bắt thông tin field để thực hiện replace theo nội dung đã được cấu hình trên Admin.
EX: title: Thông báo đơn hàng tồn quá **deal_count** đơn.
content: Thông báo đơn hàng tồn quá **deal_count** đơn.
Vui lòng phân công cho nhân viên xử lý.
- Field chuẩn hoá gửi kênh push_id mobile app truyền thêm các field sau (vì là kwargs vui lòng truyền đúng định dạng key=value):
+ title: string (Nếu muốn tự custom tiêu đề gửi)
+ content: string (Nếu muốn tự custom nội dung gửi)
"""
MobioNotifySDK().send_message_notify_push_id_mobile_app(
merchant_id="", key_config="",
account_ids=["uuid1", "uuid2"],
conversation_name="", # field trong kwargs
time="" # field trong kwargs
)
# Tự custom nội dung thông báo
MobioNotifySDK().send_message_notify_push_id_mobile_app(
merchant_id="", key_config="",
account_ids=["uuid1", "uuid2"],
conversation_name="", # field trong kwargs
time="", # field trong kwargs
title="Test gửi thông báo",
content="Nội dung thông báo"
)
```
#### 6. Một số gợi ý nhỏ về việc gửi danh sách giá trị *kwargs
```python
'''
Nếu trường hợp có nhiều field gía trị để truyền vào **kwargs ta có thể dùng cách sau
để rút gọn việc đẩy các gía trị vào hàm gửi thông báo giúp clear code hơn
EX: Gửi thông báo đơn hàng mới.
- Gửi thông tin thông báo có thể phải gửi thêm cả các thông tin như: ID nhân viên phân công,
tên đơn hàng, ID quy trình bán ....
)
'''
# Cách chưa rút gọn
MobioNotifySDK().send_message_notify_push_id_mobile_app(
merchant_id="", key_config="sale_add_deal",
account_ids=["uuid1", "uuid2"],
assignee_id="", # field trong kwargs
deal_name="", # field trong kwargs
sale_process_id=""
)
# Cách rút gọn
deal_info = {
"assignee_id": "",
"deal_name": "",
"sale_process_id": "",
"created_time": ""
}
MobioNotifySDK().send_message_notify_push_id_mobile_app(
merchant_id="", key_config="sale_add_deal",
account_ids=["uuid1", "uuid2"],
**deal_info
)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/mobiovn",
"name": "mobio-notify-sdk-test",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": "",
"keywords": "mobio,notify,contact spam",
"author": "MOBIO",
"author_email": "contact@mobio.vn",
"download_url": "https://files.pythonhosted.org/packages/95/3c/1fe6001ad8dce59d49104d56af0cbea0999a477050e798b07410097a9fd2/mobio-notify-sdk-test-1.0.12.tar.gz",
"platform": null,
"description": "## C\u00e0i \u0111\u1eb7t th\u01b0 vi\u1ec7n SDK Notify\n\n### S\u1eeb d\u1ee5ng:\n\n- Link l\u1ea5y th\u00f4ng tin field mapping template chu\u1ea9n ho\u00e1 Notify-SDK: https://docs.google.com/spreadsheets/d/1qPD_ovHt_p9HL5P9K8XOgeJjFGeduKVdM6ImmXuJo0c/edit?usp=sharing\n#### 1. Kh\u1edfi t\u1ea1o SDK:\n\n```python\nfrom mobio.sdks.notify import MobioNotifySDK\n\n# Kh\u1edfi t\u1ea1o c\u1ea5u h\u00ecnh chung SDK\nMobioNotifySDK().config(\n source=\"\" # source module (ngu\u1ed3n g\u1eedi t\u1eeb module n\u00e0o) (Ex: 'sale', 'admin')\n)\n\n```\n\n#### 2.G\u1eedi th\u00f4ng b\u00e1o to\u00e0n k\u00eanh ( Mobile App, Browser, Web(in-app), Email )\n\n```python\n\"\"\"\n G\u1eedi th\u00f4ng b\u00e1o to\u00e0n k\u00eanh\n :param merchant_id: Id th\u01b0\u01a1ng hi\u1ec7u\n :param key_config: ki\u1ec3u th\u00f4ng b\u00e1o (\u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh tr\u00ean admin) (ex: 'jb_create_by_me_end',\n 'jb_estimate_target_size')\n :param account_ids: Danh s\u00e1ch id nh\u00e2n vi\u00ean (id nh\u00e2n vi\u00ean c\u1ee7a module ADMIN) (N\u1ebfu kh\u00f4ng truy\u1ec1n l\u00ean s\u1ebd m\u1eb7c \u0111\u1ecbnh\n l\u1ea5y nh\u1eefng ID nh\u00e2n vi\u00ean n\u00e0o b\u1eadt c\u1ea5u h\u00ecnh th\u00f4ng b\u00e1o)\n :param kwargs: Th\u00f4ng tin c\u00e1c field n\u1ed9i dung th\u00f4ng b\u00e1o to\u00e0n k\u00eanh \u0111\u1ecbnh d\u1ea1ng key=value\n Truy\u1ec1n \u0111\u1ecbnh d\u1ea1ng send_message_notify(merchant_id, key_config, account_ids, deal_count=5) l\u00ean h\u00e0m x\u1eed l\u00fd.\n SDK s\u1ebd t\u1ef1 b\u1eaft th\u00f4ng tin field \u0111\u1ec3 th\u1ef1c hi\u1ec7n replace theo n\u1ed9i dung \u0111\u00e3 \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh tr\u00ean Admin.\n EX: title: Th\u00f4ng b\u00e1o \u0111\u01a1n h\u00e0ng t\u1ed3n qu\u00e1 **deal_count** \u0111\u01a1n.\n content: Th\u00f4ng b\u00e1o \u0111\u01a1n h\u00e0ng t\u1ed3n qu\u00e1 **deal_count** \u0111\u01a1n.\n Vui l\u00f2ng ph\u00e2n c\u00f4ng cho nh\u00e2n vi\u00ean x\u1eed l\u00fd.\n - Field chu\u1ea9n ho\u00e1 g\u1eedi k\u00eanh email truy\u1ec1n th\u00eam c\u00e1c field sau(v\u00ec l\u00e0 kwargs vui l\u00f2ng truy\u1ec1n \u0111\u00fang \u0111\u1ecbnh d\u1ea1ng key=value):\n + email_sender_name: \"\" T\u00ean ng\u01b0\u1eddi g\u1eedi/ ngu\u1ed3n g\u1eedi (VD: default: 'Mobio Alert')\n + email_file_alert: boolean (C\u1ea5u h\u00ecnh n\u00fat t\u1ea3i file/ xem chi ti\u1ebft (kh\u00f4ng b\u1eaft bu\u1ed9c), custom n\u1ed9i dung th\u00f4ng b\u00e1o b\u1eaft bu\u1ed9c g\u1eedi\n email_file_alert=False(c\u00f3 button) v\u00e0 ng\u01b0\u1ee3c l\u1ea1i b\u1eb1ng True th\u00ec s\u1ebd kh\u00f4ng c\u00f3)\n + email_button_name: string (T\u00ean button email, m\u1eb7c \u0111\u1ecbnh ko truy\u1ec1n l\u00ean filed n\u00e0y s\u1ebd c\u00f3 gi\u00e1 tr\u1ecb = \"T\u1ea3i file\",\n email_file_alert = True b\u1ecf qua field n\u00e0y)\n + email_url_file: string (\u0111\u01b0\u1eddng d\u1eabn khi submit v\u00e0o button email; email_file_alert = True b\u1ecf qua field n\u00e0y)\n + email_subject: string (n\u1ebfu mu\u1ed1n t\u1ef1 custom ti\u00eau \u0111\u1ec1 email)\n + email_content: string (n\u1ebfu mu\u1ed1n t\u1ef1 custom n\u1ed9i dung email)\n + other_emails: th\u00f4ng tin danh s\u00e1ch email mu\u1ed1n g\u1eedi th\u00eam ngo\u00e0i th\u00f4ng tin account_ids (\n l\u00e0 m\u1ed9t list string email, ex: [\"luongnd@mobio.io\", \"luongtest@gmail.com\"])\n - Field chu\u1ea9n ho\u00e1 g\u1eedi k\u00eanh socket truy\u1ec1n th\u00eam c\u00e1c field sau (v\u00ec l\u00e0 kwargs vui l\u00f2ng truy\u1ec1n \u0111\u00fang \u0111\u1ecbnh d\u1ea1ng key=value):\n + socket_title: string (N\u1ebfu mu\u1ed1n t\u1ef1 custom ti\u00eau \u0111\u1ec1 g\u1eedi \u0111\u1ebfn c\u00e1c k\u00eanh App, Browser, Web)\n + socket_content: string (N\u1ebfu mu\u1ed1n t\u1ef1 custom n\u1ed9i dung g\u1eedi \u0111\u1ebfn c\u00e1c k\u00eanh App, Browser, Web)\n '''\n EX:\n + G\u1eedi th\u00f4ng b\u00e1o \"Th\u00f4ng b\u00e1o b\u1ea1n \u0111\u01b0\u1ee3c ph\u00e2n c\u00f4ng cu\u1ed9c h\u1ed9i tho\u1ea1i m\u1edbi\"\n - N\u1ed9i dung email:\n - email_subject: B\u1ea1n c\u00f3 m\u1ed9t cu\u1ed9c h\u1ed9i tho\u1ea1i m\u1edbi\n - email_content: B\u1ea1n c\u00f3 m\u1ed9t cu\u1ed9c h\u1ed9i tho\u1ea1i m\u1edbi **conversation_name** v\u00e0o **time** tr\u01b0\u1edbc\n - N\u1ed9i dung k\u00eanh socket(app, mobile, browser):\n - socket_title: B\u1ea1n c\u00f3 cu\u1ed9c h\u1ed9i tho\u1ea1i m\u1edbi\n - socket_content: B\u1ea1n c\u00f3 m\u1ed9t cu\u1ed9c h\u1ed9i tho\u1ea1i m\u1edbi **conversation_name** v\u00e0o **time** tr\u01b0\u1edbc\n '''\n\"\"\"\n\nMobioNotifySDK().send_message_notify(\n merchant_id=\"\", key_config=\"\",\n account_ids=[\"uuid1\", \"uuid2\"],\n conversation_name=\"\", # field trong kwargs\n time=\"\" # field trong kwargs\n)\n```\n\n#### 3. G\u1eedi th\u00f4ng b\u00e1o socket \u0111\u1ebfn c\u00e1c k\u00eanh Mobile App, Browser, Web(In-app)\n\n```python\n\"\"\"\n:param merchant_id: ID th\u01b0\u01a1ng hi\u1ec7u c\u1ea7n g\u1eedi th\u00f4ng b\u00e1o\n :param key_config: ki\u1ec3u th\u00f4ng b\u00e1o (\u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh tr\u00ean admin) (ex: 'jb_create_by_me_end',\n 'jb_estimate_target_size')\n :param account_ids: Danh s\u00e1ch id nh\u00e2n vi\u00ean (id nh\u00e2n vi\u00ean c\u1ee7a module ADMIN) (N\u1ebfu kh\u00f4ng truy\u1ec1n l\u00ean s\u1ebd m\u1eb7c \u0111\u1ecbnh\n l\u1ea5y nh\u1eefng ID nh\u00e2n vi\u00ean n\u00e0o b\u1eadt c\u1ea5u h\u00ecnh th\u00f4ng b\u00e1o)\n :param kwargs: Th\u00f4ng tin c\u00e1c field n\u1ed9i dung th\u00f4ng b\u00e1o to\u00e0n k\u00eanh \u0111\u1ecbnh d\u1ea1ng key=value\n Truy\u1ec1n \u0111\u1ecbnh d\u1ea1ng send_message_notify_socket(merchant_id, key_config, account_ids, deal_count=5) l\u00ean h\u00e0m x\u1eed l\u00fd.\n SDK s\u1ebd t\u1ef1 b\u1eaft th\u00f4ng tin field \u0111\u1ec3 th\u1ef1c hi\u1ec7n replace theo n\u1ed9i dung \u0111\u00e3 \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh tr\u00ean Admin.\n EX: title: Th\u00f4ng b\u00e1o \u0111\u01a1n h\u00e0ng t\u1ed3n qu\u00e1 **deal_count** \u0111\u01a1n.\n content: Th\u00f4ng b\u00e1o \u0111\u01a1n h\u00e0ng t\u1ed3n qu\u00e1 **deal_count** \u0111\u01a1n.\n Vui l\u00f2ng ph\u00e2n c\u00f4ng cho nh\u00e2n vi\u00ean x\u1eed l\u00fd.\n \n - Field chu\u1ea9n ho\u00e1 g\u1eedi k\u00eanh socket truy\u1ec1n th\u00eam c\u00e1c field sau (v\u00ec l\u00e0 kwargs vui l\u00f2ng truy\u1ec1n \u0111\u00fang \u0111\u1ecbnh d\u1ea1ng key=value):\n + title: string (N\u1ebfu mu\u1ed1n t\u1ef1 custom ti\u00eau \u0111\u1ec1 g\u1eedi \u0111\u1ebfn c\u00e1c k\u00eanh App, Browser, Web)\n + content: string (N\u1ebfu mu\u1ed1n t\u1ef1 custom n\u1ed9i dung g\u1eedi \u0111\u1ebfn c\u00e1c k\u00eanh App, Browser, Web)\n\"\"\"\n\n\nMobioNotifySDK().send_message_notify_socket(\n merchant_id=\"\", key_config=\"\",\n account_ids=[\"uuid1\", \"uuid2\"],\n conversation_name=\"\", # field trong kwargs\n time=\"\" # field trong kwargs\n)\n\n# T\u1ef1 custom n\u1ed9i dung th\u00f4ng b\u00e1o\nMobioNotifySDK().send_message_notify_socket(\n merchant_id=\"\", key_config=\"\",\n account_ids=[\"uuid1\", \"uuid2\"],\n conversation_name=\"\", # field trong kwargs\n time=\"\", # field trong kwargs\n title=\"Test g\u1eedi th\u00f4ng b\u00e1o\",\n content=\"N\u1ed9i dung th\u00f4ng b\u00e1o\"\n)\n\n```\n\n#### 4. G\u1eedi email th\u00f4ng b\u00e1o\n\n```python\n\"\"\"\n H\u00e0m th\u1ef1c hi\u1ec7n vi\u1ec7c g\u1eedi email th\u00f4ng b\u00e1o\n \n :param merchant_id: ID th\u01b0\u01a1ng hi\u1ec7u c\u1ea7n g\u1eedi th\u00f4ng b\u00e1o\n :param key_config: ki\u1ec3u th\u00f4ng b\u00e1o (\u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh tr\u00ean admin) (ex: 'jb_create_by_me_end',\n 'jb_estimate_target_size')\n :param account_ids: Danh s\u00e1ch id nh\u00e2n vi\u00ean (id nh\u00e2n vi\u00ean c\u1ee7a module ADMIN) (N\u1ebfu kh\u00f4ng truy\u1ec1n l\u00ean s\u1ebd m\u1eb7c \u0111\u1ecbnh\n l\u1ea5y nh\u1eefng ID nh\u00e2n vi\u00ean n\u00e0o b\u1eadt c\u1ea5u h\u00ecnh th\u00f4ng b\u00e1o)\n :param kwargs: Th\u00f4ng tin c\u00e1c field n\u1ed9i dung th\u00f4ng b\u00e1o to\u00e0n k\u00eanh \u0111\u1ecbnh d\u1ea1ng key=value\n Truy\u1ec1n \u0111\u1ecbnh d\u1ea1ng send_message_notify_email(merchant_id, key_config, account_ids, deal_count=5) l\u00ean h\u00e0m x\u1eed l\u00fd.\n SDK s\u1ebd t\u1ef1 b\u1eaft th\u00f4ng tin field \u0111\u1ec3 th\u1ef1c hi\u1ec7n replace theo n\u1ed9i dung \u0111\u00e3 \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh tr\u00ean Admin.\n EX: title: Th\u00f4ng b\u00e1o \u0111\u01a1n h\u00e0ng t\u1ed3n qu\u00e1 **deal_count** \u0111\u01a1n.\n content: Th\u00f4ng b\u00e1o \u0111\u01a1n h\u00e0ng t\u1ed3n qu\u00e1 **deal_count** \u0111\u01a1n.\n Vui l\u00f2ng ph\u00e2n c\u00f4ng cho nh\u00e2n vi\u00ean x\u1eed l\u00fd.\n - Field chu\u1ea9n ho\u00e1 g\u1eedi k\u00eanh email truy\u1ec1n th\u00eam c\u00e1c field sau(v\u00ec l\u00e0 kwargs\n vui l\u00f2ng truy\u1ec1n \u0111\u00fang \u0111\u1ecbnh d\u1ea1ng key=value):\n + sender_name: \"T\u00ean ng\u01b0\u1eddi g\u1eedi/ ngu\u1ed3n g\u1eedi (VD: default: 'Mobio Alert')\"\n + file_alert: boolean (C\u1ea5u h\u00ecnh n\u00fat t\u1ea3i file/ xem chi ti\u1ebft (kh\u00f4ng b\u1eaft bu\u1ed9c), custom n\u1ed9i dung th\u00f4ng b\u00e1o b\u1eaft bu\u1ed9c g\u1eedi\n file_alert=False(c\u00f3 button) v\u00e0 ng\u01b0\u1ee3c l\u1ea1i b\u1eb1ng True th\u00ec s\u1ebd kh\u00f4ng c\u00f3)\n + button_name: string (T\u00ean button email, m\u1eb7c \u0111\u1ecbnh ko truy\u1ec1n l\u00ean filed n\u00e0y s\u1ebd c\u00f3 gi\u00e1 tr\u1ecb = \"T\u1ea3i file\",\n email_file_alert = True b\u1ecf qua field n\u00e0y)\n + url_file: string (\u0111\u01b0\u1eddng d\u1eabn khi submit v\u00e0o button email; email_file_alert = True b\u1ecf qua field n\u00e0y)\n + subject: string (n\u1ebfu mu\u1ed1n t\u1ef1 custom ti\u00eau \u0111\u1ec1 email)\n + content: string html (n\u1ebfu mu\u1ed1n t\u1ef1 custom n\u1ed9i dung email) (ch\u1ec9 l\u00e0 n\u1ed9i dung b\u00ean trong,\n kh\u00f4ng ch\u01b0a c\u1ea3 khung template)\n + other_emails: th\u00f4ng tin danh s\u00e1ch email mu\u1ed1n g\u1eedi th\u00eam ngo\u00e0i th\u00f4ng tin account_ids (\n l\u00e0 m\u1ed9t list string email, ex: [\"luongnd@mobio.io\", \"luongtest@gmail.com\"])\n\"\"\"\n\nMobioNotifySDK().send_message_notify_email(\n merchant_id=\"\", key_config=\"\",\n account_ids=[\"uuid1\", \"uuid2\"],\n email_file_alert=False,\n conversation_name=\"\", # field trong kwargs\n time=\"\" # field trong kwargs\n)\n\n# T\u1ef1 custom n\u1ed9i dung th\u00f4ng b\u00e1o\nMobioNotifySDK().send_message_notify_email(\n merchant_id=\"\", key_config=\"\",\n account_ids=[\"uuid1\", \"uuid2\"],\n conversation_name=\"\", # field trong kwargs\n time=\"\", # field trong kwargs\n subject=\"Test g\u1eedi th\u00f4ng b\u00e1o\",\n content=\"<p>N\u1ed9i dung th\u00f4ng b\u00e1o</p>\"\n)\n```\n\n#### 5. G\u1eedi th\u00f4ng b\u00e1o Mobile App qua \u0111\u1ea7u Push ID (Firebase Notification)\n\n```python\n\"\"\"\n:param merchant_id: ID th\u01b0\u01a1ng hi\u1ec7u c\u1ea7n g\u1eedi th\u00f4ng b\u00e1o\n:param key_config: ki\u1ec3u th\u00f4ng b\u00e1o (\u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh tr\u00ean admin) (ex: 'jb_create_by_me_end',\n'jb_estimate_target_size')\n:param account_ids: Danh s\u00e1ch id nh\u00e2n vi\u00ean (id nh\u00e2n vi\u00ean c\u1ee7a module ADMIN) (N\u1ebfu kh\u00f4ng truy\u1ec1n l\u00ean s\u1ebd m\u1eb7c \u0111\u1ecbnh\nl\u1ea5y nh\u1eefng ID nh\u00e2n vi\u00ean n\u00e0o b\u1eadt c\u1ea5u h\u00ecnh th\u00f4ng b\u00e1o)\n:param kwargs: Th\u00f4ng tin c\u00e1c field n\u1ed9i dung th\u00f4ng b\u00e1o to\u00e0n k\u00eanh \u0111\u1ecbnh d\u1ea1ng key=value\nTruy\u1ec1n \u0111\u1ecbnh d\u1ea1ng send_message_notify_push_id_mobile_app(merchant_id, key_config, account_ids, deal_count=5) l\u00ean h\u00e0m x\u1eed l\u00fd.\nSDK s\u1ebd t\u1ef1 b\u1eaft th\u00f4ng tin field \u0111\u1ec3 th\u1ef1c hi\u1ec7n replace theo n\u1ed9i dung \u0111\u00e3 \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh tr\u00ean Admin.\nEX: title: Th\u00f4ng b\u00e1o \u0111\u01a1n h\u00e0ng t\u1ed3n qu\u00e1 **deal_count** \u0111\u01a1n.\n content: Th\u00f4ng b\u00e1o \u0111\u01a1n h\u00e0ng t\u1ed3n qu\u00e1 **deal_count** \u0111\u01a1n.\n Vui l\u00f2ng ph\u00e2n c\u00f4ng cho nh\u00e2n vi\u00ean x\u1eed l\u00fd.\n\n- Field chu\u1ea9n ho\u00e1 g\u1eedi k\u00eanh push_id mobile app truy\u1ec1n th\u00eam c\u00e1c field sau (v\u00ec l\u00e0 kwargs vui l\u00f2ng truy\u1ec1n \u0111\u00fang \u0111\u1ecbnh d\u1ea1ng key=value):\n + title: string (N\u1ebfu mu\u1ed1n t\u1ef1 custom ti\u00eau \u0111\u1ec1 g\u1eedi)\n + content: string (N\u1ebfu mu\u1ed1n t\u1ef1 custom n\u1ed9i dung g\u1eedi)\n\"\"\"\n\nMobioNotifySDK().send_message_notify_push_id_mobile_app(\n merchant_id=\"\", key_config=\"\",\n account_ids=[\"uuid1\", \"uuid2\"],\n conversation_name=\"\", # field trong kwargs\n time=\"\" # field trong kwargs\n)\n\n# T\u1ef1 custom n\u1ed9i dung th\u00f4ng b\u00e1o\nMobioNotifySDK().send_message_notify_push_id_mobile_app(\n merchant_id=\"\", key_config=\"\",\n account_ids=[\"uuid1\", \"uuid2\"],\n conversation_name=\"\", # field trong kwargs\n time=\"\", # field trong kwargs\n title=\"Test g\u1eedi th\u00f4ng b\u00e1o\",\n content=\"N\u1ed9i dung th\u00f4ng b\u00e1o\"\n)\n```\n\n#### 6. M\u1ed9t s\u1ed1 g\u1ee3i \u00fd nh\u1ecf v\u1ec1 vi\u1ec7c g\u1eedi danh s\u00e1ch gi\u00e1 tr\u1ecb *kwargs\n```python\n'''\nN\u1ebfu tr\u01b0\u1eddng h\u1ee3p c\u00f3 nhi\u1ec1u field g\u00eda tr\u1ecb \u0111\u1ec3 truy\u1ec1n v\u00e0o **kwargs ta c\u00f3 th\u1ec3 d\u00f9ng c\u00e1ch sau\n\u0111\u1ec3 r\u00fat g\u1ecdn vi\u1ec7c \u0111\u1ea9y c\u00e1c g\u00eda tr\u1ecb v\u00e0o h\u00e0m g\u1eedi th\u00f4ng b\u00e1o gi\u00fap clear code h\u01a1n\n\nEX: G\u1eedi th\u00f4ng b\u00e1o \u0111\u01a1n h\u00e0ng m\u1edbi.\n - G\u1eedi th\u00f4ng tin th\u00f4ng b\u00e1o c\u00f3 th\u1ec3 ph\u1ea3i g\u1eedi th\u00eam c\u1ea3 c\u00e1c th\u00f4ng tin nh\u01b0: ID nh\u00e2n vi\u00ean ph\u00e2n c\u00f4ng,\n t\u00ean \u0111\u01a1n h\u00e0ng, ID quy tr\u00ecnh b\u00e1n ....\n)\n'''\n\n# C\u00e1ch ch\u01b0a r\u00fat g\u1ecdn\nMobioNotifySDK().send_message_notify_push_id_mobile_app(\n merchant_id=\"\", key_config=\"sale_add_deal\",\n account_ids=[\"uuid1\", \"uuid2\"],\n assignee_id=\"\", # field trong kwargs\n deal_name=\"\", # field trong kwargs\n sale_process_id=\"\"\n)\n\n# C\u00e1ch r\u00fat g\u1ecdn\ndeal_info = {\n \"assignee_id\": \"\",\n \"deal_name\": \"\",\n \"sale_process_id\": \"\",\n \"created_time\": \"\"\n}\nMobioNotifySDK().send_message_notify_push_id_mobile_app(\n merchant_id=\"\", key_config=\"sale_add_deal\",\n account_ids=[\"uuid1\", \"uuid2\"],\n **deal_info\n)\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Mobio Notify SDK",
"version": "1.0.12",
"project_urls": {
"Homepage": "https://github.com/mobiovn",
"Source": "https://github.com/mobiovn"
},
"split_keywords": [
"mobio",
"notify",
"contact spam"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "953c1fe6001ad8dce59d49104d56af0cbea0999a477050e798b07410097a9fd2",
"md5": "1ffc1823bb9f01b78d21877ebd8fac03",
"sha256": "c67d1189abb177270a5439ab9fbf2906e7a98edf9579bf235961d0246df4fd4f"
},
"downloads": -1,
"filename": "mobio-notify-sdk-test-1.0.12.tar.gz",
"has_sig": false,
"md5_digest": "1ffc1823bb9f01b78d21877ebd8fac03",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 9863,
"upload_time": "2023-06-14T06:09:53",
"upload_time_iso_8601": "2023-06-14T06:09:53.089032Z",
"url": "https://files.pythonhosted.org/packages/95/3c/1fe6001ad8dce59d49104d56af0cbea0999a477050e798b07410097a9fd2/mobio-notify-sdk-test-1.0.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-14 06:09:53",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "mobio-notify-sdk-test"
}