webcrea / yandex-metrika-sdk
Yandex Metrika SDK
Installs: 2 452
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 3
Open Issues: 1
Requires
- php: >=7.1.33
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- roave/security-advisories: dev-latest
README
SDK для удобного взаимодействия с Yandex Metrika API управления
Установка
С помощью Composer
$ composer require webcrea/yandex-metrika-sdk
Получение токена
- Перейти на https://oauth.yandex.ru/
- Нажать "Зарегистрировать новое приложение"
- Заполнить необходимые поля.
- В разделе "Платформы" выбрать Веб-сервисы и нажать "Подставить URL для разработки"
- В разделе "Доступы" \ Яндекс.Метрика нужно отметить "Получение статистики" и "Создание счётчиков"
- После сохранения нужно скопировать ИД приложения и подставить в URL для получения токена:
https://oauth.yandex.ru/authorize?response_type=token&client_id=ИД ПРИЛОЖЕНИЯ
Инициализация
$counterId = ''; $token = ''; // CDP API $cdp = new \WebCrea\YandexMetrikaSdk\Api\CdpApi($token); // Management API $management = new \WebCrea\YandexMetrikaSdk\Api\ManagementApi($token);
Примеры использования
$counterId = '00000000'; $token = '00000000000000000000'; $cdp = new \WebCrea\YandexMetrikaSdk\Api\CdpApi($token); // Сопоставление статусов заказов $map['order_statuses'] = [ [ 'id' => 'NO', 'humanized' => 'Не оплачен', 'type' => 'IN_PROGRESS', ], [ 'id' => 'N', 'humanized' => 'Новый заказ', 'type' => 'IN_PROGRESS', ], ]; $result = $cdp->mapOrderStatuses($counterId, $map); // Загрузка заказов (JSON) $orders['orders'] = [ [ "id" => "32152", "client_uniq_id" => "sertw345fgdsg", "client_type" => "CONTACT", "create_date_time" => "2020-04-14 13:17:00", "update_date_time" => "2020-04-17 16:12:21", "finish_date_time" => "2020-04-17 11:59:00", "revenue" => 2000, "order_status" => "N", "cost" => 100500, "products" => ["Товар А" => 173, "Товар Б" => 146], ], ]; $result = $cdp->uploadOrdersJson($counterId, $orders, ['merge_mode' => 'SAVE']); // Информация о последних загрузках $result = $cdp->getLastUploadings($counterId);
Описание CDP API
Сопоставление статусов заказов https://yandex.ru/dev/metrika/doc/api2/crm/schema/maporderstatuses.html
public function mapOrderStatuses(int $counterId, array $content): array
Загрузка данных о клиентах (JSON) https://yandex.ru/dev/metrika/doc/api2/crm/data/uploadcontactjson.html
public function uploadContactsJson(int $counterId, array $content, array $requestParams): array
Загрузка заказов (JSON) https://yandex.ru/dev/metrika/doc/api2/crm/data/uploadordersjson.html
public function uploadOrdersJson(int $counterId, array $content, array $requestParams): array
Создание атрибутов https://yandex.ru/dev/metrika/doc/api2/crm/schema/createattributes.html
public function createAttributes(int $counterId, array $content, array $requestParams = []): array
Создание списка товаров https://yandex.ru/dev/metrika/doc/api2/crm/schema/createproducts.html
public function createProducts(int $counterId, array $content): array
Информация о всех атрибутах https://yandex.ru/dev/metrika/doc/api2/crm/schema/createproducts.html
public function getAttributes(int $counterId, array $requestParams = []): array
Информация о типах пользовательских атрибутов https://yandex.ru/dev/metrika/doc/api2/crm/schema/getpredefinedtypes.html
public function getPredefinedTypes(int $counterId): array
Информация о типах системных атрибутов https://yandex.ru/dev/metrika/doc/api2/crm/schema/gettypes.html
public function getTypes(int $counterId): array
Информация о последних загрузках https://yandex.ru/dev/metrika/doc/api2/crm/uploadings/getlastuploadings.html
public function getLastUploadings(int $counterId, array $requestParams = []): array