Accéder à l'API REST de CRM 2015 On-Premise en PHP

De Ikoula Wiki
Jump to navigation Jump to search

fr:Accéder à l'API REST de CRM 2015 On-Premise en PHP he:גישה לשאר API של CRM 2015 מקומית ב- PHP ru:Доступ к API REST из CRM к 2015 году на предприятии в PHP ja:API の残りの CRM 2015 オンプレミス php へのアクセス ar:الوصول إلى بقية API لإدارة علاقات العملاء عام 2015 في الموقع في بي إتش بي zh:访问 API 其余的 CRM 2015 上-前提在 PHP 中 ro:Acces la restul API de CRM 2015 On-Premise în PHP pl:Dostęp do API REST z CRM 2015 wdrożonej w PHP de:Zugang zum REST des CRM 2015 vor-Ort in PHP API nl:Toegang tot de API REST van CRM 2015 On-Premise in PHP it:Accesso al resto di API di CRM 2015 On-Premise in PHP pt:Acesso para o resto da API de CRM 2015 no local em PHP es:Con el resto de la API de CRM 2015 On-Premise en PHP en:Access to the API REST of CRM 2015 On-Premise in PHP

Introduction

Cette article va vous permettre d’accéder à l'API REST de CRM 2015 On-Premise avec le langage PHP. Il faut que votre CRM soit relié avec Active DIrectory et être en possession du nom de votre organisation sur CRM.

Définir ses variables de travail

// CRM Server
define('CRM_SERVER', 'NOM_DU_SERVEUR_CRM');

// CRM Organization
define('CRM_ORG_NAME', 'NOM_DE_LORGANISATION');

// CRM WSDL
define('CRM_WSDL', 'http://'.CRM_SERVER.'/'.CRM_ORG_NAME.'/XRMServices/2011/OrganizationData.svc');

// Active Directory
define('AD_DOMAIN_CONTROLER', "NOM_DU_SERVEUR_AD");
define("NTLM_LOGIN", "User");
define("NTLM_PASSWORD", "password");

Récupérer des informations

Sur cette exemple, on va récupérer des informations sur un compte.

// On crée l'URL de l'API REST
$url = CRM_WSDL."/AccountSet(guid'GUID_DU_COMPTE')";

// On initialise notre connexion à l'API
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, NTLM_LOGIN. ':' . NTLM_PASSWORD);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_FAILONERROR, 0);
curl_setopt($ch, CURLOPT_MAXREDIRS, 100);
				
// On crée nos headers
$headers = array("Content-Type:application/json; charset=utf-8", "Accept:application/json");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
								
// On récupère le contenu
$account = curl_exec($ch);

Grâce à ceci, vous récupérez votre compte en données JSON.

Mettre à jour des informations

Sur cette exemple, on va mettre à jour l'email sur un compte.

// On crée notre objet à mettre à  jour
$account = array();
$account['EMailAddress1']  = "adresse@domain.tld";

// On encode en JSON
$account = json_encode($account);

// On crée l'URL de l'API REST
$url = CRM_WSDL."/AccountSet(guid'GUID_DU_COMPTE')";

// On initialise notre connexion à l'API
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, NTLM_LOGIN. ':' . NTLM_PASSWORD);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_FAILONERROR, 0);
curl_setopt($ch, CURLOPT_MAXREDIRS, 100);
curl_setopt($ch, CURLOPT_POST, 1);

// On crée nos headers
$headers = array("X-HTTP-Method: MERGE", "Content-Type:application/json; charset=utf-8", "Accept:application/json");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
		
// On l'envoi via CURL
curl_setopt($ch, CURLOPT_POSTFIELDS, $account);

// On récupère le contenu
$response = curl_exec($ch);

Code de retour de l'API

Lors d'une erreur, l'API renvoie un tableau en JSON avec le code d'erreur et l'erreur pour aider lors du debug. Lors d'une mise à jour ou d'une suppression, si tout c'est correctement passé, l'API renvoie une variable égale à NULL.

Conclusion

Grâce à cet article, vous pouvez désormais vous connecter à l'API de CRM 2015 pour y faire de la consultation ou de la modification.



Cet article vous a semblé utile ?

0



Vous n'êtes pas autorisé à publier de commentaire.