cuenca 2.2.1__tar.gz → 2.2.2__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.
Files changed (123) hide show
  1. {cuenca-2.2.1 → cuenca-2.2.2}/PKG-INFO +1 -1
  2. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/__init__.py +4 -0
  3. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/__init__.py +6 -0
  4. cuenca-2.2.2/cuenca/resources/agent_verifications.py +37 -0
  5. cuenca-2.2.2/cuenca/resources/agents.py +52 -0
  6. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/version.py +1 -1
  7. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca.egg-info/PKG-INFO +1 -1
  8. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca.egg-info/SOURCES.txt +3 -0
  9. cuenca-2.2.2/tests/resources/test_agents.py +22 -0
  10. {cuenca-2.2.1 → cuenca-2.2.2}/LICENSE +0 -0
  11. {cuenca-2.2.1 → cuenca-2.2.2}/README.md +0 -0
  12. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/exc.py +0 -0
  13. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/http/__init__.py +0 -0
  14. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/http/client.py +0 -0
  15. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/jwt.py +0 -0
  16. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/py.typed +0 -0
  17. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/accounts.py +0 -0
  18. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/api_keys.py +0 -0
  19. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/arpc.py +0 -0
  20. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/balance_entries.py +0 -0
  21. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/base.py +0 -0
  22. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/bill_payments.py +0 -0
  23. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/card_activations.py +0 -0
  24. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/card_transactions.py +0 -0
  25. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/card_validations.py +0 -0
  26. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/cards.py +0 -0
  27. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/cash_references.py +0 -0
  28. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/clabes.py +0 -0
  29. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/commissions.py +0 -0
  30. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/curp_validations.py +0 -0
  31. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/deposits.py +0 -0
  32. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/endpoints.py +0 -0
  33. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/exist_phones.py +0 -0
  34. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/file_batches.py +0 -0
  35. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/files.py +0 -0
  36. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/identities.py +0 -0
  37. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/identity_events.py +0 -0
  38. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/jwt_tokens.py +0 -0
  39. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/kyc_validations.py +0 -0
  40. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/limited_wallets.py +0 -0
  41. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/login_tokens.py +0 -0
  42. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/otps.py +0 -0
  43. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/password_resets.py +0 -0
  44. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/phone_verification_associations.py +0 -0
  45. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/platforms.py +0 -0
  46. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/postal_codes.py +0 -0
  47. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/questionnaires.py +0 -0
  48. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/resources.py +0 -0
  49. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/savings.py +0 -0
  50. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/service_providers.py +0 -0
  51. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/sessions.py +0 -0
  52. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/statements.py +0 -0
  53. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/terms_of_service.py +0 -0
  54. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/transfers.py +0 -0
  55. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/user_credentials.py +0 -0
  56. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/user_events.py +0 -0
  57. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/user_lists_validation.py +0 -0
  58. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/user_logins.py +0 -0
  59. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/users.py +0 -0
  60. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/users_tos_agreements.py +0 -0
  61. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/verifications.py +0 -0
  62. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/wallet_transactions.py +0 -0
  63. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/webhooks.py +0 -0
  64. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca/resources/whatsapp_transfers.py +0 -0
  65. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca.egg-info/dependency_links.txt +0 -0
  66. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca.egg-info/requires.txt +0 -0
  67. {cuenca-2.2.1 → cuenca-2.2.2}/cuenca.egg-info/top_level.txt +0 -0
  68. {cuenca-2.2.1 → cuenca-2.2.2}/setup.cfg +0 -0
  69. {cuenca-2.2.1 → cuenca-2.2.2}/setup.py +0 -0
  70. {cuenca-2.2.1 → cuenca-2.2.2}/tests/__init__.py +0 -0
  71. {cuenca-2.2.1 → cuenca-2.2.2}/tests/conftest.py +0 -0
  72. {cuenca-2.2.1 → cuenca-2.2.2}/tests/http/__init__.py +0 -0
  73. {cuenca-2.2.1 → cuenca-2.2.2}/tests/http/conftest.py +0 -0
  74. {cuenca-2.2.1 → cuenca-2.2.2}/tests/http/test_client.py +0 -0
  75. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/__init__.py +0 -0
  76. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_accounts.py +0 -0
  77. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_api_keys.py +0 -0
  78. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_arpc.py +0 -0
  79. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_balance_entries.py +0 -0
  80. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_bill_payments.py +0 -0
  81. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_card_activations.py +0 -0
  82. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_card_transactions.py +0 -0
  83. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_card_validations.py +0 -0
  84. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_cards.py +0 -0
  85. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_cash_references.py +0 -0
  86. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_clabes.py +0 -0
  87. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_commissions.py +0 -0
  88. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_curp_validations.py +0 -0
  89. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_deposits.py +0 -0
  90. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_endpoints.py +0 -0
  91. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_exist_phone.py +0 -0
  92. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_file_batches.py +0 -0
  93. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_files.py +0 -0
  94. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_identities.py +0 -0
  95. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_identity_events.py +0 -0
  96. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_jwt_tokens.py +0 -0
  97. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_kyc_validations.py +0 -0
  98. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_limited_wallets.py +0 -0
  99. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_login_tokens.py +0 -0
  100. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_otps.py +0 -0
  101. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_password_resets.py +0 -0
  102. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_phone_verification_association.py +0 -0
  103. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_platforms.py +0 -0
  104. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_postal_codes.py +0 -0
  105. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_questionnaires.py +0 -0
  106. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_resources.py +0 -0
  107. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_savings.py +0 -0
  108. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_service_providers.py +0 -0
  109. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_sessions.py +0 -0
  110. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_statements.py +0 -0
  111. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_transfers.py +0 -0
  112. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_user_credentials.py +0 -0
  113. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_user_events.py +0 -0
  114. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_user_lists_validation.py +0 -0
  115. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_user_logins.py +0 -0
  116. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_users.py +0 -0
  117. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_users_tos_agreements.py +0 -0
  118. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_verifications.py +0 -0
  119. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_wallet_transactions.py +0 -0
  120. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_webhooks.py +0 -0
  121. {cuenca-2.2.1 → cuenca-2.2.2}/tests/resources/test_whatsapp_transfers.py +0 -0
  122. {cuenca-2.2.1 → cuenca-2.2.2}/tests/test_cuenca.py +0 -0
  123. {cuenca-2.2.1 → cuenca-2.2.2}/tests/test_jwt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Cuenca API Client
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-python
6
6
  Author: Cuenca
@@ -1,5 +1,7 @@
1
1
  __all__ = [
2
2
  '__version__',
3
+ 'Agent',
4
+ 'AgentVerification',
3
5
  'ApiKey',
4
6
  'Account',
5
7
  'Arpc',
@@ -53,6 +55,8 @@ __all__ = [
53
55
  from . import http
54
56
  from .resources import (
55
57
  Account,
58
+ Agent,
59
+ AgentVerification,
56
60
  ApiKey,
57
61
  Arpc,
58
62
  BalanceEntry,
@@ -1,4 +1,6 @@
1
1
  __all__ = [
2
+ 'Agent',
3
+ 'AgentVerification',
2
4
  'ApiKey',
3
5
  'Account',
4
6
  'Arpc',
@@ -47,6 +49,8 @@ __all__ = [
47
49
  ]
48
50
 
49
51
  from .accounts import Account
52
+ from .agent_verifications import AgentVerification
53
+ from .agents import Agent
50
54
  from .api_keys import ApiKey
51
55
  from .arpc import Arpc
52
56
  from .balance_entries import BalanceEntry
@@ -96,6 +100,8 @@ from .whatsapp_transfers import WhatsappTransfer
96
100
 
97
101
  # avoid circular imports
98
102
  resource_classes = [
103
+ Agent,
104
+ AgentVerification,
99
105
  ApiKey,
100
106
  Account,
101
107
  Arpc,
@@ -0,0 +1,37 @@
1
+ import datetime as dt
2
+ from typing import ClassVar
3
+
4
+ from cuenca_validations.types.identities import PhoneNumber
5
+ from pydantic import ConfigDict
6
+
7
+ from ..http import Session, session as global_session
8
+ from .base import Creatable
9
+
10
+
11
+ class AgentVerification(Creatable):
12
+ _resource: ClassVar = 'agent_verifications'
13
+
14
+ created_at: dt.datetime
15
+ user_id: str
16
+ platform_id: str
17
+ phone_number: PhoneNumber
18
+ pairing_code: str
19
+ deactivated_at: dt.datetime
20
+
21
+ model_config = ConfigDict(
22
+ json_schema_extra={
23
+ 'example': {
24
+ 'id': 'AVjTtPH1mhT65GEgOeomJ4DQ',
25
+ 'created_at': '2026-06-25T22:50:08.495768',
26
+ 'user_id': 'USMP3EPgI4T4CPFyVmXUPi8A',
27
+ 'platform_id': 'PTZbBlk__kQt-wfwzP5nwA9A',
28
+ 'phone_number': '+525512345678',
29
+ 'pairing_code': 'OJC37W',
30
+ 'deactivated_at': '2026-06-25T22:55:08.495779',
31
+ }
32
+ }
33
+ )
34
+
35
+ @classmethod
36
+ def create(cls, session: Session = global_session) -> 'AgentVerification':
37
+ return cls._create(session=session)
@@ -0,0 +1,52 @@
1
+ import datetime as dt
2
+ from typing import ClassVar, Optional
3
+
4
+ from cuenca_validations.types import AgentQuery, AgentRequest, PhoneNumber
5
+ from cuenca_validations.typing import DictStrAny
6
+ from pydantic import ConfigDict, Field
7
+
8
+ from ..http import Session, session as global_session
9
+ from .base import Creatable, Queryable
10
+
11
+
12
+ class Agent(Creatable, Queryable):
13
+ _resource: ClassVar = 'agents'
14
+ _query_params: ClassVar = AgentQuery
15
+
16
+ created_at: dt.datetime
17
+ user_id: str
18
+ platform_id: str
19
+ agent_verification_id: str
20
+ session_id: str
21
+ device_info: DictStrAny = Field(default_factory=dict)
22
+ deactivated_at: Optional[dt.datetime] = None
23
+
24
+ model_config = ConfigDict(
25
+ json_schema_extra={
26
+ 'example': {
27
+ 'id': 'AG1G6Bm0oGQOCRjTDaeFSsyA',
28
+ 'created_at': '2026-06-27T01:56:42.613781',
29
+ 'user_id': 'USMP3EPgI4T4CPFyVmXUPi8A',
30
+ 'platform_id': 'PTZbBlk__kQt-wfwzP5nwA9A',
31
+ 'agent_verification_id': 'AV7A1FLC7MSnqKcb7oAkiQxA',
32
+ 'session_id': 'SSH0M5yteyRHas-PmfT9pu9w',
33
+ 'device_info': {'client': 'cursor', 'os': 'macOS'},
34
+ }
35
+ }
36
+ )
37
+
38
+ @classmethod
39
+ def create(
40
+ cls,
41
+ pairing_code: str,
42
+ phone_number: PhoneNumber,
43
+ device_info: Optional[DictStrAny] = None,
44
+ *,
45
+ session: Session = global_session,
46
+ ) -> 'Agent':
47
+ req = AgentRequest(
48
+ pairing_code=pairing_code,
49
+ phone_number=phone_number,
50
+ device_info=device_info or {},
51
+ )
52
+ return cls._create(session=session, **req.model_dump())
@@ -1,3 +1,3 @@
1
- __version__ = '2.2.1'
1
+ __version__ = '2.2.2'
2
2
  CLIENT_VERSION = __version__
3
3
  API_VERSION = '2020-03-19'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Cuenca API Client
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-python
6
6
  Author: Cuenca
@@ -16,6 +16,8 @@ cuenca/http/__init__.py
16
16
  cuenca/http/client.py
17
17
  cuenca/resources/__init__.py
18
18
  cuenca/resources/accounts.py
19
+ cuenca/resources/agent_verifications.py
20
+ cuenca/resources/agents.py
19
21
  cuenca/resources/api_keys.py
20
22
  cuenca/resources/arpc.py
21
23
  cuenca/resources/balance_entries.py
@@ -72,6 +74,7 @@ tests/http/conftest.py
72
74
  tests/http/test_client.py
73
75
  tests/resources/__init__.py
74
76
  tests/resources/test_accounts.py
77
+ tests/resources/test_agents.py
75
78
  tests/resources/test_api_keys.py
76
79
  tests/resources/test_arpc.py
77
80
  tests/resources/test_balance_entries.py
@@ -0,0 +1,22 @@
1
+ import pytest
2
+
3
+ from cuenca.http.client import Session
4
+ from cuenca.resources import Agent, AgentVerification
5
+
6
+
7
+ @pytest.mark.vcr
8
+ def test_agent_create():
9
+ verification = AgentVerification.create() # Created by user in APP
10
+ agent_session = Session()
11
+ agent_session.configure(sandbox=True)
12
+ agent = Agent.create(
13
+ pairing_code=verification.pairing_code,
14
+ phone_number=verification.phone_number,
15
+ device_info={'client': 'cursor', 'os': 'macOS'},
16
+ session=agent_session,
17
+ )
18
+ assert agent.id
19
+ assert agent.agent_verification_id == verification.id
20
+ assert agent.session_id
21
+ assert agent.user_id
22
+ assert agent.platform_id
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes