Skip to content

Commit 5322bbb

Browse files
Replace installation_id and session_token with request token
1 parent 9eed693 commit 5322bbb

File tree

3 files changed

+93
-106
lines changed

3 files changed

+93
-106
lines changed

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Authentication is done transparently, so you don't need to worry about it.
3333

3434
#### Registering New Signup
3535

36-
This method registers a new signup for the given installation and a structured address, an address
36+
This method registers a new signup for the given request token and a structured address, an address
3737
line or coordinates, returning a `dict`, containing the risk assessment and supporting evidence:
3838

3939
```python3
@@ -56,30 +56,30 @@ structured_address: StructuredAddress = {
5656
'complements': 'Floor 2',
5757
'postal_code': '10001'
5858
}
59-
assessment: dict = api.register_new_signup('installation-id', structured_address=structured_address)
59+
assessment: dict = api.register_new_signup('request-token', structured_address=structured_address)
6060

6161
# with address line:
6262
address_line: str = '350 Fifth Avenue, Manhattan, New York 10118'
63-
assessment: dict = api.register_new_signup('installation-id', address_line=address_line)
63+
assessment: dict = api.register_new_signup('request-token', address_line=address_line)
6464

6565
# with coordinates, a dict:
6666
coordinates: Coordinates = {
6767
'lat': 40.74836007062138,
6868
'lng': -73.98509720487937
6969
}
70-
assessment: dict = api.register_new_signup('installation-id', address_coordinates=coordinates)
70+
assessment: dict = api.register_new_signup('request-token', address_coordinates=coordinates)
7171

7272
# with external_id:
7373
external_id: str = 'external-id'
74-
assessment: dict = api.register_new_signup('installation-id', external_id=external_id)
74+
assessment: dict = api.register_new_signup('request-token', external_id=external_id)
7575

7676
# with policy_id:
7777
policy_id: str = 'policy-id'
78-
assessment: dict = api.register_new_signup('installation-id', policy_id=policy_id)
78+
assessment: dict = api.register_new_signup('request-token', policy_id=policy_id)
7979

8080
# with account_id:
8181
account_id: str = 'account-id'
82-
assessment: dict = api.register_new_signup('installation-id', account_id=account_id)
82+
assessment: dict = api.register_new_signup('request-token', account_id=account_id)
8383

8484
```
8585

@@ -97,13 +97,13 @@ api = IncogniaAPI('client-id', 'client-secret')
9797

9898
api.register_feedback(FeedbackEvents.ACCOUNT_TAKEOVER,
9999
occurred_at=dt.datetime(2024, 7, 22, 15, 20, 0, tzinfo=dt.timezone.utc),
100-
installation_id='installation-id',
100+
request_token='request-token',
101101
account_id='account-id')
102102
```
103103

104104
#### Registering Payment
105105

106-
This method registers a new payment for the given installation and account, returning a `dict`,
106+
This method registers a new payment for the given request token and account, returning a `dict`,
107107
containing the risk assessment and supporting evidence.
108108

109109
```python3
@@ -164,7 +164,7 @@ payment_methods: List[PaymentMethod] = [
164164

165165
policy_id: str = 'policy-id'
166166

167-
assessment: dict = api.register_payment('installation-id',
167+
assessment: dict = api.register_payment('request-token',
168168
'account-id',
169169
'external-id',
170170
addresses=addresses,
@@ -175,7 +175,7 @@ assessment: dict = api.register_payment('installation-id',
175175

176176
#### Registering Login
177177

178-
This method registers a new login for the given installation and account, returning a `dict`,
178+
This method registers a new login for the given request token and account, returning a `dict`,
179179
containing the risk assessment and supporting evidence.
180180

181181
```python3
@@ -185,7 +185,7 @@ api = IncogniaAPI('client-id', 'client-secret')
185185

186186
policy_id: str = 'policy-id'
187187

188-
assessment: dict = api.register_login('installation-id',
188+
assessment: dict = api.register_login('request-token',
189189
'account-id',
190190
'external-id',
191191
policy_id='policy_id')

incognia/api.py

Lines changed: 24 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,27 @@ def __get_authorization_header(self) -> dict:
2020
return {'Authorization': f'{token_type} {access_token}'}
2121

2222
def register_new_signup(self,
23-
installation_id: str,
23+
request_token: Optional[str],
2424
address_line: Optional[str] = None,
2525
structured_address: Optional[StructuredAddress] = None,
2626
address_coordinates: Optional[Coordinates] = None,
2727
external_id: Optional[str] = None,
2828
policy_id: Optional[str] = None,
29-
account_id: Optional[str] = None,
30-
request_token: Optional[str] = None) -> dict:
31-
if not installation_id:
32-
raise IncogniaError('installation_id is required.')
29+
account_id: Optional[str] = None) -> dict:
30+
if not request_token:
31+
raise IncogniaError('request_token is required.')
3332

3433
try:
3534
headers = self.__get_authorization_header()
3635
headers.update(JSON_CONTENT_HEADER)
3736
body = {
38-
'installation_id': installation_id,
37+
'request_token': request_token,
3938
'address_line': address_line,
4039
'structured_address': structured_address,
4140
'address_coordinates': address_coordinates,
4241
'external_id': external_id,
4342
'policy_id': policy_id,
44-
'account_id': account_id,
45-
'request_token': request_token
43+
'account_id': account_id
4644
}
4745
data = encode(body)
4846
return self.__request.post(Endpoints.SIGNUPS, headers=headers, data=data)
@@ -59,7 +57,6 @@ def register_feedback(self,
5957
signup_id: Optional[str] = None,
6058
account_id: Optional[str] = None,
6159
installation_id: Optional[str] = None,
62-
session_token: Optional[str] = None,
6360
request_token: Optional[str] = None,
6461
occurred_at: dt.datetime = None,
6562
expires_at: dt.datetime = None) -> None:
@@ -83,7 +80,6 @@ def register_feedback(self,
8380
'signup_id': signup_id,
8481
'account_id': account_id,
8582
'installation_id': installation_id,
86-
'session_token': session_token,
8783
'request_token': request_token
8884
}
8985
if timestamp is not None:
@@ -99,17 +95,16 @@ def register_feedback(self,
9995
raise IncogniaHTTPError(e) from None
10096

10197
def register_payment(self,
102-
installation_id: str,
98+
request_token: str,
10399
account_id: str,
104100
external_id: Optional[str] = None,
105101
addresses: Optional[List[TransactionAddress]] = None,
106102
payment_value: Optional[PaymentValue] = None,
107103
payment_methods: Optional[List[PaymentMethod]] = None,
108104
evaluate: Optional[bool] = None,
109-
policy_id: Optional[str] = None,
110-
request_token: Optional[str] = None) -> dict:
111-
if not installation_id:
112-
raise IncogniaError('installation_id is required.')
105+
policy_id: Optional[str] = None) -> dict:
106+
if not request_token:
107+
raise IncogniaError('request_token is required.')
113108
if not account_id:
114109
raise IncogniaError('account_id is required.')
115110

@@ -119,14 +114,13 @@ def register_payment(self,
119114
params = None if evaluate is None else {'eval': evaluate}
120115
body = {
121116
'type': 'payment',
122-
'installation_id': installation_id,
117+
'request_token': request_token,
123118
'account_id': account_id,
124119
'external_id': external_id,
125120
'addresses': addresses,
126121
'payment_value': payment_value,
127122
'payment_methods': payment_methods,
128-
'policy_id': policy_id,
129-
'request_token': request_token
123+
'policy_id': policy_id
130124
}
131125
data = encode(body)
132126
return self.__request.post(Endpoints.TRANSACTIONS, headers=headers, params=params,
@@ -136,14 +130,13 @@ def register_payment(self,
136130
raise IncogniaHTTPError(e) from None
137131

138132
def register_login(self,
139-
installation_id: str,
133+
request_token: str,
140134
account_id: str,
141135
external_id: Optional[str] = None,
142136
evaluate: Optional[bool] = None,
143-
policy_id: Optional[str] = None,
144-
request_token: Optional[str] = None) -> dict:
145-
if not installation_id:
146-
raise IncogniaError('installation_id is required.')
137+
policy_id: Optional[str] = None) -> dict:
138+
if not request_token:
139+
raise IncogniaError('request_token is required.')
147140
if not account_id:
148141
raise IncogniaError('account_id is required.')
149142

@@ -153,11 +146,10 @@ def register_login(self,
153146
params = None if evaluate is None else {'eval': evaluate}
154147
body = {
155148
'type': 'login',
156-
'installation_id': installation_id,
149+
'request_token': request_token,
157150
'account_id': account_id,
158151
'external_id': external_id,
159-
'policy_id': policy_id,
160-
'request_token': request_token
152+
'policy_id': policy_id
161153
}
162154
data = encode(body)
163155
return self.__request.post(Endpoints.TRANSACTIONS, headers=headers, params=params,
@@ -167,14 +159,13 @@ def register_login(self,
167159
raise IncogniaHTTPError(e) from None
168160

169161
def register_web_login(self,
170-
session_token: str,
162+
request_token: str,
171163
account_id: str,
172164
external_id: Optional[str] = None,
173165
evaluate: Optional[bool] = None,
174-
policy_id: Optional[str] = None,
175-
request_token: Optional[str] = None) -> dict:
176-
if not session_token:
177-
raise IncogniaError('session_token is required.')
166+
policy_id: Optional[str] = None) -> dict:
167+
if not request_token:
168+
raise IncogniaError('request_token is required.')
178169
if not account_id:
179170
raise IncogniaError('account_id is required.')
180171

@@ -184,11 +175,10 @@ def register_web_login(self,
184175
params = None if evaluate is None else {'eval': evaluate}
185176
body = {
186177
'type': 'login',
187-
'session_token': session_token,
178+
'request_token': request_token,
188179
'account_id': account_id,
189180
'external_id': external_id,
190-
'policy_id': policy_id,
191-
'request_token': request_token
181+
'policy_id': policy_id
192182
}
193183
data = encode(body)
194184
return self.__request.post(Endpoints.TRANSACTIONS, headers=headers, params=params,

0 commit comments

Comments
 (0)