php - 如何使用 php-sdk API 更新 infusionsoft 联系人的自定义字段?
问题描述
我正在研究使用 PHP SDK 更新 infusionsoft 联系人的自定义字段数据的自定义解决方案,API 的文档不是那么好,这是我到目前为止所做的。
global $wpdb;
$keap_token_table = $wpdb->prefix . "keap_token";
$infusionsoft = new \Infusionsoft\Infusionsoft(array(
'clientId' => ‘clientID',
'clientSecret' => 'clientSecret',
'redirectUri' => home_url(),
));
$results = $wpdb->get_results("SELECT token_id, keap_token, refresh_token FROM {$keap_token_table} ORDER BY token_id DESC LIMIT 1",'ARRAY_A');
$token_id = $results[0]['token_id'];
$keap_token = $results[0]['keap_token'];
$keap_token = unserialize($keap_token);
if($keap_token) {
$infusionsoft->setToken($keap_token);
$refreshed_token = $infusionsoft->refreshAccessToken();
$data_update = array('keap_token' => serialize($refreshed_token));
$data_where = array('token_id' => $token_id);
$wpdb->update($keap_token_table , $data_update, $data_where);
$registered_user = $infusionsoft->contacts()->where(array('email'=>$billing_email, 'limit' => '1'))->get();
if(!$registered_user->isEmpty()) {
$contact_id = $registered_user->get(0)->getAttribute('id');
if($registered_user->get(0)->getAttribute('email_addresses')[0]['email'] === $billing_email) {
if($to_be_included === "1") {
// $contact_update = $infusionsoft->contacts()->mock(['id' => $contact_id, '_ToBeIncludedInDirectory' => '1'])->save();
}
}
}
}
以下是我在谷歌上搜索过的几个解决方案,但似乎没有一个对我有用。
$data = [
'_ToBeIncludedInDirectory' => '1',
'_DirectoryVisibilityStatus' => $visibility_status,
'_MemberDirectoryAddress' => $directory_address,
'_AreaOfSpeciality' => 'None'
];
$contact_update = $infusionsoft->update($contact_id, $data);
和
$contact_update = $infusionsoft->contacts()->mock(
[
'id' => $contact_id,
"custom_fields" => [
{
"contents": {
'_ToBeIncludedInDirectory' => '1',
'_DirectoryVisibilityStatus' => $visibility_status,
'_MemberDirectoryAddress' => $directory_address,
'_AreaOfSpeciality' => 'None'
},
"id": $contact_id
}
]
]
)->save();
我只想更新自定义字段,更新后我想获取它们并在网站上显示它们。提前致谢。
解决方案
推荐阅读
- excel - Sumproduct VBA 返回类型不匹配错误
- php - 将 laravel 5.8 更新到 laravel 7.0 时出错
- javascript - 为什么当我尝试编译时,Rome 认为我的文件是空的?
- r - 在 if else 语句中未强制执行 R stop() 函数
- linux - 需要帮助在 csv 文件中创建新列
- node.js - 如何设置节点模块导出类型信息
- python - 成功请求后反应前端未收到来自 Django HttpResponse 的响应
- json - 在 Flutter 表中查看排序后的 Json 数据
- css - 如何将图像路径从数据库传递到 css 属性
- sql - 尽管“设置服务器输出关闭”,Oracle 仍然显示假脱机语句?