繁体   English   中英

无法使用 REST API 更新 InfusionSoft 中的地址字段

[英]Unable to update address field in InfusionSoft using REST API

我有一个脚本,通过 REST API 更新 InfusionSoft 中的联系人信息。 除了地址之外,一切都完美无缺。

我将介绍我如何更新 email 和地址,因为 email 可以工作,但地址不会,即使它们应该以相同的方式工作。

elif value == 'email':
        fields_to_update['email_addresses'] = contact['email_addresses']
        for email in fields_to_update['email_addresses']:
            if email['field'] == "EMAIL1":
                email['email'] = updated_values['email']

elif value == 'billing_address_line_1':
        fields_to_update['addresses'] = contact['addresses']
        for address in fields_to_update['addresses']:
            if address['field'] == "BILLING":
                address['line1'] = updated_values['billing_address_line_1']

通过这两个函数,我创建了一个“updated_fields” object 并像这样发送它。

new_contact = update_infusionsoft_primary_sandbox_contact_data(current_contact, updated_fields)
patch_parameters = {"access_token": current_company_access_token}
request_url = "https://api.infusionsoft.com/crm/rest/v1/contacts/" + str(current_contact['id'])
headers = {'content-type': 'application/json'}
contact_update = requests.patch(request_url, json=new_contact, params=patch_parameters, headers=headers)

由于某种原因 email 有效。 它会按原样抓取所有电子邮件,并仅更改已更改的字段。 地址应该以相同的方式工作,但由于某种原因,当包含地址时,我收到 400 响应并且它不会更新任何字段。

这是我目前正在传递的失败。

{'email_addresses': [{'email': 'apu9@kwikimart.com', 'field': 'EMAIL1'}], 'addresses': [{'line1': '106 Street Lane', 'line2': 'Apt 1', 'locality': 'Denver', 'region': 'Co', 'field': 'BILLING', 'postal_code': '12345', 'zip_code': '12345', 'zip_four': '', 'country_code': 'USA'}, {'line1': '400 Clearbrooke Terrace', 'line2': '', 'locality': 'Cottage Grove', 'region': 'Wi', 'field': 'SHIPPING', 'postal_code': '53527', 'zip_code': '53527', 'zip_four': '', 'country_code': 'USA'}]}

您需要为州/地区使用 ISO 区域代码https://en.wikipedia.org/wiki/ISO_3166-2:US

我去了 infusionsoft api 文档( https://developer.infusionsoft.com/docs/rest/#!/Contact/createContactUsingPOST )并尝试了您所拥有的,但使用了州的 ISO 区域代码并且它有效。 我确实需要将所有单引号转换为双引号,以便使用文档“试用”功能正确添加联系人,所以这可能是另一个问题?

这是我使用的确切 json 字符串:

{"email_addresses": [{"email": "apu9@kwikimart.com", "field": "EMAIL1"}], "addresses": [{"line1": "106 Street Lane", "line2": "Apt 1", "locality": "Denver", "region": "US-CO", "field": "BILLING", "postal_code": "12345", "zip_code": "12345", "zip_four": "", "country_code": "USA"}, {"line1": "400 Clearbrooke Terrace", "line2": "", "locality": "Cottage Grove", "region": "US-WI", "field": "SHIPPING", "postal_code": "53527", "zip_code": "53527", "zip_four": "", "country_code": "USA"}]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM