crm — MS Dynamics — подключение через переполнение стека

Мне нужно подключиться к MS Dynamics CRM через PHP

Я посмотрел в Интернете, но я не могу найти, каким образом я могу это сделать.

есть идеи?

0

Решение

Вероятно, единственный чистый способ сделать это будет Dynmiacs Web API, как описано здесь: Документы

1

Другие решения

Мой код для подключения:

$credentials = include("config.php");

$response = \Httpful\Request::put($credentials['serverUrl'])            // Build a PUT request...
->sendsJson()                                                           // tell it we're sending (Content-Type) JSON...
->authenticateWith($credentials['username'], $credentials['password'])  // authenticate with basic auth...
->send();

и ответ:

object(Httpful\Response)#8 (13) {
["body"]=>
string(49) "HTTP Error 401 - Unauthorized: Access is denied
"["raw_body"]=>
string(49) "HTTP Error 401 - Unauthorized: Access is denied
"["headers"]=>
object(Httpful\Response\Headers)#9 (1) {
["headers":"Httpful\Response\Headers":private]=>
array(10) {
["cache-control"]=>
string(7) "private"["content-type"]=>
string(9) "text/html"["server"]=>
string(17) "Microsoft-IIS/8.5"["req_id"]=>
string(36) "2b132633-9ca3-47c0-9283-0d3fd11541fb"["set-cookie"]=>
string(108) "crmf5cookie=!gxLT5kRVUbFsxLk2sMAcTcX9KVcVpQ96ETEp7q4cYuU/v4XeREWZlgu9zG0zcAg/dQ1iVb0zeNKMUP0=;secure; path=/"["www-authenticate"]=>
string(223) "Bearer error=invalid_token, error_description=Error during token validation!, authorization_uri=https://login.windows.net/60786485-b067-48a0-8533-08bf34ceeef1/oauth2/authorize, resource_id=https://ga-pdes.crm4.dynamics.com/"["x-powered-by"]=>
string(7) "ASP.NET"["date"]=>
string(29) "Tue, 09 Jan 2018 18:02:24 GMT"["content-length"]=>
string(2) "49"["strict-transport-security"]=>
string(35) "max-age=31536000; includeSubDomains"}
}
0

Использование AlexaCRM / php-crm-toolkit (https://github.com/AlexaCRM/php-crm-toolkit) Мне удалось подключиться и получить данные.

Мне просто нужно иметь возможность фильтровать данные (искать объекты, отфильтрованные по полю).

Это мой код подключения и поиск данных на объекте.

require_once '../vendor/autoload.php';

use AlexaCRM\CRMToolkit\Client as OrganizationService;
use AlexaCRM\CRMToolkit\Settings;
use AlexaCRM\CRMToolkit\Entity\MetadataCollection;

$options = include('config.php');;
$dynamicsClientSettings = new Settings( $options );
$dynamicsClient = new OrganizationService( $dynamicsClientSettings );
$metadata = MetadataCollection::instance($dynamicsClient);

// execute an action
echo("Execute an action - WhoAmI<br />");
$whoAmIResponse = $dynamicsClient->executeAction( 'WhoAmI' );
echo 'Organization ID: ' . $whoAmIResponse->OrganizationId;
echo("<br /><br />");echo("<b>Lists</b><br />");

$lists = $dynamicsClient->retrieveMultipleEntities("list", $allPages = false, $pagingCookie = null, $limitCount = 1000, $pageNumber = 1, $simpleMode = false);

Мой файл config.php:

$credentials = [
// Dynamics CRM URL
'serverUrl' => 'https://xxxxxxx.crm4.dynamics.com/api/data/v8.2/',

// System user name
'username'  => '[email protected]',

// System user password
'password'  => 'xxxxxxxxxxxxx',

// CRM type (OnlineFederation for CRM Online, Federation for IFD)
'authMode'  => 'OnlineFederation',
];

return $credentials;
0

Да, полный образец показан в Джейсоне Латтимере CRMSoapAuthPHP репозиторий о том, как проходить проверку подлинности и работать с Dynamics CRM Online и локально с использованием PHP.

0
По вопросам рекламы [email protected]