acquia / perz-api-php
A PHP Client library to consume the CIS API.
Installs: 300 429
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 9
Forks: 0
Open Issues: 0
Requires
- php: >=7.1
- ext-json: *
- acquia/http-hmac-php: >=3.4
- guzzlehttp/guzzle: ~6.0 || ^7.0
- psr/log: ~1.0 || ^3.0
Requires (Dev)
- drupal/coder: ^8.3
- mockery/mockery: ^1.2
- pdepend/pdepend: ~1.0
- phploc/phploc: ~2.0
- phpmd/phpmd: ~1.0
- phpunit/phpunit: ^7
- scrutinizer/ocular: ~1.0
- sebastian/phpcpd: ~2.0
- squizlabs/php_codesniffer: ^3.5
Suggests
- ramsey/uuid: A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID)
This package is not auto-updated.
Last update: 2024-12-14 13:04:27 UTC
README
Provides an API client for PHP applications communicating with the Acquia Personalization API .
Installation
Install the latest version with Composer:
$ composer require acquia/perz-api-php
Usage
Create the API Client
use Acquia\PerzApiPhp\ObjectFactory; use Acquia\PerzApiPhp\PerzApiPhpClient; $base_uri = 'https://personalization.api.endpoint'; $api_key = 'XXXXXX'; $secret_key = 'XXXXXXXXXXXXXXXX'; $key = ObjectFactory::getAuthenticationKey($api_key, $secret_key); $middleware = ObjectFactory::getHmacAuthMiddleware($key); $config = ['base_url' => $base_uri]; $api_client = new PerzApiPhpClient($middleware, $config);
Create entities in Personalization
/** * Create entity in Personalization. * * @param array $data * An array of Entity data. * $data = [ * 'account_id' => (string) Acquia Account ID. Required. * 'origin' => (string) Site ID. Required. * 'environment' => (string) Site envireonment. Required. * 'domain' => (string) Site Domain. Required. * 'entity_variations' => (array) Entity variation data. Required. * 'site_hash' => (string) Site hash. Optional. * ]. * * @return \Psr\Http\Message\ResponseInterface|void * Response. * * @throws \GuzzleHttp\Exception\GuzzleException * Guzzle Exception. */ $response = $api_client->putVariations($data);
Delete entities from Personalization.
/** * Delete entities from Personalization. * * @param array $data * An array of Entity data. * $data = [ * 'account_id' => (string) Acquia Account ID. Required. * 'environment' => (string) Site environment. Required. * 'origin' => (string) Site ID. Optional. * 'content_uuid' => (string) UUID of the entity. Optional. * 'language' => (string) UUID of the entity. Optional. * 'view_mode' => (string) UUID of the entity. Optional. * 'site_hash' => (string) Site hash. Optional. * ]. * * @return \Psr\Http\Message\ResponseInterface|void * Response. * * @throws \GuzzleHttp\Exception\GuzzleException * Guzzle Exception. */ $response = $api_client->getEntities($data);
Get entities from Personalisation.
<?php /** * Get entities from Personalisation. * * @param array $data * An array of Entity data. * $data = [ * 'account_id' => (string) Acquia Account ID. Required. * 'origin' => (string) Site ID. Required. * 'environment' => (string) Site environment. Required. * 'language' => (string) Entity Language. Optional. * 'view_mode' => (string) View mode of Entity. Optional. * 'q' => (string) Keywords to search. Optional. * 'content_type' => (string) Type of the Entity. Oprional. * 'tags' => (string) Tags to search, Optional. * 'all_tags' => (string) All tags to search. Optional. * 'date_start' => (datetime) Start date of Entity update. Optional. * 'date_end' => (datetime) End date of Entity update. Optional. * 'rows' => (integer) Number of rows in result. Default 10. Optional. * 'start' => (integer) Page start index. Default 0. Optional. * 'sort' => (string) Sort by field. Default modified. Optional. * 'sort_order' => (string) Sort order. Default desc. Optional. * 'site_hash' => (string) Site hash. Optional. * ]. * * @return \Psr\Http\Message\ResponseInterface|void * Response. * * @throws \GuzzleHttp\Exception\GuzzleException * Guzzle Exception. */ $response = $api_client->getEntities($data);