summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-11-06 11:19:34 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-11-06 11:19:34 +0700
commit7712141e5fa515eb6b966ae63956e7bbb3f384f3 (patch)
treefb8ce72fb1b03fb740b0e33be6952456149feac9
parent100fa7ec1d9ccfc02712096dceca3decc2311abb (diff)
fix bug wati
-rw-r--r--indoteknik_custom/models/wati.py50
1 files changed, 18 insertions, 32 deletions
diff --git a/indoteknik_custom/models/wati.py b/indoteknik_custom/models/wati.py
index d9fb7247..eed5413e 100644
--- a/indoteknik_custom/models/wati.py
+++ b/indoteknik_custom/models/wati.py
@@ -192,27 +192,6 @@ class WatiHistory(models.Model):
is_get_attribute = fields.Boolean(string='Get Attribute', default=False)
def _get_attribute_wati(self):
- # url = 'https://live-server-2106.wati.io/api/v1/getContacts'
-
- # cookies = {
- # 'affinity': '1701232090.884.1520.321410|ff187ffce9bc0bae13542bb446e41008',
- # }
-
- # headers = {
- # 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3MGM5ZmJhNy00MWRlLTRkMWEtYjY2NS1hM2Q5ODc2ZjhlZWIiLCJ1bmlxdWVfbmFtZSI6InR5YXNAaW5kb3Rla25pay5jb20iLCJuYW1laWQiOiJ0eWFzQGluZG90ZWtuaWsuY29tIiwiZW1haWwiOiJ0eWFzQGluZG90ZWtuaWsuY29tIiwiYXV0aF90aW1lIjoiMTEvMjkvMjAyMyAwNDoxNzo0NyIsImRiX25hbWUiOiIyMTA2IiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQURNSU5JU1RSQVRPUiIsImV4cCI6MjUzNDAyMzAwODAwLCJpc3MiOiJDbGFyZV9BSSIsImF1ZCI6IkNsYXJlX0FJIn0.--KHv4GCOG2MM3lNW9Nm-0-d8OAVpn5kbcSX4JKqATQ',
- # # 'Cookie': 'affinity=1701232090.884.1520.321410|ff187ffce9bc0bae13542bb446e41008',
- # }
-
- # files = {
- # 'pageSize': (None, '1'),
- # 'pageNumber': (None, '1'),
- # 'name': (None, ''),
- # 'attribute': (None, '[{name: "phone", operator: "contain", value: "6285751430014"}]'),
- # 'createdDate': (None, ''),
- # }
-
- # response = requests.get(url, cookies=cookies, headers=headers, files=files)
- # print(response.json())
domain = [
'&',
('is_get_attribute', '=', False),
@@ -226,29 +205,36 @@ class WatiHistory(models.Model):
for wati_history in wati_histories:
count += 1
_logger.info('[Parse Notification] Process: %s/%s' % (str(count), str(limit)))
+
wati_api = self.env['wati.api']
+
+ # Perbaikan pada params 'attribute' untuk menghindari masalah "type object is not subscriptable"
params = {
- 'pageSize':1,
- 'pageNumber':1,
- 'attribute':[{'name': "phone", 'operator': "contain", 'value': wati_history.wa_id}],
+ 'pageSize': 1,
+ 'pageNumber': 1,
+ 'attribute': json.dumps([{'name': "phone", 'operator': "contain", 'value': wati_history.wa_id}]),
}
+
wati_contacts = wati_api.http_get('/api/v1/getContacts', params)
- if wati_contacts['result'] != 'success':
+
+ if wati_contacts.get('result') != 'success':
return
- json_dump = json.dumps(wati_contacts, indent=4, sort_keys=True)
- contact_list = json.loads(json_dump)['contact_list']
+
+ contact_list = wati_contacts.get('contact_list', [])
+
perusahaan = email = ''
for data in contact_list:
- custom_params = data['customParams']
+ custom_params = data.get('customParams', [])
for custom_param in custom_params:
- name = custom_param['name']
- value = custom_param['value']
+ name = custom_param.get('name')
+ value = custom_param.get('value')
if name == 'perusahaan':
perusahaan = value
elif name == 'email':
email = value
- # end for 2
- # end for 1
+ # End inner loop
+
+ # Update wati_history fields
wati_history.perusahaan = perusahaan
wati_history.email = email
wati_history.is_get_attribute = True