@@ -135,7 +135,7 @@ def get_braze_external_id(self, email):
135
135
}
136
136
response = self ._make_request (payload , BrazeAPIEndpoints .EXPORT_IDS , REQUEST_TYPE_POST )
137
137
if response ['users' ] and 'external_id' in response ['users' ][0 ]:
138
- return response ['users' ][0 ][ 'external_id' ]
138
+ return response ['users' ][0 ]. get ( 'external_id' )
139
139
140
140
return None
141
141
@@ -147,7 +147,10 @@ def get_braze_external_id_batch(self, emails, alias_label):
147
147
https://www.braze.com/docs/api/endpoints/export/user_data/post_users_identifier/
148
148
"Up to 50 external_ids or user_aliases can be included in a single request.
149
149
Should you want to specify device_id or email_address
150
- only one of either identifier can be included per request."
150
+ only one of either identifier can be included per request.
151
+ [...]
152
+ if a field is missing from the object it should be assumed to be null, false, or empty
153
+ "
151
154
152
155
Arguments:
153
156
emails (list(str)): e.g. ['test1@example.com', 'test1@example.com']
@@ -174,7 +177,7 @@ def get_braze_external_id_batch(self, emails, alias_label):
174
177
response = self ._make_request (payload , BrazeAPIEndpoints .EXPORT_IDS , REQUEST_TYPE_POST )
175
178
176
179
for identified_user in response ['users' ]:
177
- external_ids_by_email [identified_user ['email' ]] = identified_user [ 'external_id' ]
180
+ external_ids_by_email [identified_user ['email' ]] = identified_user . get ( 'external_id' )
178
181
179
182
logger .info (f'external ids from batch identify braze users response: { external_ids_by_email } ' )
180
183
return external_ids_by_email
0 commit comments