2017-04-11 1 views
1

Je suis en train d'obtenir tous les contacts des opportunités actifs ci-dessous est ma demande d'API SugarCRM v4SugarCRM Accès refusé le numéro 40

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

ma requête fonctionne bien dans l'établi de MySQL dans la base de données SugarCRM mais l'API réponse est:

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

Pouvez-vous aider?

+0

ressemble à un problème d'authentification. Des demandes plus simples fonctionnent-elles? Je pense que vous devez hacher votre mot de passe avec MD5 si vous ne l'avez pas fait. – MartinTawse

+0

J'ai fait un hachage de mot de passe en utilisant MD5 – Jagan

Répondre

1

Pour vous permettre d'écrire votre propre point de terminaison dans 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'; 
    } 
} 

Pour plus de détails, lire ceci:

Read me ...

+0

Merci Amitesh Je vais examiner cela. – Jagan

+0

Si cela vous aide à changer d'avis et à accepter la réponse. –

+0

Ceci est pour l'API v10 mais la question portait sur v4. – MartinTawse