forked from green-api/whatsapp-api-client-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpartner.py
More file actions
80 lines (64 loc) · 2.42 KB
/
partner.py
File metadata and controls
80 lines (64 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
from typing import Optional, TYPE_CHECKING
from ..response import Response
if TYPE_CHECKING:
from ..API import GreenApiPartner
class Partner:
def __init__(self, api: "GreenApiPartner"):
self.api = api
def getInstances(
self
) -> Response:
request_body = self.__handle_parameters(locals())
return self.api.request(
"GET", (
"{{host}}/partner/"
"getInstances/{{partnerToken}}"
), request_body
)
def createInstance(
self,
name: Optional[str] = None,
webhookUrl: Optional[str] = None,
webhookUrlToken: Optional[str] = None,
delaySendMessagesMilliseconds: Optional[int] = None,
markIncomingMessagesReaded: Optional[str] = None,
markIncomingMessagesReadedOnReply: Optional[str] = None,
outgoingWebhook: Optional[str] = None,
outgoingMessageWebhook: Optional[str] = None,
outgoingAPIMessageWebhook: Optional[str] = None,
stateWebhook: Optional[str] = None,
incomingWebhook: Optional[str] = None,
deviceWebhook: Optional[str] = None,
keepOnlineStatus: Optional[str] = None,
pollMessageWebhook: Optional[str] = None,
incomingBlockWebhook: Optional[str] = None,
incomingCallWebhook: Optional[str] = None,
editedMessageWebhook: Optional[str] = None,
deletedMessageWebhook: Optional[str] = None
) -> Response:
request_body = self.__handle_parameters(locals())
return self.api.request(
"POST", (
"{{host}}/partner/"
"createInstance/{{partnerToken}}"
), request_body
)
def deleteInstanceAccount(
self,
idInstance: int
) -> Response:
request_body = self.__handle_parameters(locals())
return self.api.request(
"POST", (
"{{host}}/partner/"
"deleteInstanceAccount/{{partnerToken}}"
), request_body
)
@classmethod
def __handle_parameters(cls, parameters: dict) -> dict:
handled_parameters = parameters.copy()
handled_parameters.pop("self")
for key, value in parameters.items():
if value is None:
handled_parameters.pop(key)
return handled_parameters