bestsms 0.0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bestsms-0.0.0.1/LICENSE +21 -0
- bestsms-0.0.0.1/PKG-INFO +537 -0
- bestsms-0.0.0.1/README.md +513 -0
- bestsms-0.0.0.1/bestsms/__init__.py +68 -0
- bestsms-0.0.0.1/bestsms/_config.py +10 -0
- bestsms-0.0.0.1/bestsms/api/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/actions/__init__.py +68 -0
- bestsms-0.0.0.1/bestsms/api/actions/dtos/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/actions/dtos/action_api_result_dto.py +16 -0
- bestsms-0.0.0.1/bestsms/api/actions/requests/__init__.py +55 -0
- bestsms-0.0.0.1/bestsms/api/actions/requests/_common.py +63 -0
- bestsms-0.0.0.1/bestsms/api/actions/requests/abort.py +119 -0
- bestsms-0.0.0.1/bestsms/api/actions/requests/reschedule.py +137 -0
- bestsms-0.0.0.1/bestsms/api/actions/requests/resubmit.py +128 -0
- bestsms-0.0.0.1/bestsms/api/actions/responses/__init__.py +8 -0
- bestsms-0.0.0.1/bestsms/api/actions/responses/action_api_result.py +60 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/__init__.py +67 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/dtos/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/dtos/contact_group_api_create_request_dto.py +12 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/dtos/contact_group_api_result_dto.py +19 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/dtos/contact_group_list_api_result_dto.py +20 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/requests/__init__.py +94 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/requests/_common.py +69 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/requests/create.py +85 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/requests/delete.py +88 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/requests/detail.py +88 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/requests/list.py +107 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/responses/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/responses/contact_group_api_result.py +87 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contactgroups/responses/contact_group_list_api_result.py +91 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/__init__.py +68 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/dtos/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/dtos/contact_api_result_dto.py +15 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/dtos/contact_list_api_result_dto.py +18 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/dtos/contact_model.py +46 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/requests/__init__.py +114 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/requests/_common.py +64 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/requests/create.py +91 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/requests/delete.py +77 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/requests/detail.py +77 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/requests/list.py +99 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/requests/update.py +97 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/responses/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/responses/contact_api_result.py +72 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/contacts/responses/contact_list_api_result.py +74 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/dtos/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/dtos/group_contact_api_create_request_dto.py +12 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/dtos/group_contact_api_result_dto.py +19 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/dtos/group_contact_list_api_result_dto.py +20 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/requests/__init__.py +95 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/requests/_common.py +69 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/requests/create.py +85 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/requests/delete.py +87 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/requests/detail.py +88 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/requests/list.py +107 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/responses/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/responses/group_contact_api_result.py +88 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groupcontacts/responses/group_contact_list_api_result.py +92 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/dtos/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/dtos/group_api_result_dto.py +14 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/dtos/group_list_api_result_dto.py +18 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/dtos/group_model.py +19 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/requests/__init__.py +115 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/requests/_common.py +64 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/requests/create.py +92 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/requests/delete.py +77 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/requests/detail.py +77 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/requests/list.py +96 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/requests/update.py +97 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/responses/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/responses/group_api_result.py +75 -0
- bestsms-0.0.0.1/bestsms/api/addressbook/groups/responses/group_list_api_result.py +76 -0
- bestsms-0.0.0.1/bestsms/api/messaging/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/messaging/dtos/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/messaging/dtos/common_api_request_dto.py +37 -0
- bestsms-0.0.0.1/bestsms/api/messaging/dtos/message_api_result_dto.py +12 -0
- bestsms-0.0.0.1/bestsms/api/messaging/dtos/recipient_model.py +35 -0
- bestsms-0.0.0.1/bestsms/api/messaging/dtos/sms_api_request_dto.py +15 -0
- bestsms-0.0.0.1/bestsms/api/messaging/requests/__init__.py +16 -0
- bestsms-0.0.0.1/bestsms/api/messaging/requests/_common.py +174 -0
- bestsms-0.0.0.1/bestsms/api/messaging/requests/sms_api.py +290 -0
- bestsms-0.0.0.1/bestsms/api/messaging/responses/__init__.py +8 -0
- bestsms-0.0.0.1/bestsms/api/messaging/responses/message_api_result.py +69 -0
- bestsms-0.0.0.1/bestsms/api/reports/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/reports/dtos/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/api/reports/dtos/recipient_dto.py +33 -0
- bestsms-0.0.0.1/bestsms/api/reports/dtos/sms_message_in_dto.py +24 -0
- bestsms-0.0.0.1/bestsms/api/reports/dtos/sms_received_dto.py +17 -0
- bestsms-0.0.0.1/bestsms/api/reports/dtos/sms_reply_dto.py +38 -0
- bestsms-0.0.0.1/bestsms/api/reports/dtos/sms_reply_recipient_dto.py +15 -0
- bestsms-0.0.0.1/bestsms/api/reports/dtos/sms_reply_recipient_reply_dto.py +18 -0
- bestsms-0.0.0.1/bestsms/api/reports/dtos/status_dto.py +38 -0
- bestsms-0.0.0.1/bestsms/api/reports/requests/__init__.py +44 -0
- bestsms-0.0.0.1/bestsms/api/reports/requests/_common.py +63 -0
- bestsms-0.0.0.1/bestsms/api/reports/requests/sms_received.py +144 -0
- bestsms-0.0.0.1/bestsms/api/reports/requests/sms_reply.py +111 -0
- bestsms-0.0.0.1/bestsms/api/reports/requests/status.py +104 -0
- bestsms-0.0.0.1/bestsms/api/reports/responses/__init__.py +26 -0
- bestsms-0.0.0.1/bestsms/api/reports/responses/sms_received_result.py +74 -0
- bestsms-0.0.0.1/bestsms/api/reports/responses/sms_reply_result.py +97 -0
- bestsms-0.0.0.1/bestsms/api/reports/responses/status_request_result.py +75 -0
- bestsms-0.0.0.1/bestsms/core/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/core/dtos/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/core/dtos/error_dto.py +12 -0
- bestsms-0.0.0.1/bestsms/core/dtos/error_with_message_id_dto.py +12 -0
- bestsms-0.0.0.1/bestsms/core/dtos/list_request_dto.py +12 -0
- bestsms-0.0.0.1/bestsms/helpers/__init__.py +0 -0
- bestsms-0.0.0.1/bestsms/helpers/custom_json_encoder.py +5 -0
- bestsms-0.0.0.1/bestsms/helpers/functions.py +47 -0
- bestsms-0.0.0.1/bestsms.egg-info/PKG-INFO +537 -0
- bestsms-0.0.0.1/bestsms.egg-info/SOURCES.txt +119 -0
- bestsms-0.0.0.1/bestsms.egg-info/dependency_links.txt +1 -0
- bestsms-0.0.0.1/bestsms.egg-info/not-zip-safe +1 -0
- bestsms-0.0.0.1/bestsms.egg-info/requires.txt +1 -0
- bestsms-0.0.0.1/bestsms.egg-info/top_level.txt +1 -0
- bestsms-0.0.0.1/setup.cfg +7 -0
- bestsms-0.0.0.1/setup.py +39 -0
bestsms-0.0.0.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 BestSMS
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
bestsms-0.0.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,537 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: bestsms
|
|
3
|
+
Version: 0.0.0.1
|
|
4
|
+
Summary: BestSMS REST API Helper Library for Python
|
|
5
|
+
Home-page: https://bestsms.au
|
|
6
|
+
Author: BestSMS Australia
|
|
7
|
+
Author-email: info@bestsms.com.au
|
|
8
|
+
License: MIT
|
|
9
|
+
Keywords: bestsms,api,sms
|
|
10
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
19
|
+
Classifier: Topic :: Communications :: Telephony
|
|
20
|
+
Classifier: Operating System :: OS Independent
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: requests
|
|
24
|
+
|
|
25
|
+
# bestsms
|
|
26
|
+
|
|
27
|
+
## Documentation
|
|
28
|
+
|
|
29
|
+
The documentation for the BestSMS API can be found [here][apidocs].
|
|
30
|
+
|
|
31
|
+
## Versions
|
|
32
|
+
|
|
33
|
+
`bestsms` uses a modified version of [Semantic Versioning](https://semver.org) for all changes. [See this document](VERSIONS.md) for details.
|
|
34
|
+
|
|
35
|
+
### Supported Python Versions
|
|
36
|
+
|
|
37
|
+
This library supports the following Python implementations:
|
|
38
|
+
|
|
39
|
+
* Python 3.9
|
|
40
|
+
* Python 3.10
|
|
41
|
+
* Python 3.11
|
|
42
|
+
* Python 3.12
|
|
43
|
+
|
|
44
|
+
## Installation
|
|
45
|
+
|
|
46
|
+
Install from PyPi using [pip](http://www.pip-installer.org/en/latest/), a
|
|
47
|
+
package manager for Python.
|
|
48
|
+
|
|
49
|
+
pip install bestsms
|
|
50
|
+
|
|
51
|
+
Don't have pip installed? Try installing it, by running this from the command
|
|
52
|
+
line:
|
|
53
|
+
|
|
54
|
+
$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
|
|
55
|
+
|
|
56
|
+
python setup.py install
|
|
57
|
+
|
|
58
|
+
You may need to run the above commands with `sudo`.
|
|
59
|
+
|
|
60
|
+
## Getting Started
|
|
61
|
+
|
|
62
|
+
Getting started with the BestSMS API couldn't be easier. Create a
|
|
63
|
+
`Client` and you're ready to go.
|
|
64
|
+
|
|
65
|
+
### API Credentials
|
|
66
|
+
|
|
67
|
+
The `BestSMS` needs your BestSMS API credentials (BestSMS Auth Tokens). You can either pass these
|
|
68
|
+
directly to the constructor (see the code below) or via environment variables.
|
|
69
|
+
|
|
70
|
+
```python
|
|
71
|
+
from bestsms import BestSMS
|
|
72
|
+
|
|
73
|
+
client = BestSMS(
|
|
74
|
+
AuthToken = "[Your Auth Token]"
|
|
75
|
+
)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Send Message
|
|
79
|
+
|
|
80
|
+
Send SMS/Email/Voice/Fax through `bestsms` library.
|
|
81
|
+
|
|
82
|
+
#### Send SMS
|
|
83
|
+
|
|
84
|
+
```python
|
|
85
|
+
from bestsms import BestSMS
|
|
86
|
+
|
|
87
|
+
client = BestSMS(
|
|
88
|
+
AuthToken="[Your Auth Token]"
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
response = client.Messaging.SMS.SendMessage(
|
|
92
|
+
Reference="Test",
|
|
93
|
+
MessageText = "Test SMS Message click [[Reply]] to opt out",
|
|
94
|
+
Recipients = ["+64211231234"],
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
print(response)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Reports
|
|
101
|
+
|
|
102
|
+
Retrieve your message status using `bestsms` library.
|
|
103
|
+
|
|
104
|
+
#### Reports - Get Message Status
|
|
105
|
+
|
|
106
|
+
```python
|
|
107
|
+
from bestsms import BestSMS
|
|
108
|
+
|
|
109
|
+
client = BestSMS(
|
|
110
|
+
AuthToken="[Your Auth Token]"
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
response = client.Reports.Status.Poll(
|
|
114
|
+
MessageID="ID123456"
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
print(response)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
#### Reports - Get SMS Reply
|
|
121
|
+
|
|
122
|
+
```python
|
|
123
|
+
from bestsms import BestSMS
|
|
124
|
+
|
|
125
|
+
client = BestSMS(
|
|
126
|
+
AuthToken="[Your Auth Token]"
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
request = client.Reports.SMSReply.Poll(
|
|
130
|
+
MessageID="ID123456"
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
print(response)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### Reports - Get SMS Received List
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
from bestsms import BestSMS
|
|
140
|
+
|
|
141
|
+
client = BestSMS(
|
|
142
|
+
AuthToken="[Your Auth Token]"
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
response = client.Reports.SMSReceived.Poll(
|
|
146
|
+
#TimePeriod = 1440
|
|
147
|
+
DateFrom="2023-07-01 00:00:00",
|
|
148
|
+
DateTo="2023-08-01 00:00:00"
|
|
149
|
+
)
|
|
150
|
+
|
|
151
|
+
print(response)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Actions
|
|
155
|
+
|
|
156
|
+
Amend your message using `bestsms` library.
|
|
157
|
+
|
|
158
|
+
#### Actions - Abort Pending/Delayed Job
|
|
159
|
+
|
|
160
|
+
```python
|
|
161
|
+
from bestsms import BestSMS
|
|
162
|
+
|
|
163
|
+
client = BestSMS(
|
|
164
|
+
AuthToken="[Your Auth Token]"
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
response = client.Actions.Abort.SendRequest(
|
|
168
|
+
MessageID="ID123456"
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
print(response)
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
#### Actions - Resubmit Failed Job
|
|
175
|
+
|
|
176
|
+
```python
|
|
177
|
+
from bestsms import BestSMS
|
|
178
|
+
|
|
179
|
+
client = BestSMS(
|
|
180
|
+
AuthToken="[Your Auth Token]"
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
response = client.Actions.Resubmit.SendRequest(
|
|
184
|
+
MessageID="ID123456",
|
|
185
|
+
SendTime="2023-07-10T09:00" #optional
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
print(response)
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
#### Actions - Reschedule DELAYED Job
|
|
192
|
+
|
|
193
|
+
```python
|
|
194
|
+
from bestsms import BestSMS
|
|
195
|
+
|
|
196
|
+
client = BestSMS(
|
|
197
|
+
AuthToken="[Your Auth Token]"
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
response = client.Actions.Reschedule.SendRequest(
|
|
201
|
+
MessageID="ID123456",
|
|
202
|
+
SendTime=datetime.now()
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
print(response)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Addressbook - Contacts
|
|
209
|
+
|
|
210
|
+
Manage your contacts using `bestsms` library.
|
|
211
|
+
|
|
212
|
+
#### Contacts - List
|
|
213
|
+
|
|
214
|
+
```python
|
|
215
|
+
from bestsms import BestSMS
|
|
216
|
+
|
|
217
|
+
client = BestSMS(
|
|
218
|
+
AuthToken="[Your Auth Token]"
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
response = client.Addressbook.Contact.List(
|
|
222
|
+
RecordsPerPage=10,
|
|
223
|
+
Page=1
|
|
224
|
+
)
|
|
225
|
+
|
|
226
|
+
print(response)
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
#### Contacts - Detail
|
|
230
|
+
|
|
231
|
+
```python
|
|
232
|
+
from bestsms import BestSMS
|
|
233
|
+
|
|
234
|
+
client = BestSMS(
|
|
235
|
+
AuthToken="[Your Auth Token]"
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
response = client.Addressbook.Contact.Detail(
|
|
239
|
+
ContactID="[Contact ID]"
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
print(response)
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
#### Contacts - Create
|
|
246
|
+
|
|
247
|
+
```python
|
|
248
|
+
from bestsms import BestSMS
|
|
249
|
+
|
|
250
|
+
client = BestSMS(
|
|
251
|
+
AuthToken="[Your Auth Token]"
|
|
252
|
+
)
|
|
253
|
+
|
|
254
|
+
response = client.Addressbook.Contact.Create(
|
|
255
|
+
Title="Mr",
|
|
256
|
+
Company="BestSMS",
|
|
257
|
+
FirstName="First",
|
|
258
|
+
LastName="Last",
|
|
259
|
+
MobilePhone="+61421222233",
|
|
260
|
+
ViewPublic="Account",
|
|
261
|
+
EditPublid="Account"
|
|
262
|
+
)
|
|
263
|
+
|
|
264
|
+
print(response)
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
#### Contacts - Update
|
|
268
|
+
|
|
269
|
+
```python
|
|
270
|
+
from bestsms import BestSMS
|
|
271
|
+
|
|
272
|
+
client = BestSMS(
|
|
273
|
+
AuthToken="[Your Auth Token]"
|
|
274
|
+
)
|
|
275
|
+
|
|
276
|
+
response = client.Addressbook.Contact.Update(
|
|
277
|
+
ContactID="[Contact ID]",
|
|
278
|
+
Attention="Test Attention"
|
|
279
|
+
)
|
|
280
|
+
|
|
281
|
+
print(response)
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
#### Contacts - Delete
|
|
285
|
+
|
|
286
|
+
```python
|
|
287
|
+
from bestsms import BestSMS
|
|
288
|
+
|
|
289
|
+
client = BestSMS(
|
|
290
|
+
AuthToken="[Your Auth Token]"
|
|
291
|
+
)
|
|
292
|
+
|
|
293
|
+
response = client.Addressbook.Contact.Delete(
|
|
294
|
+
ContactID="[Contact ID]"
|
|
295
|
+
)
|
|
296
|
+
|
|
297
|
+
print(response)
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Addressbook - Contact Group
|
|
301
|
+
|
|
302
|
+
Manage your contact group relationship using `bestsms` library.
|
|
303
|
+
|
|
304
|
+
#### Contact Group - List
|
|
305
|
+
|
|
306
|
+
```python
|
|
307
|
+
from bestsms import BestSMS
|
|
308
|
+
|
|
309
|
+
client = BestSMS(
|
|
310
|
+
AuthToken="[Your Auth Token]"
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
response = client.Addressbook.ContactGroup.List(
|
|
314
|
+
RecordsPerPage=10,
|
|
315
|
+
Page=1,
|
|
316
|
+
ContactID="[Contact ID]"
|
|
317
|
+
)
|
|
318
|
+
|
|
319
|
+
print(response)
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
#### Contact Group - Detail
|
|
323
|
+
|
|
324
|
+
```python
|
|
325
|
+
from bestsms import BestSMS
|
|
326
|
+
|
|
327
|
+
client = BestSMS(
|
|
328
|
+
AuthToken="[Your Auth Token]"
|
|
329
|
+
)
|
|
330
|
+
|
|
331
|
+
response = client.Addressbook.ContactGroup.Detail(
|
|
332
|
+
ContactID="[Contact ID]",
|
|
333
|
+
GroupCode="[Group Code]"
|
|
334
|
+
)
|
|
335
|
+
|
|
336
|
+
print(response)
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
#### Contact Group - Create
|
|
340
|
+
|
|
341
|
+
```python
|
|
342
|
+
from bestsms import BestSMS
|
|
343
|
+
|
|
344
|
+
client = BestSMS(
|
|
345
|
+
AuthToken="[Your Auth Token]"
|
|
346
|
+
)
|
|
347
|
+
|
|
348
|
+
response = client.Addressbook.ContactGroup.Create(
|
|
349
|
+
ContactID="[Contact ID]",
|
|
350
|
+
GroupCode="[Group Code]"
|
|
351
|
+
)
|
|
352
|
+
|
|
353
|
+
print(response)
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
#### Contact Group - Delete
|
|
357
|
+
|
|
358
|
+
```python
|
|
359
|
+
from bestsms import BestSMS
|
|
360
|
+
|
|
361
|
+
client = BestSMS(
|
|
362
|
+
AuthToken="[Your Auth Token]"
|
|
363
|
+
)
|
|
364
|
+
|
|
365
|
+
response = client.Addressbook.ContactGroup.Delete(
|
|
366
|
+
ContactID="[Contact ID]",
|
|
367
|
+
GroupCode="[Group Code]"
|
|
368
|
+
)
|
|
369
|
+
|
|
370
|
+
print(response)
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### Addressbook - Group
|
|
374
|
+
|
|
375
|
+
Manage your group using `bestsms` library.
|
|
376
|
+
|
|
377
|
+
#### Group - List
|
|
378
|
+
|
|
379
|
+
```python
|
|
380
|
+
from bestsms import BestSMS
|
|
381
|
+
|
|
382
|
+
client = BestSMS(
|
|
383
|
+
AuthToken="[Your Auth Token]"
|
|
384
|
+
)
|
|
385
|
+
|
|
386
|
+
response = client.Addressbook.Group.List(
|
|
387
|
+
RecordsPerPage=10,
|
|
388
|
+
Page=1
|
|
389
|
+
)
|
|
390
|
+
|
|
391
|
+
print(response)
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
#### Group - Detail
|
|
395
|
+
|
|
396
|
+
```python
|
|
397
|
+
from bestsms import BestSMS
|
|
398
|
+
|
|
399
|
+
client = BestSMS(
|
|
400
|
+
AuthToken="[Your Auth Token]"
|
|
401
|
+
)
|
|
402
|
+
|
|
403
|
+
response = client.Addressbook.Group.Detail(
|
|
404
|
+
GroupCode="[Group Code]"
|
|
405
|
+
)
|
|
406
|
+
|
|
407
|
+
print(response)
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
#### Group - Create
|
|
411
|
+
|
|
412
|
+
```python
|
|
413
|
+
from bestsms import BestSMS
|
|
414
|
+
|
|
415
|
+
client = BestSMS(
|
|
416
|
+
AuthToken="[Your Auth Token]"
|
|
417
|
+
)
|
|
418
|
+
|
|
419
|
+
response = client.Addressbook.Group.Create(
|
|
420
|
+
GroupCode="[Group Code]",
|
|
421
|
+
GroupName="[Group Name]"
|
|
422
|
+
)
|
|
423
|
+
|
|
424
|
+
print(response)
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
#### Group - Update
|
|
428
|
+
|
|
429
|
+
```python
|
|
430
|
+
from bestsms import BestSMS
|
|
431
|
+
|
|
432
|
+
client = BestSMS(
|
|
433
|
+
AuthToken="[Your Auth Token]"
|
|
434
|
+
)
|
|
435
|
+
|
|
436
|
+
response = client.Addressbook.Group.Update(
|
|
437
|
+
GroupCode="[Group Code]",
|
|
438
|
+
GroupName="[Group Name]"
|
|
439
|
+
)
|
|
440
|
+
|
|
441
|
+
print(response)
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
#### Group - Delete
|
|
445
|
+
|
|
446
|
+
```python
|
|
447
|
+
from bestsms import BestSMS
|
|
448
|
+
|
|
449
|
+
client = BestSMS(
|
|
450
|
+
AuthToken="[Your Auth Token]"
|
|
451
|
+
)
|
|
452
|
+
|
|
453
|
+
response = client.Addressbook.Group.Delete(
|
|
454
|
+
GroupCode="[Group Code]"
|
|
455
|
+
)
|
|
456
|
+
|
|
457
|
+
print(response)
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### Addressbook - Group Contact
|
|
461
|
+
|
|
462
|
+
Manage your group contact relationship using `bestsms` library.
|
|
463
|
+
|
|
464
|
+
#### Group Contact - List
|
|
465
|
+
|
|
466
|
+
```python
|
|
467
|
+
from bestsms import BestSMS
|
|
468
|
+
|
|
469
|
+
client = BestSMS(
|
|
470
|
+
AuthToken="[Your Auth Token]"
|
|
471
|
+
)
|
|
472
|
+
|
|
473
|
+
response = client.Addressbook.GroupContact.List(
|
|
474
|
+
RecordsPerPage=10,
|
|
475
|
+
Page=1,
|
|
476
|
+
GroupCode="[Group Code]"
|
|
477
|
+
)
|
|
478
|
+
|
|
479
|
+
print(response)
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
#### Group Contact - Detail
|
|
483
|
+
|
|
484
|
+
```python
|
|
485
|
+
from bestsms import BestSMS
|
|
486
|
+
|
|
487
|
+
client = BestSMS(
|
|
488
|
+
AuthToken="[Your Auth Token]"
|
|
489
|
+
)
|
|
490
|
+
|
|
491
|
+
response = client.Addressbook.GroupContact.Detail(
|
|
492
|
+
GroupCode="[Group Code]",
|
|
493
|
+
ContactID="[Contact ID]"
|
|
494
|
+
)
|
|
495
|
+
|
|
496
|
+
print(response)
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
#### Group Contact - Create
|
|
500
|
+
|
|
501
|
+
```python
|
|
502
|
+
from bestsms import BestSMS
|
|
503
|
+
|
|
504
|
+
client = BestSMS(
|
|
505
|
+
AuthToken="[Your Auth Token]"
|
|
506
|
+
)
|
|
507
|
+
|
|
508
|
+
response = client.Addressbook.GroupContact.Create(
|
|
509
|
+
GroupCode="[Group Code]",
|
|
510
|
+
ContactID="[Contact ID]"
|
|
511
|
+
)
|
|
512
|
+
|
|
513
|
+
print(response)
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
#### Group Contact - Delete
|
|
517
|
+
|
|
518
|
+
```python
|
|
519
|
+
from bestsms import BestSMS
|
|
520
|
+
|
|
521
|
+
client = BestSMS(
|
|
522
|
+
AuthToken="[Your Auth Token]"
|
|
523
|
+
)
|
|
524
|
+
|
|
525
|
+
response = client.Addressbook.GroupContact.Delete(
|
|
526
|
+
GroupCode="[Group Code]",
|
|
527
|
+
ContactID="[Contact ID]"
|
|
528
|
+
)
|
|
529
|
+
|
|
530
|
+
print(response)
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
### Getting help
|
|
534
|
+
|
|
535
|
+
If you need help installing or using the library, please check the [BestSMS Contact](https://bestsms.au/contact) if you don't find an answer to your question.
|
|
536
|
+
|
|
537
|
+
[apidocs]: https://bestsms.au/Docs/PythonAPI/
|