telnyx 2.1.1__py2.py3-none-any.whl → 2.1.3__py2.py3-none-any.whl

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.

Potentially problematic release.


This version of telnyx might be problematic. Click here for more details.

telnyx/__init__.py CHANGED
@@ -24,7 +24,7 @@ public_key = os.environ.get("TELNYX_PUBLIC_KEY")
24
24
  log = None
25
25
 
26
26
 
27
- __version__ = "2.1.1"
27
+ __version__ = "2.1.3"
28
28
 
29
29
 
30
30
  # Sets some basic information about the running application that's sent along
telnyx/api_requestor.py CHANGED
@@ -125,37 +125,37 @@ class APIRequestor(object):
125
125
  )
126
126
 
127
127
  if rcode == 400:
128
- return error.InvalidRequestError(error_list, rbody, rcode, resp, rheaders)
128
+ return error.InvalidRequestError(error_list, rcode, rbody, resp, rheaders)
129
129
  elif rcode == 401:
130
- return error.AuthenticationError(error_list, rbody, rcode, resp, rheaders)
130
+ return error.AuthenticationError(error_list, rcode, rbody, resp, rheaders)
131
131
  elif rcode == 403:
132
- return error.PermissionError(error_list, rbody, rcode, resp, rheaders)
132
+ return error.PermissionError(error_list, rcode, rbody, resp, rheaders)
133
133
  elif rcode == 404:
134
- return error.ResourceNotFoundError(error_list, rbody, rcode, resp, rheaders)
134
+ return error.ResourceNotFoundError(error_list, rcode, rbody, resp, rheaders)
135
135
  elif rcode == 405:
136
136
  return error.MethodNotSupportedError(
137
- error_list, rbody, rcode, resp, rheaders
137
+ error_list, rcode, rbody, resp, rheaders
138
138
  )
139
139
  elif rcode == 408:
140
- return error.TimeoutError(error_list, rbody, rcode, resp, rheaders)
140
+ return error.TimeoutError(error_list, rcode, rbody, resp, rheaders)
141
141
  elif rcode == 415:
142
142
  return error.UnsupportedMediaTypeError(
143
- error_list, rbody, rcode, resp, rheaders
143
+ error_list, rcode, rbody, resp, rheaders
144
144
  )
145
145
  elif rcode == 422:
146
146
  return error.InvalidParametersError(
147
- error_list, rbody, rcode, resp, rheaders
147
+ error_list, rcode, rbody, resp, rheaders
148
148
  )
149
149
  elif rcode == 429:
150
- return error.RateLimitError(error_list, rbody, rcode, resp, rheaders)
150
+ return error.RateLimitError(error_list, rcode, rbody, resp, rheaders)
151
151
  elif rcode == 500:
152
- return error.APIError(error_list, rbody, rcode, resp, rheaders)
152
+ return error.APIError(error_list, rcode, rbody, resp, rheaders)
153
153
  elif rcode == 503:
154
154
  return error.ServiceUnavailableError(
155
- error_list, rbody, rcode, resp, rheaders
155
+ error_list, rcode, rbody, resp, rheaders
156
156
  )
157
157
  else:
158
- return error.APIError(error_list, rbody, rcode, resp, rheaders)
158
+ return error.APIError(error_list, rcode, rbody, resp, rheaders)
159
159
 
160
160
  def request_headers(self, api_key, method):
161
161
  user_agent = "Telnyx/v2 PythonBindings/%s" % (telnyx.__version__,)
@@ -276,19 +276,22 @@ class APIRequestor(object):
276
276
  return encoded_params
277
277
 
278
278
  def interpret_response(self, rbody, rcode, rheaders):
279
- try:
280
- if hasattr(rbody, "decode"):
281
- rbody = rbody.decode("utf-8")
282
- resp = TelnyxResponse(rbody, rcode, rheaders)
283
- except Exception:
284
- raise error.APIError(
285
- "Invalid response body from API: %s "
286
- "(HTTP response code was %d)" % (rbody, rcode),
287
- rbody,
288
- rcode,
289
- rheaders,
290
- )
291
- if not (200 <= rcode < 300):
292
- self.handle_error_response(rbody, rcode, resp.data, rheaders)
279
+ if rcode == 204:
280
+ resp = TelnyxResponse("", rcode, rheaders)
281
+ else:
282
+ try:
283
+ if hasattr(rbody, "decode"):
284
+ rbody = rbody.decode("utf-8")
285
+ resp = TelnyxResponse(rbody, rcode, rheaders)
286
+ except Exception:
287
+ raise error.APIError(
288
+ "Invalid response body from API: %s "
289
+ "(HTTP response code was %d)" % (rbody, rcode),
290
+ rbody,
291
+ rcode,
292
+ rheaders,
293
+ )
294
+ if not (200 <= rcode < 300):
295
+ self.handle_error_response(rbody, rcode, resp.data, rheaders)
293
296
 
294
297
  return resp
@@ -24,9 +24,17 @@ def nested_resource_class_methods(
24
24
  parts = []
25
25
  if not path.startswith("/"):
26
26
  parts.append(cls.class_url())
27
- if id is not None:
27
+ if id is not None and "phone_number" not in path:
28
28
  parts.append(quote_plus(id, safe=util.telnyx_valid_id_parts))
29
- parts.append(quote_plus(path, safe="/"))
29
+ if id is not None:
30
+ if "phone_number" in path:
31
+ parts.append(path.format(phone_number=quote_plus(id, safe=util.telnyx_valid_id_parts + '+')))
32
+ elif "verification_id" in path:
33
+ parts.append(path.format(verification_id=quote_plus(id, safe=util.telnyx_valid_id_parts)))
34
+ else:
35
+ parts.append(path)
36
+ else:
37
+ parts.append(path)
30
38
  if nested_id is not None:
31
39
  parts.append(quote_plus(nested_id, safe=util.telnyx_valid_id_parts))
32
40
  return "/".join(parts)
@@ -55,8 +63,8 @@ def nested_resource_class_methods(
55
63
 
56
64
  elif operation == "retrieve":
57
65
 
58
- def retrieve_nested_resource(cls, id, nested_id, **params):
59
- url = getattr(cls, resource_url_method)(id, nested_id)
66
+ def retrieve_nested_resource(cls, id, nested_id=None, **params):
67
+ url = getattr(cls, resource_url_method)(id, nested_id=nested_id)
60
68
  return getattr(cls, resource_request_method)("get", url, **params)
61
69
 
62
70
  retrieve_method = "retrieve_%s" % resource
@@ -2,13 +2,16 @@ from __future__ import absolute_import, division, print_function
2
2
 
3
3
  from telnyx.api_resources.abstract import (
4
4
  CreateableAPIResource,
5
- DeletableAPIResource, ListableAPIResource, UpdateableAPIResource
5
+ DeletableAPIResource,
6
+ ListableAPIResource,
7
+ UpdateableAPIResource,
6
8
  )
7
9
 
8
10
 
9
- class AuthenticationProvider(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, UpdateableAPIResource):
11
+ class AuthenticationProvider(
12
+ CreateableAPIResource,
13
+ DeletableAPIResource,
14
+ ListableAPIResource,
15
+ UpdateableAPIResource,
16
+ ):
10
17
  OBJECT_NAME = "authentication_provider"
11
-
12
-
13
-
14
-
@@ -2,13 +2,16 @@ from __future__ import absolute_import, division, print_function
2
2
 
3
3
  from telnyx.api_resources.abstract import (
4
4
  CreateableAPIResource,
5
- DeletableAPIResource, ListableAPIResource, UpdateableAPIResource
5
+ DeletableAPIResource,
6
+ ListableAPIResource,
7
+ UpdateableAPIResource,
6
8
  )
7
9
 
8
10
 
9
- class BillingGroup(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, UpdateableAPIResource):
11
+ class BillingGroup(
12
+ CreateableAPIResource,
13
+ DeletableAPIResource,
14
+ ListableAPIResource,
15
+ UpdateableAPIResource,
16
+ ):
10
17
  OBJECT_NAME = "billing_group"
11
-
12
-
13
-
14
-
@@ -2,13 +2,16 @@ from __future__ import absolute_import, division, print_function
2
2
 
3
3
  from telnyx.api_resources.abstract import (
4
4
  CreateableAPIResource,
5
- DeletableAPIResource, ListableAPIResource, UpdateableAPIResource
5
+ DeletableAPIResource,
6
+ ListableAPIResource,
7
+ UpdateableAPIResource,
6
8
  )
7
9
 
8
10
 
9
- class OutboundVoiceProfile(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, UpdateableAPIResource):
11
+ class OutboundVoiceProfile(
12
+ CreateableAPIResource,
13
+ DeletableAPIResource,
14
+ ListableAPIResource,
15
+ UpdateableAPIResource,
16
+ ):
10
17
  OBJECT_NAME = "outbound_voice_profile"
11
-
12
-
13
-
14
-
@@ -1,6 +1,7 @@
1
1
  from telnyx.api_resources.abstract import (
2
2
  CreateableAPIResource,
3
3
  ListableAPIResource,
4
+ UpdateableAPIResource,
4
5
  nested_resource_class_methods,
5
6
  )
6
7
 
@@ -20,18 +21,18 @@ from telnyx.api_resources.abstract import (
20
21
  @nested_resource_class_methods(
21
22
  "whatsapp", path="/v2/verifications/whatsapp", operations=["create"]
22
23
  )
23
- class Verification(CreateableAPIResource, ListableAPIResource):
24
+ @nested_resource_class_methods(
25
+ "verify_by_phone_number", path="by_phone_number/{phone_number}/actions/verify", operations=["create"]
26
+ )
27
+ @nested_resource_class_methods(
28
+ "verify_by_id", path="actions/verify", operations=["create"]
29
+ )
30
+ @nested_resource_class_methods(
31
+ "by_phone_number", path="by_phone_number/{phone_number}", operations=["retrieve"]
32
+ )
33
+ class Verification(CreateableAPIResource, ListableAPIResource, UpdateableAPIResource):
24
34
  OBJECT_NAME = "verification"
25
35
 
26
- def verify_by_phone_number(self, code, phone_number, verify_profile_id):
27
- return self.request(
28
- method="post",
29
- url="/v2/verifications/by_phone_number/{}/actions/verify".format(
30
- phone_number
31
- ),
32
- params={"code": code, "verify_profile_id": verify_profile_id},
33
- )
34
-
35
36
  @classmethod
36
37
  def sms(cls, **params):
37
38
  return Verification.create_sms(None, **params)
@@ -51,3 +52,15 @@ class Verification(CreateableAPIResource, ListableAPIResource):
51
52
  @classmethod
52
53
  def whatsapp(cls, **params):
53
54
  return Verification.create_whatsapp(None, **params)
55
+
56
+ @classmethod
57
+ def verify_by_phone_number(cls, phone_number, **params):
58
+ return Verification.create_verify_by_phone_number(phone_number, **params)
59
+
60
+ @classmethod
61
+ def verify_by_id(cls, verification_id, **params):
62
+ return Verification.create_verify_by_id(verification_id, **params)
63
+
64
+ @classmethod
65
+ def by_phone_number(cls, phone_number):
66
+ return Verification.retrieve_by_phone_number(phone_number)
@@ -9,7 +9,10 @@ from telnyx.api_resources.abstract import (
9
9
  )
10
10
 
11
11
 
12
- @nested_resource_class_methods("verify", path="actions/verify", operations=["create"])
12
+ @nested_resource_class_methods("sms", path="verifications/sms", operations=["create"])
13
+ @nested_resource_class_methods("call", path="verifications/call", operations=["create"])
14
+ @nested_resource_class_methods("flashcall", path="verifications/flashcall", operations=["create"])
15
+ @nested_resource_class_methods("verify", path="verifications/{verification_id}/actions/verify", operations=["create"])
13
16
  class Verify(
14
17
  CreateableAPIResource,
15
18
  DeletableAPIResource,
@@ -18,5 +21,11 @@ class Verify(
18
21
  ):
19
22
  OBJECT_NAME = "verify"
20
23
 
21
- def verify(self, **params):
22
- return self.create_verify(**params)
24
+ def create_verification_sms(self, **params):
25
+ return self.create_sms(**params)
26
+
27
+ def create_verification_call(self, **params):
28
+ return self.create_call(**params)
29
+
30
+ def verify_verification_code_by_id(self, verification_id, **params):
31
+ return self.create_verify(verification_id=verification_id, **params)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: telnyx
3
- Version: 2.1.1
3
+ Version: 2.1.3
4
4
  Summary: Python bindings for the Telnyx API
5
5
  Home-page: https://github.com/team-telnyx/telnyx-python
6
6
  Author: Telnyx
@@ -28,8 +28,9 @@ Requires-Python: >=3.8
28
28
  Description-Content-Type: text/markdown
29
29
  License-File: LICENSE
30
30
  Requires-Dist: requests >=2.20
31
- Requires-Dist: six
31
+ Requires-Dist: six >=1.16.0
32
32
  Requires-Dist: PyNaCl
33
+ Requires-Dist: black >=23.0
33
34
 
34
35
  # Telnyx Python Library
35
36
 
@@ -1,10 +1,9 @@
1
- telnyx/__init__.py,sha256=yRg6VPYkO-6KMM1J2Bm8Zbq4oMeTT7EiarH8U_kE33c,1012
2
- telnyx/api_requestor.py,sha256=4J04su6GyGTyK2lSXTEDuZbcoAE4e3OwMIWlohUEQR0,10412
1
+ telnyx/__init__.py,sha256=t4DyTAgIKC0NbWolw0L9GzUkSfDp4fp0o3uk7RgsYI4,1012
2
+ telnyx/api_requestor.py,sha256=hkQ00gVrV6XWoJAoNx_PqXobvJzwut2YTr9M1vfI3gk,10562
3
3
  telnyx/error.py,sha256=7kwUMS7b0ec64A-Ugcwbjs4D2Pl7stEb-JjCE9T6Pic,4366
4
4
  telnyx/http_client.py,sha256=P9htOl44DhSW_m5MkRYtz2U0uLxh7tyuaf1v-ja9MiY,20042
5
5
  telnyx/multipart_data_generator.py,sha256=A6rNpe1WJ859ncFSvAEGHUFuK_fHQiLKqYJAL2Cmc6k,2597
6
6
  telnyx/request_metrics.py,sha256=FHW4rRRYmUe54IWlEgC7BIsM7yvEXMBncPut0E0EWGY,401
7
- telnyx/six.py,sha256=JicFpUC2QNR-QUizUt6EtP3ZNDUyNKUxRDpXllR0jbA,30908
8
7
  telnyx/telnyx_object.py,sha256=ckPaeniC34GOEyCJ9dA6OCVvfRcXYvNJnQ0gqG7mOms,9453
9
8
  telnyx/telnyx_response.py,sha256=4oWm_bDEavy7J3I7DvfD6FpFHCbFj9w1x76OiJFfnoU,422
10
9
  telnyx/util.py,sha256=pUO0qUV4WZsNsjCmjo8SaCRQce668bJoIaFNTabIGIY,16522
@@ -17,12 +16,12 @@ telnyx/api_resources/address.py,sha256=-3N_Hmh727UtEICbznbXWQ6NnblrpRNcg5JPwtKtC
17
16
  telnyx/api_resources/advanced_optinoptout.py,sha256=bRdACJIroXCwtjS9woI4Z-ZWsaG6p9yzjl6anfc-QH4,395
18
17
  telnyx/api_resources/ai.py,sha256=gIgVWt8IcHpS5y4_YQz3jvIGofFBQEVKpSuVgYYEqyI,1225
19
18
  telnyx/api_resources/api_key.py,sha256=SrFq-Vo1ObxBs4lTfUUOVqZ0JaRujykxon3tvyHcQ4k,300
20
- telnyx/api_resources/authentication_provider.py,sha256=lF60-Vczt-dqWUlC7OQ1JHZ-OGrPy2kwHsfGuFRvMGk,385
19
+ telnyx/api_resources/authentication_provider.py,sha256=8hy0qX0nJRt8xagH8W24kstsS8GYvgmjl5OYlQzK7aE,401
21
20
  telnyx/api_resources/autorechargepreference.py,sha256=15rzmAwDoaIFlz_dnjQ_uP7KRJ1405j_mxeWvt2M-jw,270
22
21
  telnyx/api_resources/available_phone_number.py,sha256=QtaoJsudHMun_fdY6KeDmXOghocARm8zlHRLwjUUi8U,222
23
22
  telnyx/api_resources/balance.py,sha256=Z6qwClGpe8NR_RiaU0_lEJV29udmMsdzeJNehHCguX4,196
24
23
  telnyx/api_resources/billing.py,sha256=A8KbJlvjI7BPP12MiM7NziUgP_kYyJ7BB1VLzsrcmQ0,194
25
- telnyx/api_resources/billing_group.py,sha256=NGwMCMaJqS3_3-Muo0CCNsv-spGE_1SoTJ_I2CF4P_Q,365
24
+ telnyx/api_resources/billing_group.py,sha256=vM7ZlhtU1Vs__brcJCszrh953dIrhT-43T8QEMa6iV8,381
26
25
  telnyx/api_resources/brand.py,sha256=N8owqkPjodN0AbsXQegUcUnHPEn6EmVL-3gFJACEh4U,909
27
26
  telnyx/api_resources/bucket.py,sha256=G2S01aq_f7IpdpMSeVC4WxGjsFo8JI6LA1zuQwp-RVU,368
28
27
  telnyx/api_resources/bucket_usage.py,sha256=Z9b97EZ9LMX25U_yroE2C0umr_eVZiBbwrM72cTSp60,203
@@ -95,7 +94,7 @@ telnyx/api_resources/number_portout.py,sha256=LHeiiVxLR25ziZFLvR6gGmuAdaFErzysDN
95
94
  telnyx/api_resources/number_reservation.py,sha256=SJYSBBwK1QLQi6msjvMJUGUd9HZrffKEj2pSNl3rtEc,495
96
95
  telnyx/api_resources/numbers_feature.py,sha256=y69zSo5IVxdtaEkv7nneGgFwLXKg58J0q0KV7WJTwO4,213
97
96
  telnyx/api_resources/ota_update.py,sha256=EAshyhIV8yP2YMLVW7BEGJdCRln6Aa0DdoTnBIZJ950,199
98
- telnyx/api_resources/outbound_voice_profile.py,sha256=arHA9gN6MHVprc_TuT3SxoomfkRBVd1whhA5ybL2Ezs,382
97
+ telnyx/api_resources/outbound_voice_profile.py,sha256=tq6cFo4-qPR2HsruQCr27ZIO8iHciKy61NIP7yIOkpY,398
99
98
  telnyx/api_resources/phone_assignment_profile.py,sha256=nEuK4XkNz-sspFku95F6DmGUCaEE_KvWJoQB2hgx-hE,753
100
99
  telnyx/api_resources/phone_number.py,sha256=OG6wTTCb8mqUXz5-3O-jiqrVuUSVd3G3ld4riYMLTog,4118
101
100
  telnyx/api_resources/phone_number_block_order.py,sha256=l_aBDexyvNTkVeLKonp3AXaOmGRYrPwvRTPM0LOj7wE,271
@@ -114,7 +113,6 @@ telnyx/api_resources/porting_order.py,sha256=vzii9QKdyG9zP6eqw9O0ioiCw6VxvKT81-K
114
113
  telnyx/api_resources/portout.py,sha256=O92nCcvtzNhs2NLHSMAdmH27iDp44riK2gO0laCFB4A,1114
115
114
  telnyx/api_resources/presigned_object_url.py,sha256=oo33r5xX3CUUv48rehgFjccQy6AioNYRwOXBceDXHTw,222
116
115
  telnyx/api_resources/private_wireless_gateway.py,sha256=GWglPOwJMUekkHU-wuXR3QwGL2YipO2tkmT1RcHn6zY,339
117
- telnyx/api_resources/public_endpoint.py,sha256=YGNd0GDPr01yRtYWhzUGybTH4KDJ5QmfkHzO81vcE_Y,323
118
116
  telnyx/api_resources/public_internet_gateway.py,sha256=1x2qoGyrtKJJAcSdw0h0gjIJ1ZekH5lKfKruveBDDhQ,337
119
117
  telnyx/api_resources/public_key.py,sha256=iQK2BodZvtHCg9KSsg9ofclpyv0RHBZ_90LTO5Z52xk,201
120
118
  telnyx/api_resources/push_credential.py,sha256=kBCmVn7Znr2C88ZOJIuPnsyQWZxloIyxn_1xnJ2Nwo4,316
@@ -144,20 +142,15 @@ telnyx/api_resources/sub_number_order.py,sha256=hb0hAhEv0xry7TfjWvKyybMC-WN6xaVp
144
142
  telnyx/api_resources/telephony_credential.py,sha256=_khQ2bOLoEQZ_p6qYB6-bjPwLoinPMR9JWol0_G59uE,646
145
143
  telnyx/api_resources/texml_application.py,sha256=5gubR9gjvZmZW4lva-OU0igOh6r0fLikotuVaM4uqEU,389
146
144
  telnyx/api_resources/texml_rest_command.py,sha256=Xfv4cbfikC1kundFjmBRtS1qM0uFllVhPLkuITWxcgU,327
147
- telnyx/api_resources/verification.py,sha256=qZjJZcVe1aM8h6M7OdLPfcaZ3wulXhpYWb0Iy8PoKf4,1615
145
+ telnyx/api_resources/verification.py,sha256=PDfKIOAvpTPIwDZJXXFlUFhswgdc7Ej2wJqwlQulSzU,2120
148
146
  telnyx/api_resources/verified_calls_display_profile.py,sha256=hLFpgrMtSW_jlVleXax7VROWEkBPEjNTE0a5fgKfJyg,413
149
147
  telnyx/api_resources/verified_number.py,sha256=8EGgTcC9BjBUrzH65znL15xNx4cgu1_hhF93VcMzcAw,515
150
- telnyx/api_resources/verify.py,sha256=f4q5uOhpA8mdnkAMLxHf13Y5l2K66m7HilMKnp4sEUU,567
148
+ telnyx/api_resources/verify.py,sha256=zLtuZiaGtvW8cl7HNMzTGKrjImQx0-I580_DKfIAPvQ,1132
151
149
  telnyx/api_resources/verify_profile.py,sha256=UJUUp2SRmrDzCt2oKHT_t3ynJ2G87_byx-dFffKUMkQ,383
152
150
  telnyx/api_resources/virtual_cross_connect.py,sha256=Z9eDeR7HEdZkLSTfsoxfYE2lT5x4IYjA1WIPzy86hsg,613
153
151
  telnyx/api_resources/wdr_detail_report.py,sha256=2_oJmdidVtX4DmPJsn0ff_8G0Gc-PL0Zo63Bym2FPZk,212
154
152
  telnyx/api_resources/webhook.py,sha256=rrvHtbgd6NhoKoYOjrDoGbBWMp2ElP1PJtL6ooNCHG0,194
155
153
  telnyx/api_resources/webhook_deliveries.py,sha256=zCq74p80po6kDZCjLPsTrhQH3NAyGT9OPxQoNCLH9ww,297
156
- telnyx/api_resources/whatsapp_business_account.py,sha256=OCfrVS9C6VZmRMR3lYBRgZX7W56j6J-AvV4bRw1T43M,228
157
- telnyx/api_resources/whatsapp_contact.py,sha256=wp9pU1DguE2_uA9mIm8Wchqwb5Jv163GSBoMKzGZoxs,215
158
- telnyx/api_resources/whatsapp_media.py,sha256=FjAqxVuDHt7_NQ_6B5mhWonSvDNlg2_upibQd096EGc,392
159
- telnyx/api_resources/whatsapp_message.py,sha256=1G0kwDoV7Ckam31B_yTzTFShVcXHPirF_HWRS3ioOls,326
160
- telnyx/api_resources/whatsapp_phone_number.py,sha256=dAsAV8hjFeBJtHAuYB6DBfEFTgx4gZDVVhJvaNuSIGc,266
161
154
  telnyx/api_resources/wireguard_interface.py,sha256=XhqyRiEkLFMjw_c7SOuF6EyLi1tssYgcuNTAtXHlc7w,393
162
155
  telnyx/api_resources/wireless_detail_record_report.py,sha256=dAYdVTkSLRJ2e6bXlHqBX7IX3VQGJIaMZOqDTuIf3a8,446
163
156
  telnyx/api_resources/abstract/__init__.py,sha256=9jcqkJnDYXXCzDIUTRqLGHTI17eKz3i9fMD_0QvySaE,692
@@ -165,11 +158,11 @@ telnyx/api_resources/abstract/api_resource.py,sha256=I7rUSntKGM6sF_9zt8z4r5gSH4z
165
158
  telnyx/api_resources/abstract/createable_api_resource.py,sha256=BSM5A7pWO1KtIhs9jdv2l44wE7RmV75hyFW6yB9k5Q8,549
166
159
  telnyx/api_resources/abstract/deletable_api_resource.py,sha256=dB3tDxsiTxY1I04ygZFvvDbOWql0-x3Q-PJv_jxIvmc,307
167
160
  telnyx/api_resources/abstract/listable_api_resource.py,sha256=shWcUha2LYM_WPedBXQ9bB_zlwZdLWAxccjVbklM2uU,907
168
- telnyx/api_resources/abstract/nested_resource_class_methods.py,sha256=dO18YZ4iuqmsvxibbXYfFb-D8Eg9XAKs8IQDGU--gCo,4314
161
+ telnyx/api_resources/abstract/nested_resource_class_methods.py,sha256=U0NV4cJRWHrrR1jFfHt0ALmrfIUomksAHfJl62prCZE,4768
169
162
  telnyx/api_resources/abstract/singleton_api_resource.py,sha256=2g-rKkk2dT8aNJDKEFiaLFRs8wKk31kBTJpku3kpdNE,874
170
163
  telnyx/api_resources/abstract/updateable_api_resource.py,sha256=2_WN99EUfBmnHunfjS3jlwY0EIoU8V7_j9OMRsiqedk,1673
171
- telnyx-2.1.1.dist-info/LICENSE,sha256=h4YEwOcV9A9iTg1cUsg0z7uU7gxj281PMpKWj-AdQWY,1141
172
- telnyx-2.1.1.dist-info/METADATA,sha256=TB1b4LUti6xT3vD26PabWHKAqOk6Kk2zgx4Jjc7GpDk,10658
173
- telnyx-2.1.1.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
174
- telnyx-2.1.1.dist-info/top_level.txt,sha256=e59ZDpP51N6b62sY7VrNLq8aR9Ly5-IHtl7zCkGA0Yw,7
175
- telnyx-2.1.1.dist-info/RECORD,,
164
+ telnyx-2.1.3.dist-info/LICENSE,sha256=h4YEwOcV9A9iTg1cUsg0z7uU7gxj281PMpKWj-AdQWY,1141
165
+ telnyx-2.1.3.dist-info/METADATA,sha256=-xpRNYWUw-fUgOq-MMwuXBPRGOB4GgeypnfFEUYpRLA,10695
166
+ telnyx-2.1.3.dist-info/WHEEL,sha256=M4n4zmFKzQZk4mLCcycNIzIXO7YPKE_b5Cw4PnhHEg8,109
167
+ telnyx-2.1.3.dist-info/top_level.txt,sha256=e59ZDpP51N6b62sY7VrNLq8aR9Ly5-IHtl7zCkGA0Yw,7
168
+ telnyx-2.1.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: setuptools (72.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any
@@ -1,14 +0,0 @@
1
- from __future__ import absolute_import, division, print_function
2
-
3
- from telnyx.api_resources.abstract import (
4
- CreateableAPIResource,
5
- DeletableAPIResource, ListableAPIResource
6
- )
7
-
8
-
9
- class PublicEndpoint(CreateableAPIResource, DeletableAPIResource, ListableAPIResource):
10
- OBJECT_NAME = "public_endpoint"
11
-
12
-
13
-
14
-
@@ -1,7 +0,0 @@
1
- from __future__ import absolute_import, division, print_function
2
-
3
- from telnyx.api_resources.abstract import ListableAPIResource
4
-
5
-
6
- class WhatsappBusinessAccount(ListableAPIResource):
7
- OBJECT_NAME = "whatsapp_business_account"
@@ -1,7 +0,0 @@
1
- from __future__ import absolute_import, division, print_function
2
-
3
- from telnyx.api_resources.abstract import CreateableAPIResource
4
-
5
-
6
- class WhatsappContact(CreateableAPIResource):
7
- OBJECT_NAME = "whatsapp_contact"
@@ -1,15 +0,0 @@
1
- from __future__ import absolute_import, division, print_function
2
-
3
- from telnyx.api_resources.abstract import (
4
- CreateableAPIResource,
5
- DeletableAPIResource,
6
- ListableAPIResource,
7
- )
8
-
9
-
10
- class WhatsappMedia(ListableAPIResource, CreateableAPIResource, DeletableAPIResource):
11
- OBJECT_NAME = "whatsapp_media"
12
-
13
- @classmethod
14
- def class_url(cls):
15
- return "/v2/whatsapp_media"
@@ -1,13 +0,0 @@
1
- from __future__ import absolute_import, division, print_function
2
-
3
- from telnyx.api_resources.abstract import (
4
- CreateableAPIResource,
5
- ListableAPIResource,
6
- UpdateableAPIResource,
7
- )
8
-
9
-
10
- class WhatsappMessage(
11
- CreateableAPIResource, ListableAPIResource, UpdateableAPIResource
12
- ):
13
- OBJECT_NAME = "whatsapp_message"
@@ -1,7 +0,0 @@
1
- from __future__ import absolute_import, division, print_function
2
-
3
- from telnyx.api_resources.abstract import ListableAPIResource, UpdateableAPIResource
4
-
5
-
6
- class WhatsappPhoneNumber(ListableAPIResource, UpdateableAPIResource):
7
- OBJECT_NAME = "whatsapp_phone_number"