Issues (16)

examples/segments.php (4 issues)

Labels
Severity
1
<?php
2
3
require '../vendor/autoload.php';
4
5
$username = '{yourUsername}';
6
$password = '{yourPassword}';
7
$dataProviderId = '{yourDataProviderId}';
8
9
// create the API client instance
10
try {
11
    $redisConfig = [
12
        'scheme' => 'tcp',
13
        'host' => 'localhost',
14
        'port' => 6379,
15
    ];
16
    $cache = new Audiens\AdForm\Cache\RedisCache($redisConfig);
17
    $adform = new Audiens\AdForm\Client($username, $password, $cache);
18
19
} catch (Audiens\AdForm\Exception\OauthException $e) {
20
    exit($e->getMessage());
21
}
22
23
// Get 10 segments
24
/** @var \Audiens\AdForm\Entity\Segment[] $segments */
25
$segments = $adform->segments()->getItems(2);
26
foreach ($segments as $segment) {
27
    echo $segment->getName()."\n";
28
}
29
30
// Get 10 segments for your data provider
31
/** @var \Audiens\AdForm\Entity\Segment[] $segments */
32
$segments = $adform->segments()->getItemsDataProvider($dataProviderId, 10);
0 ignored issues
show
$dataProviderId of type string is incompatible with the type integer expected by parameter $dataProviderId of Audiens\AdForm\Manager\S...:getItemsDataProvider(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

32
$segments = $adform->segments()->getItemsDataProvider(/** @scrutinizer ignore-type */ $dataProviderId, 10);
Loading history...
33
foreach ($segments as $segment) {
34
    echo $segment->getName()."\n";
35
}
36
37
// Get 10 segments from a category
38
$categoryId = '{categoryId}';
39
/** @var \Audiens\AdForm\Entity\Segment[] $segments */
40
$segments = $adform->segments()->getItemsDataProvider($categoryId, 10);
41
foreach ($segments as $segment) {
42
    echo $segment->getName()."\n";
43
}
44
45
try {
46
    // Create a segments
47
    $segment = new Audiens\AdForm\Entity\Segment();
48
    $segment->setName('Test1234')
49
        ->setDataProviderId($dataProviderId)
0 ignored issues
show
$dataProviderId of type string is incompatible with the type integer expected by parameter $dataProviderId of Audiens\AdForm\Entity\Segment::setDataProviderId(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

49
        ->setDataProviderId(/** @scrutinizer ignore-type */ $dataProviderId)
Loading history...
50
        ->setStatus('active')
0 ignored issues
show
'active' of type string is incompatible with the type Audiens\AdForm\Enum\SegmentStatus expected by parameter $status of Audiens\AdForm\Entity\Segment::setStatus(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

50
        ->setStatus(/** @scrutinizer ignore-type */ 'active')
Loading history...
51
        ->setTtl(100)
52
        ->setCategoryId($categoryId)
0 ignored issues
show
$categoryId of type string is incompatible with the type integer expected by parameter $categoryId of Audiens\AdForm\Entity\Segment::setCategoryId(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

52
        ->setCategoryId(/** @scrutinizer ignore-type */ $categoryId)
Loading history...
53
        ->setFrequency(5)
54
        ->setRefId('test1234')
55
        ->setFee(0.6);
56
    $segment = $adform->segments()->create($segment);
57
58
    // Reload the segment from the API
59
    $segment = $adform->segments()->getItem($segment->getId());
60
    echo $segment->getName()."\n";
61
62
    // Update the name
63
    $segment->setName($segment->getName().'1');
64
    $segment = $adform->segments()->update($segment);
65
    echo $segment->getName()."\n";
66
67
    // Delete the segment
68
    $status = $adform->segments()->delete($segment);
69
70
} catch (Audiens\AdForm\Exception\EntityInvalidException $e) { // API returned a validation error
71
    echo "Validation error: ".$e->getCode()." ".$e->getMessage()."\n";
72
73
    $validationErrors = $e->getErrors();
74
    foreach ($validationErrors as $validationError) {
75
        echo $validationError."\n";
76
    }
77
} catch (Audiens\AdForm\Exception\ApiException $e) { //  API returned a general error
78
    echo "Api error: ".$e->getCode()." ".$e->getMessage()."\n";
79
}
80