SugarCRM Access Denied Number 40

I am trying to get all contacts from the active capabilities below, this is my API SugarCRM v4 request

{
   "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
}

      

my query works fine in mysql workbench on sugarCRM database, but API response:

{"name":"Access Denied","number":40,"description":"You do not have access"}

You can help?

+1


source to share


1 answer


To achieve this, you must write your endpoint in 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';
    }
}

      



More ... More:

Read me ...

+1


source







All Articles