mergepythonclient 2.6.3__py3-none-any.whl → 2.6.4__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.
- merge/client.py +36 -36
- merge/core/client_wrapper.py +2 -2
- merge/resources/chat/types/member.py +5 -0
- {mergepythonclient-2.6.3.dist-info → mergepythonclient-2.6.4.dist-info}/METADATA +18 -17
- {mergepythonclient-2.6.3.dist-info → mergepythonclient-2.6.4.dist-info}/RECORD +7 -7
- {mergepythonclient-2.6.3.dist-info → mergepythonclient-2.6.4.dist-info}/LICENSE.md +0 -0
- {mergepythonclient-2.6.3.dist-info → mergepythonclient-2.6.4.dist-info}/WHEEL +0 -0
merge/client.py
CHANGED
|
@@ -88,23 +88,15 @@ class Merge:
|
|
|
88
88
|
else httpx.Client(timeout=_defaulted_timeout),
|
|
89
89
|
timeout=_defaulted_timeout,
|
|
90
90
|
)
|
|
91
|
-
self._chat: typing.Optional[ChatClient] = None
|
|
92
91
|
self._ats: typing.Optional[AtsClient] = None
|
|
92
|
+
self._chat: typing.Optional[ChatClient] = None
|
|
93
93
|
self._crm: typing.Optional[CrmClient] = None
|
|
94
|
+
self._filestorage: typing.Optional[FilestorageClient] = None
|
|
94
95
|
self._hris: typing.Optional[HrisClient] = None
|
|
95
96
|
self._knowledgebase: typing.Optional[KnowledgebaseClient] = None
|
|
96
97
|
self._ticketing: typing.Optional[TicketingClient] = None
|
|
97
|
-
self._filestorage: typing.Optional[FilestorageClient] = None
|
|
98
98
|
self._accounting: typing.Optional[AccountingClient] = None
|
|
99
99
|
|
|
100
|
-
@property
|
|
101
|
-
def chat(self):
|
|
102
|
-
if self._chat is None:
|
|
103
|
-
from .resources.chat.client import ChatClient # noqa: E402
|
|
104
|
-
|
|
105
|
-
self._chat = ChatClient(client_wrapper=self._client_wrapper)
|
|
106
|
-
return self._chat
|
|
107
|
-
|
|
108
100
|
@property
|
|
109
101
|
def ats(self):
|
|
110
102
|
if self._ats is None:
|
|
@@ -113,6 +105,14 @@ class Merge:
|
|
|
113
105
|
self._ats = AtsClient(client_wrapper=self._client_wrapper)
|
|
114
106
|
return self._ats
|
|
115
107
|
|
|
108
|
+
@property
|
|
109
|
+
def chat(self):
|
|
110
|
+
if self._chat is None:
|
|
111
|
+
from .resources.chat.client import ChatClient # noqa: E402
|
|
112
|
+
|
|
113
|
+
self._chat = ChatClient(client_wrapper=self._client_wrapper)
|
|
114
|
+
return self._chat
|
|
115
|
+
|
|
116
116
|
@property
|
|
117
117
|
def crm(self):
|
|
118
118
|
if self._crm is None:
|
|
@@ -121,6 +121,14 @@ class Merge:
|
|
|
121
121
|
self._crm = CrmClient(client_wrapper=self._client_wrapper)
|
|
122
122
|
return self._crm
|
|
123
123
|
|
|
124
|
+
@property
|
|
125
|
+
def filestorage(self):
|
|
126
|
+
if self._filestorage is None:
|
|
127
|
+
from .resources.filestorage.client import FilestorageClient # noqa: E402
|
|
128
|
+
|
|
129
|
+
self._filestorage = FilestorageClient(client_wrapper=self._client_wrapper)
|
|
130
|
+
return self._filestorage
|
|
131
|
+
|
|
124
132
|
@property
|
|
125
133
|
def hris(self):
|
|
126
134
|
if self._hris is None:
|
|
@@ -145,14 +153,6 @@ class Merge:
|
|
|
145
153
|
self._ticketing = TicketingClient(client_wrapper=self._client_wrapper)
|
|
146
154
|
return self._ticketing
|
|
147
155
|
|
|
148
|
-
@property
|
|
149
|
-
def filestorage(self):
|
|
150
|
-
if self._filestorage is None:
|
|
151
|
-
from .resources.filestorage.client import FilestorageClient # noqa: E402
|
|
152
|
-
|
|
153
|
-
self._filestorage = FilestorageClient(client_wrapper=self._client_wrapper)
|
|
154
|
-
return self._filestorage
|
|
155
|
-
|
|
156
156
|
@property
|
|
157
157
|
def accounting(self):
|
|
158
158
|
if self._accounting is None:
|
|
@@ -231,23 +231,15 @@ class AsyncMerge:
|
|
|
231
231
|
else httpx.AsyncClient(timeout=_defaulted_timeout),
|
|
232
232
|
timeout=_defaulted_timeout,
|
|
233
233
|
)
|
|
234
|
-
self._chat: typing.Optional[AsyncChatClient] = None
|
|
235
234
|
self._ats: typing.Optional[AsyncAtsClient] = None
|
|
235
|
+
self._chat: typing.Optional[AsyncChatClient] = None
|
|
236
236
|
self._crm: typing.Optional[AsyncCrmClient] = None
|
|
237
|
+
self._filestorage: typing.Optional[AsyncFilestorageClient] = None
|
|
237
238
|
self._hris: typing.Optional[AsyncHrisClient] = None
|
|
238
239
|
self._knowledgebase: typing.Optional[AsyncKnowledgebaseClient] = None
|
|
239
240
|
self._ticketing: typing.Optional[AsyncTicketingClient] = None
|
|
240
|
-
self._filestorage: typing.Optional[AsyncFilestorageClient] = None
|
|
241
241
|
self._accounting: typing.Optional[AsyncAccountingClient] = None
|
|
242
242
|
|
|
243
|
-
@property
|
|
244
|
-
def chat(self):
|
|
245
|
-
if self._chat is None:
|
|
246
|
-
from .resources.chat.client import AsyncChatClient # noqa: E402
|
|
247
|
-
|
|
248
|
-
self._chat = AsyncChatClient(client_wrapper=self._client_wrapper)
|
|
249
|
-
return self._chat
|
|
250
|
-
|
|
251
243
|
@property
|
|
252
244
|
def ats(self):
|
|
253
245
|
if self._ats is None:
|
|
@@ -256,6 +248,14 @@ class AsyncMerge:
|
|
|
256
248
|
self._ats = AsyncAtsClient(client_wrapper=self._client_wrapper)
|
|
257
249
|
return self._ats
|
|
258
250
|
|
|
251
|
+
@property
|
|
252
|
+
def chat(self):
|
|
253
|
+
if self._chat is None:
|
|
254
|
+
from .resources.chat.client import AsyncChatClient # noqa: E402
|
|
255
|
+
|
|
256
|
+
self._chat = AsyncChatClient(client_wrapper=self._client_wrapper)
|
|
257
|
+
return self._chat
|
|
258
|
+
|
|
259
259
|
@property
|
|
260
260
|
def crm(self):
|
|
261
261
|
if self._crm is None:
|
|
@@ -264,6 +264,14 @@ class AsyncMerge:
|
|
|
264
264
|
self._crm = AsyncCrmClient(client_wrapper=self._client_wrapper)
|
|
265
265
|
return self._crm
|
|
266
266
|
|
|
267
|
+
@property
|
|
268
|
+
def filestorage(self):
|
|
269
|
+
if self._filestorage is None:
|
|
270
|
+
from .resources.filestorage.client import AsyncFilestorageClient # noqa: E402
|
|
271
|
+
|
|
272
|
+
self._filestorage = AsyncFilestorageClient(client_wrapper=self._client_wrapper)
|
|
273
|
+
return self._filestorage
|
|
274
|
+
|
|
267
275
|
@property
|
|
268
276
|
def hris(self):
|
|
269
277
|
if self._hris is None:
|
|
@@ -288,14 +296,6 @@ class AsyncMerge:
|
|
|
288
296
|
self._ticketing = AsyncTicketingClient(client_wrapper=self._client_wrapper)
|
|
289
297
|
return self._ticketing
|
|
290
298
|
|
|
291
|
-
@property
|
|
292
|
-
def filestorage(self):
|
|
293
|
-
if self._filestorage is None:
|
|
294
|
-
from .resources.filestorage.client import AsyncFilestorageClient # noqa: E402
|
|
295
|
-
|
|
296
|
-
self._filestorage = AsyncFilestorageClient(client_wrapper=self._client_wrapper)
|
|
297
|
-
return self._filestorage
|
|
298
|
-
|
|
299
299
|
@property
|
|
300
300
|
def accounting(self):
|
|
301
301
|
if self._accounting is None:
|
merge/core/client_wrapper.py
CHANGED
|
@@ -24,10 +24,10 @@ class BaseClientWrapper:
|
|
|
24
24
|
|
|
25
25
|
def get_headers(self) -> typing.Dict[str, str]:
|
|
26
26
|
headers: typing.Dict[str, str] = {
|
|
27
|
-
"User-Agent": "MergePythonClient/2.6.
|
|
27
|
+
"User-Agent": "MergePythonClient/2.6.4",
|
|
28
28
|
"X-Fern-Language": "Python",
|
|
29
29
|
"X-Fern-SDK-Name": "MergePythonClient",
|
|
30
|
-
"X-Fern-SDK-Version": "2.6.
|
|
30
|
+
"X-Fern-SDK-Version": "2.6.4",
|
|
31
31
|
**(self.get_custom_headers() or {}),
|
|
32
32
|
}
|
|
33
33
|
if self._account_token is not None:
|
|
@@ -55,6 +55,11 @@ class Member(UncheckedBaseModel):
|
|
|
55
55
|
When the third party's conversation was updated.
|
|
56
56
|
"""
|
|
57
57
|
|
|
58
|
+
visible_history_start_datetime: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
59
|
+
"""
|
|
60
|
+
The earliest datetime of messages the member can access in the conversation. If null, the member can see the full history.
|
|
61
|
+
"""
|
|
62
|
+
|
|
58
63
|
remote_was_deleted: typing.Optional[bool] = pydantic.Field(default=None)
|
|
59
64
|
"""
|
|
60
65
|
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mergepythonclient
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.4
|
|
4
4
|
Summary:
|
|
5
5
|
Requires-Python: >=3.8,<4.0
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -70,17 +70,17 @@ Instantiate and use the client with the following:
|
|
|
70
70
|
|
|
71
71
|
```python
|
|
72
72
|
from merge import Merge
|
|
73
|
-
from merge.resources.
|
|
73
|
+
from merge.resources.ats import ActivityRequest
|
|
74
74
|
|
|
75
75
|
client = Merge(
|
|
76
76
|
account_token="YOUR_ACCOUNT_TOKEN",
|
|
77
77
|
api_key="YOUR_API_KEY",
|
|
78
78
|
)
|
|
79
|
-
client.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
client.ats.activities.create(
|
|
80
|
+
is_debug_mode=True,
|
|
81
|
+
run_async=True,
|
|
82
|
+
model=ActivityRequest(),
|
|
83
|
+
remote_user_id="remote_user_id",
|
|
84
84
|
)
|
|
85
85
|
```
|
|
86
86
|
|
|
@@ -115,7 +115,7 @@ The SDK also exports an `async` client so that you can make non-blocking calls t
|
|
|
115
115
|
import asyncio
|
|
116
116
|
|
|
117
117
|
from merge import AsyncMerge
|
|
118
|
-
from merge.resources.
|
|
118
|
+
from merge.resources.ats import ActivityRequest
|
|
119
119
|
|
|
120
120
|
client = AsyncMerge(
|
|
121
121
|
account_token="YOUR_ACCOUNT_TOKEN",
|
|
@@ -124,11 +124,11 @@ client = AsyncMerge(
|
|
|
124
124
|
|
|
125
125
|
|
|
126
126
|
async def main() -> None:
|
|
127
|
-
await client.
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
127
|
+
await client.ats.activities.create(
|
|
128
|
+
is_debug_mode=True,
|
|
129
|
+
run_async=True,
|
|
130
|
+
model=ActivityRequest(),
|
|
131
|
+
remote_user_id="remote_user_id",
|
|
132
132
|
)
|
|
133
133
|
|
|
134
134
|
|
|
@@ -144,7 +144,7 @@ will be thrown.
|
|
|
144
144
|
from merge.core.api_error import ApiError
|
|
145
145
|
|
|
146
146
|
try:
|
|
147
|
-
client.
|
|
147
|
+
client.ats.activities.create(...)
|
|
148
148
|
except ApiError as e:
|
|
149
149
|
print(e.status_code)
|
|
150
150
|
print(e.body)
|
|
@@ -163,7 +163,7 @@ from merge import Merge
|
|
|
163
163
|
client = Merge(
|
|
164
164
|
...,
|
|
165
165
|
)
|
|
166
|
-
response = client.
|
|
166
|
+
response = client.ats.activities.with_raw_response.create(...)
|
|
167
167
|
print(response.headers) # access the response headers
|
|
168
168
|
print(response.data) # access the underlying object
|
|
169
169
|
```
|
|
@@ -183,7 +183,7 @@ A request is deemed retryable when any of the following HTTP status codes is ret
|
|
|
183
183
|
Use the `max_retries` request option to configure this behavior.
|
|
184
184
|
|
|
185
185
|
```python
|
|
186
|
-
client.
|
|
186
|
+
client.ats.activities.create(..., request_options={
|
|
187
187
|
"max_retries": 1
|
|
188
188
|
})
|
|
189
189
|
```
|
|
@@ -203,7 +203,7 @@ client = Merge(
|
|
|
203
203
|
|
|
204
204
|
|
|
205
205
|
# Override timeout for a specific method
|
|
206
|
-
client.
|
|
206
|
+
client.ats.activities.create(..., request_options={
|
|
207
207
|
"timeout_in_seconds": 1
|
|
208
208
|
})
|
|
209
209
|
```
|
|
@@ -292,3 +292,4 @@ while response.next is not None:
|
|
|
292
292
|
|
|
293
293
|
|
|
294
294
|
|
|
295
|
+
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
merge/__init__.py,sha256=K3KxH-H0yK6Mp-fSHYH_I6TxE3EquIdXUOeclJm6yYg,1697
|
|
2
|
-
merge/client.py,sha256=
|
|
2
|
+
merge/client.py,sha256=_bxMTHVjU04PvdYXojUCiTwazrodJRBX9dtthm6pdYY,11937
|
|
3
3
|
merge/core/__init__.py,sha256=HNk-wnH_j2yAf7IroaZM9JJFe4mnkNHq06t2QmaBweg,3862
|
|
4
4
|
merge/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
|
|
5
|
-
merge/core/client_wrapper.py,sha256=
|
|
5
|
+
merge/core/client_wrapper.py,sha256=Miyn232kW6Z2U-d1KYHAvdi8070Ftmxwbs5W5cj-pwE,3096
|
|
6
6
|
merge/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
|
7
7
|
merge/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
|
8
8
|
merge/core/force_multipart.py,sha256=cH981xLy0kZVKiZZkFoeUjgJ2Zuq7KXB2aRAnmHzRDc,477
|
|
@@ -1242,7 +1242,7 @@ merge/resources/chat/types/issue_status_enum.py,sha256=LyAyUrrmvKbovYkhYTPMzVGvv
|
|
|
1242
1242
|
merge/resources/chat/types/language_enum.py,sha256=FuF4oIahcE954MHHDIZHmvBf9ENLvUrkmNFryHzO-oE,469
|
|
1243
1243
|
merge/resources/chat/types/last_sync_result_enum.py,sha256=iKiu1Zk-mue5Ki725f7_DorLDboH1l4W86upM77y1hQ,1319
|
|
1244
1244
|
merge/resources/chat/types/link_token.py,sha256=fYa5j3XnK01j8XHUx_A6fa95qXQ3OrRHs43vW54VU1g,663
|
|
1245
|
-
merge/resources/chat/types/member.py,sha256=
|
|
1245
|
+
merge/resources/chat/types/member.py,sha256=hNY1wMOOJKO-3kBM6dqfAtHtPXPybOFEk6Nowiy6_rg,2737
|
|
1246
1246
|
merge/resources/chat/types/message.py,sha256=-DKy1jQJad6xpw4HD7bkZhZAi61N7Koqjdzjvx1pRSQ,2694
|
|
1247
1247
|
merge/resources/chat/types/method_enum.py,sha256=TSpKQkDMHSQWo_kyeYo4g1uh7DqyVgZx_REojfiLw0Q,1275
|
|
1248
1248
|
merge/resources/chat/types/model_operation.py,sha256=43OJAKzDJO2_lza7ZpUZRweK8d467yGi7Gc61nGHHbg,976
|
|
@@ -2682,7 +2682,7 @@ merge/resources/ticketing/types/viewer_user.py,sha256=VrOx8xWvNadSYjdErIMg2pPsHV
|
|
|
2682
2682
|
merge/resources/ticketing/types/warning_validation_problem.py,sha256=RXDtt3t3FwIeGGXkIr_OHOAybDZg44L_5hOqa2sLlJ0,736
|
|
2683
2683
|
merge/resources/ticketing/types/webhook_receiver.py,sha256=g4KQnc-vZPJGlXK-OOFIn2WGyTLKoeaq9TPWQ46VwFY,623
|
|
2684
2684
|
merge/version.py,sha256=kLtHrVsKjnCqlIC_JtezQUWrCPQkXhjpD_2pdlcGh18,84
|
|
2685
|
-
mergepythonclient-2.6.
|
|
2686
|
-
mergepythonclient-2.6.
|
|
2687
|
-
mergepythonclient-2.6.
|
|
2688
|
-
mergepythonclient-2.6.
|
|
2685
|
+
mergepythonclient-2.6.4.dist-info/LICENSE.md,sha256=WKO7xLnLSUInldiq5i25eVqKAjwIUKenaS4Cgir2Iuw,3275
|
|
2686
|
+
mergepythonclient-2.6.4.dist-info/METADATA,sha256=CUPStCQXbElQpwfCDzbHJg7D5iEUutHSRqBrtZfr0ec,7907
|
|
2687
|
+
mergepythonclient-2.6.4.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
|
2688
|
+
mergepythonclient-2.6.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|