moovio_sdk 0.12.0__py3-none-any.whl → 0.13.1__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.
Files changed (99) hide show
  1. moovio_sdk/_version.py +3 -3
  2. moovio_sdk/account_terminal_applications.py +70 -186
  3. moovio_sdk/accounts.py +168 -408
  4. moovio_sdk/adjustments.py +28 -84
  5. moovio_sdk/apple_pay.py +102 -236
  6. moovio_sdk/authentication.py +50 -102
  7. moovio_sdk/avatars.py +10 -38
  8. moovio_sdk/bank_accounts.py +174 -420
  9. moovio_sdk/basesdk.py +4 -4
  10. moovio_sdk/branding.py +106 -198
  11. moovio_sdk/capabilities.py +76 -180
  12. moovio_sdk/card_issuing.py +94 -228
  13. moovio_sdk/cards.py +94 -232
  14. moovio_sdk/disputes.py +204 -500
  15. moovio_sdk/end_to_end_encryption.py +28 -80
  16. moovio_sdk/enriched_address.py +14 -44
  17. moovio_sdk/enriched_profile.py +14 -44
  18. moovio_sdk/fee_plans.py +116 -314
  19. moovio_sdk/files.py +52 -138
  20. moovio_sdk/industries.py +14 -44
  21. moovio_sdk/institutions.py +36 -92
  22. moovio_sdk/issuing_transactions.py +70 -220
  23. moovio_sdk/models/components/__init__.py +39 -0
  24. moovio_sdk/models/components/createticket.py +24 -0
  25. moovio_sdk/models/components/createticketcontacterror.py +17 -0
  26. moovio_sdk/models/components/ticket.py +44 -0
  27. moovio_sdk/models/components/ticketcontact.py +17 -0
  28. moovio_sdk/models/components/ticketmessage.py +21 -0
  29. moovio_sdk/models/components/ticketstatus.py +11 -0
  30. moovio_sdk/models/components/updateticket.py +19 -0
  31. moovio_sdk/models/components/updateticketstatus.py +8 -0
  32. moovio_sdk/models/errors/__init__.py +19 -0
  33. moovio_sdk/models/errors/accountterminalapplicationerror.py +11 -6
  34. moovio_sdk/models/errors/addcapabilitieserror.py +11 -6
  35. moovio_sdk/models/errors/apierror.py +30 -14
  36. moovio_sdk/models/errors/assigncountrieserror.py +12 -6
  37. moovio_sdk/models/errors/authtokenrequesterror.py +11 -6
  38. moovio_sdk/models/errors/bankaccountvalidationerror.py +11 -6
  39. moovio_sdk/models/errors/brandvalidationerror.py +11 -6
  40. moovio_sdk/models/errors/cardacquiringrefund.py +11 -6
  41. moovio_sdk/models/errors/createaccount.py +12 -6
  42. moovio_sdk/models/errors/createpaymentlinkerror.py +11 -6
  43. moovio_sdk/models/errors/createsweepconfigerror.py +11 -6
  44. moovio_sdk/models/errors/createticketerror.py +34 -0
  45. moovio_sdk/models/errors/feeplanagreementerror.py +11 -6
  46. moovio_sdk/models/errors/fileuploadvalidationerror.py +11 -6
  47. moovio_sdk/models/errors/filevalidationerror.py +11 -6
  48. moovio_sdk/models/errors/genericerror.py +12 -6
  49. moovio_sdk/models/errors/linkapplepayerror.py +11 -6
  50. moovio_sdk/models/errors/linkcarderror.py +11 -6
  51. moovio_sdk/models/errors/microdepositvalidationerror.py +11 -6
  52. moovio_sdk/models/errors/mooverror.py +26 -0
  53. moovio_sdk/models/errors/no_response_error.py +13 -0
  54. moovio_sdk/models/errors/onboardinginviteerror.py +11 -6
  55. moovio_sdk/models/errors/patchsweepconfigerror.py +11 -6
  56. moovio_sdk/models/errors/refundvalidationerror.py +11 -6
  57. moovio_sdk/models/errors/representativevalidationerror.py +11 -6
  58. moovio_sdk/models/errors/requestcarderror.py +11 -6
  59. moovio_sdk/models/errors/responsevalidationerror.py +25 -0
  60. moovio_sdk/models/errors/reversalvalidationerror.py +11 -6
  61. moovio_sdk/models/errors/revoketokenrequesterror.py +11 -6
  62. moovio_sdk/models/errors/schedulevalidationerror.py +11 -6
  63. moovio_sdk/models/errors/terminalapplicationerror.py +11 -6
  64. moovio_sdk/models/errors/transfer.py +11 -6
  65. moovio_sdk/models/errors/transferoptionsvalidationerror.py +11 -6
  66. moovio_sdk/models/errors/transfervalidationerror.py +11 -6
  67. moovio_sdk/models/errors/updateaccount.py +12 -6
  68. moovio_sdk/models/errors/updatecarderror.py +11 -6
  69. moovio_sdk/models/errors/updateissuedcarderror.py +11 -6
  70. moovio_sdk/models/errors/updatepaymentlinkerror.py +11 -6
  71. moovio_sdk/models/errors/updateticketerror.py +25 -0
  72. moovio_sdk/models/errors/updateunderwritingerror.py +11 -6
  73. moovio_sdk/models/errors/upsertunderwritingerror.py +11 -6
  74. moovio_sdk/models/operations/__init__.py +100 -0
  75. moovio_sdk/models/operations/createticket.py +78 -0
  76. moovio_sdk/models/operations/getticket.py +71 -0
  77. moovio_sdk/models/operations/listticketmessages.py +88 -0
  78. moovio_sdk/models/operations/listtickets.py +81 -0
  79. moovio_sdk/models/operations/updateticket.py +85 -0
  80. moovio_sdk/onboarding.py +66 -166
  81. moovio_sdk/payment_links.py +106 -272
  82. moovio_sdk/payment_methods.py +30 -86
  83. moovio_sdk/ping.py +10 -40
  84. moovio_sdk/receipts.py +36 -92
  85. moovio_sdk/representatives.py +102 -228
  86. moovio_sdk/scheduling.py +122 -278
  87. moovio_sdk/sdk.py +3 -0
  88. moovio_sdk/support.py +1153 -0
  89. moovio_sdk/sweeps.py +102 -274
  90. moovio_sdk/terminal_applications.py +74 -186
  91. moovio_sdk/transfers.py +266 -582
  92. moovio_sdk/underwriting.py +64 -146
  93. moovio_sdk/utils/__init__.py +3 -0
  94. moovio_sdk/utils/serializers.py +21 -3
  95. moovio_sdk/wallet_transactions.py +28 -88
  96. moovio_sdk/wallets.py +24 -84
  97. {moovio_sdk-0.12.0.dist-info → moovio_sdk-0.13.1.dist-info}/METADATA +103 -28
  98. {moovio_sdk-0.12.0.dist-info → moovio_sdk-0.13.1.dist-info}/RECORD +99 -80
  99. {moovio_sdk-0.12.0.dist-info → moovio_sdk-0.13.1.dist-info}/WHEEL +0 -0
@@ -95,37 +95,24 @@ class EndToEndEncryption(BaseSDK):
95
95
  headers=utils.get_response_headers(http_res.headers)
96
96
  )
97
97
  if utils.match_response(http_res, "400", "application/json"):
98
- response_data = utils.unmarshal_json(http_res.text, errors.GenericErrorData)
99
- raise errors.GenericError(data=response_data)
98
+ response_data = utils.unmarshal_json_response(
99
+ errors.GenericErrorData, http_res
100
+ )
101
+ raise errors.GenericError(response_data, http_res)
100
102
  if utils.match_response(http_res, "429", "*"):
101
103
  http_res_text = utils.stream_to_text(http_res)
102
- raise errors.APIError(
103
- "API error occurred", http_res.status_code, http_res_text, http_res
104
- )
104
+ raise errors.APIError("API error occurred", http_res, http_res_text)
105
105
  if utils.match_response(http_res, ["500", "504"], "*"):
106
106
  http_res_text = utils.stream_to_text(http_res)
107
- raise errors.APIError(
108
- "API error occurred", http_res.status_code, http_res_text, http_res
109
- )
107
+ raise errors.APIError("API error occurred", http_res, http_res_text)
110
108
  if utils.match_response(http_res, "4XX", "*"):
111
109
  http_res_text = utils.stream_to_text(http_res)
112
- raise errors.APIError(
113
- "API error occurred", http_res.status_code, http_res_text, http_res
114
- )
110
+ raise errors.APIError("API error occurred", http_res, http_res_text)
115
111
  if utils.match_response(http_res, "5XX", "*"):
116
112
  http_res_text = utils.stream_to_text(http_res)
117
- raise errors.APIError(
118
- "API error occurred", http_res.status_code, http_res_text, http_res
119
- )
113
+ raise errors.APIError("API error occurred", http_res, http_res_text)
120
114
 
121
- content_type = http_res.headers.get("Content-Type")
122
- http_res_text = utils.stream_to_text(http_res)
123
- raise errors.APIError(
124
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
125
- http_res.status_code,
126
- http_res_text,
127
- http_res,
128
- )
115
+ raise errors.APIError("Unexpected response received", http_res)
129
116
 
130
117
  async def test_encrypted_token_async(
131
118
  self,
@@ -212,37 +199,24 @@ class EndToEndEncryption(BaseSDK):
212
199
  headers=utils.get_response_headers(http_res.headers)
213
200
  )
214
201
  if utils.match_response(http_res, "400", "application/json"):
215
- response_data = utils.unmarshal_json(http_res.text, errors.GenericErrorData)
216
- raise errors.GenericError(data=response_data)
202
+ response_data = utils.unmarshal_json_response(
203
+ errors.GenericErrorData, http_res
204
+ )
205
+ raise errors.GenericError(response_data, http_res)
217
206
  if utils.match_response(http_res, "429", "*"):
218
207
  http_res_text = await utils.stream_to_text_async(http_res)
219
- raise errors.APIError(
220
- "API error occurred", http_res.status_code, http_res_text, http_res
221
- )
208
+ raise errors.APIError("API error occurred", http_res, http_res_text)
222
209
  if utils.match_response(http_res, ["500", "504"], "*"):
223
210
  http_res_text = await utils.stream_to_text_async(http_res)
224
- raise errors.APIError(
225
- "API error occurred", http_res.status_code, http_res_text, http_res
226
- )
211
+ raise errors.APIError("API error occurred", http_res, http_res_text)
227
212
  if utils.match_response(http_res, "4XX", "*"):
228
213
  http_res_text = await utils.stream_to_text_async(http_res)
229
- raise errors.APIError(
230
- "API error occurred", http_res.status_code, http_res_text, http_res
231
- )
214
+ raise errors.APIError("API error occurred", http_res, http_res_text)
232
215
  if utils.match_response(http_res, "5XX", "*"):
233
216
  http_res_text = await utils.stream_to_text_async(http_res)
234
- raise errors.APIError(
235
- "API error occurred", http_res.status_code, http_res_text, http_res
236
- )
217
+ raise errors.APIError("API error occurred", http_res, http_res_text)
237
218
 
238
- content_type = http_res.headers.get("Content-Type")
239
- http_res_text = await utils.stream_to_text_async(http_res)
240
- raise errors.APIError(
241
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
242
- http_res.status_code,
243
- http_res_text,
244
- http_res,
245
- )
219
+ raise errors.APIError("Unexpected response received", http_res)
246
220
 
247
221
  def generate_key(
248
222
  self,
@@ -322,33 +296,20 @@ class EndToEndEncryption(BaseSDK):
322
296
 
323
297
  if utils.match_response(http_res, "200", "application/json"):
324
298
  return operations.GenerateEndToEndKeyResponse(
325
- result=utils.unmarshal_json(http_res.text, components.JSONWebKey),
299
+ result=utils.unmarshal_json_response(components.JSONWebKey, http_res),
326
300
  headers=utils.get_response_headers(http_res.headers),
327
301
  )
328
302
  if utils.match_response(http_res, "429", "*"):
329
303
  http_res_text = utils.stream_to_text(http_res)
330
- raise errors.APIError(
331
- "API error occurred", http_res.status_code, http_res_text, http_res
332
- )
304
+ raise errors.APIError("API error occurred", http_res, http_res_text)
333
305
  if utils.match_response(http_res, "4XX", "*"):
334
306
  http_res_text = utils.stream_to_text(http_res)
335
- raise errors.APIError(
336
- "API error occurred", http_res.status_code, http_res_text, http_res
337
- )
307
+ raise errors.APIError("API error occurred", http_res, http_res_text)
338
308
  if utils.match_response(http_res, "5XX", "*"):
339
309
  http_res_text = utils.stream_to_text(http_res)
340
- raise errors.APIError(
341
- "API error occurred", http_res.status_code, http_res_text, http_res
342
- )
310
+ raise errors.APIError("API error occurred", http_res, http_res_text)
343
311
 
344
- content_type = http_res.headers.get("Content-Type")
345
- http_res_text = utils.stream_to_text(http_res)
346
- raise errors.APIError(
347
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
348
- http_res.status_code,
349
- http_res_text,
350
- http_res,
351
- )
312
+ raise errors.APIError("Unexpected response received", http_res)
352
313
 
353
314
  async def generate_key_async(
354
315
  self,
@@ -428,30 +389,17 @@ class EndToEndEncryption(BaseSDK):
428
389
 
429
390
  if utils.match_response(http_res, "200", "application/json"):
430
391
  return operations.GenerateEndToEndKeyResponse(
431
- result=utils.unmarshal_json(http_res.text, components.JSONWebKey),
392
+ result=utils.unmarshal_json_response(components.JSONWebKey, http_res),
432
393
  headers=utils.get_response_headers(http_res.headers),
433
394
  )
434
395
  if utils.match_response(http_res, "429", "*"):
435
396
  http_res_text = await utils.stream_to_text_async(http_res)
436
- raise errors.APIError(
437
- "API error occurred", http_res.status_code, http_res_text, http_res
438
- )
397
+ raise errors.APIError("API error occurred", http_res, http_res_text)
439
398
  if utils.match_response(http_res, "4XX", "*"):
440
399
  http_res_text = await utils.stream_to_text_async(http_res)
441
- raise errors.APIError(
442
- "API error occurred", http_res.status_code, http_res_text, http_res
443
- )
400
+ raise errors.APIError("API error occurred", http_res, http_res_text)
444
401
  if utils.match_response(http_res, "5XX", "*"):
445
402
  http_res_text = await utils.stream_to_text_async(http_res)
446
- raise errors.APIError(
447
- "API error occurred", http_res.status_code, http_res_text, http_res
448
- )
403
+ raise errors.APIError("API error occurred", http_res, http_res_text)
449
404
 
450
- content_type = http_res.headers.get("Content-Type")
451
- http_res_text = await utils.stream_to_text_async(http_res)
452
- raise errors.APIError(
453
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
454
- http_res.status_code,
455
- http_res_text,
456
- http_res,
457
- )
405
+ raise errors.APIError("Unexpected response received", http_res)
@@ -124,40 +124,25 @@ class EnrichedAddress(BaseSDK):
124
124
 
125
125
  if utils.match_response(http_res, "200", "application/json"):
126
126
  return operations.GetEnrichmentAddressResponse(
127
- result=utils.unmarshal_json(
128
- http_res.text, components.EnrichedAddressResponse
127
+ result=utils.unmarshal_json_response(
128
+ components.EnrichedAddressResponse, http_res
129
129
  ),
130
130
  headers=utils.get_response_headers(http_res.headers),
131
131
  )
132
132
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
133
133
  http_res_text = utils.stream_to_text(http_res)
134
- raise errors.APIError(
135
- "API error occurred", http_res.status_code, http_res_text, http_res
136
- )
134
+ raise errors.APIError("API error occurred", http_res, http_res_text)
137
135
  if utils.match_response(http_res, ["500", "504"], "*"):
138
136
  http_res_text = utils.stream_to_text(http_res)
139
- raise errors.APIError(
140
- "API error occurred", http_res.status_code, http_res_text, http_res
141
- )
137
+ raise errors.APIError("API error occurred", http_res, http_res_text)
142
138
  if utils.match_response(http_res, "4XX", "*"):
143
139
  http_res_text = utils.stream_to_text(http_res)
144
- raise errors.APIError(
145
- "API error occurred", http_res.status_code, http_res_text, http_res
146
- )
140
+ raise errors.APIError("API error occurred", http_res, http_res_text)
147
141
  if utils.match_response(http_res, "5XX", "*"):
148
142
  http_res_text = utils.stream_to_text(http_res)
149
- raise errors.APIError(
150
- "API error occurred", http_res.status_code, http_res_text, http_res
151
- )
143
+ raise errors.APIError("API error occurred", http_res, http_res_text)
152
144
 
153
- content_type = http_res.headers.get("Content-Type")
154
- http_res_text = utils.stream_to_text(http_res)
155
- raise errors.APIError(
156
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
157
- http_res.status_code,
158
- http_res_text,
159
- http_res,
160
- )
145
+ raise errors.APIError("Unexpected response received", http_res)
161
146
 
162
147
  async def get_async(
163
148
  self,
@@ -273,37 +258,22 @@ class EnrichedAddress(BaseSDK):
273
258
 
274
259
  if utils.match_response(http_res, "200", "application/json"):
275
260
  return operations.GetEnrichmentAddressResponse(
276
- result=utils.unmarshal_json(
277
- http_res.text, components.EnrichedAddressResponse
261
+ result=utils.unmarshal_json_response(
262
+ components.EnrichedAddressResponse, http_res
278
263
  ),
279
264
  headers=utils.get_response_headers(http_res.headers),
280
265
  )
281
266
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
282
267
  http_res_text = await utils.stream_to_text_async(http_res)
283
- raise errors.APIError(
284
- "API error occurred", http_res.status_code, http_res_text, http_res
285
- )
268
+ raise errors.APIError("API error occurred", http_res, http_res_text)
286
269
  if utils.match_response(http_res, ["500", "504"], "*"):
287
270
  http_res_text = await utils.stream_to_text_async(http_res)
288
- raise errors.APIError(
289
- "API error occurred", http_res.status_code, http_res_text, http_res
290
- )
271
+ raise errors.APIError("API error occurred", http_res, http_res_text)
291
272
  if utils.match_response(http_res, "4XX", "*"):
292
273
  http_res_text = await utils.stream_to_text_async(http_res)
293
- raise errors.APIError(
294
- "API error occurred", http_res.status_code, http_res_text, http_res
295
- )
274
+ raise errors.APIError("API error occurred", http_res, http_res_text)
296
275
  if utils.match_response(http_res, "5XX", "*"):
297
276
  http_res_text = await utils.stream_to_text_async(http_res)
298
- raise errors.APIError(
299
- "API error occurred", http_res.status_code, http_res_text, http_res
300
- )
277
+ raise errors.APIError("API error occurred", http_res, http_res_text)
301
278
 
302
- content_type = http_res.headers.get("Content-Type")
303
- http_res_text = await utils.stream_to_text_async(http_res)
304
- raise errors.APIError(
305
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
306
- http_res.status_code,
307
- http_res_text,
308
- http_res,
309
- )
279
+ raise errors.APIError("Unexpected response received", http_res)
@@ -88,40 +88,25 @@ class EnrichedProfile(BaseSDK):
88
88
 
89
89
  if utils.match_response(http_res, "200", "application/json"):
90
90
  return operations.GetEnrichmentProfileResponse(
91
- result=utils.unmarshal_json(
92
- http_res.text, components.EnrichedBusinessResponse
91
+ result=utils.unmarshal_json_response(
92
+ components.EnrichedBusinessResponse, http_res
93
93
  ),
94
94
  headers=utils.get_response_headers(http_res.headers),
95
95
  )
96
96
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
97
97
  http_res_text = utils.stream_to_text(http_res)
98
- raise errors.APIError(
99
- "API error occurred", http_res.status_code, http_res_text, http_res
100
- )
98
+ raise errors.APIError("API error occurred", http_res, http_res_text)
101
99
  if utils.match_response(http_res, ["500", "504"], "*"):
102
100
  http_res_text = utils.stream_to_text(http_res)
103
- raise errors.APIError(
104
- "API error occurred", http_res.status_code, http_res_text, http_res
105
- )
101
+ raise errors.APIError("API error occurred", http_res, http_res_text)
106
102
  if utils.match_response(http_res, "4XX", "*"):
107
103
  http_res_text = utils.stream_to_text(http_res)
108
- raise errors.APIError(
109
- "API error occurred", http_res.status_code, http_res_text, http_res
110
- )
104
+ raise errors.APIError("API error occurred", http_res, http_res_text)
111
105
  if utils.match_response(http_res, "5XX", "*"):
112
106
  http_res_text = utils.stream_to_text(http_res)
113
- raise errors.APIError(
114
- "API error occurred", http_res.status_code, http_res_text, http_res
115
- )
107
+ raise errors.APIError("API error occurred", http_res, http_res_text)
116
108
 
117
- content_type = http_res.headers.get("Content-Type")
118
- http_res_text = utils.stream_to_text(http_res)
119
- raise errors.APIError(
120
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
121
- http_res.status_code,
122
- http_res_text,
123
- http_res,
124
- )
109
+ raise errors.APIError("Unexpected response received", http_res)
125
110
 
126
111
  async def get_async(
127
112
  self,
@@ -201,37 +186,22 @@ class EnrichedProfile(BaseSDK):
201
186
 
202
187
  if utils.match_response(http_res, "200", "application/json"):
203
188
  return operations.GetEnrichmentProfileResponse(
204
- result=utils.unmarshal_json(
205
- http_res.text, components.EnrichedBusinessResponse
189
+ result=utils.unmarshal_json_response(
190
+ components.EnrichedBusinessResponse, http_res
206
191
  ),
207
192
  headers=utils.get_response_headers(http_res.headers),
208
193
  )
209
194
  if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
210
195
  http_res_text = await utils.stream_to_text_async(http_res)
211
- raise errors.APIError(
212
- "API error occurred", http_res.status_code, http_res_text, http_res
213
- )
196
+ raise errors.APIError("API error occurred", http_res, http_res_text)
214
197
  if utils.match_response(http_res, ["500", "504"], "*"):
215
198
  http_res_text = await utils.stream_to_text_async(http_res)
216
- raise errors.APIError(
217
- "API error occurred", http_res.status_code, http_res_text, http_res
218
- )
199
+ raise errors.APIError("API error occurred", http_res, http_res_text)
219
200
  if utils.match_response(http_res, "4XX", "*"):
220
201
  http_res_text = await utils.stream_to_text_async(http_res)
221
- raise errors.APIError(
222
- "API error occurred", http_res.status_code, http_res_text, http_res
223
- )
202
+ raise errors.APIError("API error occurred", http_res, http_res_text)
224
203
  if utils.match_response(http_res, "5XX", "*"):
225
204
  http_res_text = await utils.stream_to_text_async(http_res)
226
- raise errors.APIError(
227
- "API error occurred", http_res.status_code, http_res_text, http_res
228
- )
205
+ raise errors.APIError("API error occurred", http_res, http_res_text)
229
206
 
230
- content_type = http_res.headers.get("Content-Type")
231
- http_res_text = await utils.stream_to_text_async(http_res)
232
- raise errors.APIError(
233
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
234
- http_res.status_code,
235
- http_res_text,
236
- http_res,
237
- )
207
+ raise errors.APIError("Unexpected response received", http_res)