我想从下面的活跃机会,所有的联系人是我的SugarCRM API v4的请求
{
"session":"btcskfetq7sqshio3uv568d8c1",
"module_name":"Contacts",
"query":"contacts.id IN (
SELECT opportunities_contacts.contact_id
FROM opportunities_contacts
JOIN opportunities
ON opportunities_contacts.opportunity_id = opportunities.id
WHERE opportunities.sales_stage
NOT IN ('Closed Won','Closed Lost'))",
"order_by":"",
"offset":0,
"select_fields":[
"first_name",
"last_name",
"title",
"phone_home",
"phone_work",
"status",
"email"
],
"link_name_to_fields_array":null,
"max_results":0,
"deleted":0,
"favorites":false
}
我的查询工作正常在MySQL工作台在SugarCRM的数据库,但该API的回应是:
{"name":"Access Denied","number":40,"description":"You do not have access"}
你能帮我吗?
为了实现这一目标,你写在suagrcrm你自己的终点。
<?php
class AtRiskApi extends SugarApi
{
// This function is only called whenever the rest service cache file is deleted.
// This shoud return an array of arrays that define how different paths map to different functions
public function registerApiRest() {
return array(
'getAtRisk' => array(
// What type of HTTP request to match against, we support GET/PUT/POST/DELETE
'reqType' => 'GET',
// This is the path you are hoping to match, it also accepts wildcards of ? and <module>
'path' => array('Accounts', 'at_risk'),
// These take elements from the path and use them to populate $args
'pathVars' => array('', ''),
// This is the method name in this class that the url maps to
'method' => 'getAtRisk',
// The shortHelp is vital, without it you will not see your endpoint in the /help
'shortHelp' => 'Lists at risk accounts in the system',
// The longHelp points to an HTML file and will be there on /help for people to expand and show
'longHelp' => '',
),
);
}
function getAtRisk($api, $args)
{
// Start off with something simple so we can verify the endpoint is registered.
return 'burgers';
}
}
有关详细信息,请阅读本:
阅读我...