У меня проблема с получением всех контактов, связанных с учетной записью, с помощью REST API v4_1. Я использую SuiteCRM.
Как я вижу по структуре таблицы, есть таблица account и accounts_contacts, которая содержит идентификатор для контактов. Я использую этот код для получения всех учетных записей, связанных с зарегистрированным пользователем.
$get_entry_parameters = array
(
//session id
'session' => $this->session_id,
//The name of the module from which to retrieve records
'module_name' => "Accounts",
//The ID of the record to retrieve.
//'id' => NULL,
//Where conditions without "where" keyword
'query' => "accounts.assigned_user_id='" . $this->user_id . "'",
//Sort result by
'order_by' => NULL,
//offset
'offset' => 0,
//The list of fields to be returned in the results
'select_fields' => array( 'id'),
//optional
'link_name_to_fields_array' => array(array()),
//Max number of results to list
'max_results' => 20,
'deleted' => false
);
$response = $this->call("get_entry_list", $get_entry_parameters);
Тогда мне бы хотелось, чтобы для каждой из этих учетных записей были найдены соответствующие контакты, но я не знаю, как мне это сделать.
Я не знаю, что пошло не так, но этот код теперь производит то, что я хочу. Я не правильно определил значение возвращаемых полей для связанных данных. Я должен был определить их в массиве. Я думаю, это была единственная проблема. Если кто-то еще обнаружит другую проблему, дайте мне знать, так как я только что узнал о сахарных / сюитных crms и где что-то подходит.
function account_data()
{
$get_entry_parameters = array
(
//session id
'session' => $this->session_id,
//The name of the module from which to retrieve records
'module_name' => "Accounts",
//The ID of the record to retrieve.
//'id' => NULL,
//Where conditions without "where" keyword
'query' => "accounts.assigned_user_id='" . $this->user_id . "'",
//Sort result by
'order_by' => NULL,
//offset
'offset' => 0,
//The list of fields to be returned in the results
'select_fields' => array('id', 'name'),
//optional
'link_name_to_fields_array' => array(
array(
'name' => 'contacts',
'value' => array('id', 'name')
)
),
//Max number of results to list
'max_results' => 20,
'deleted' => false
);
return $response = $this->call("get_entry_list", $get_entry_parameters);
}
Других решений пока нет …