Skip to content

whitelabeled/daisycon-api-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Daisycon API client

Latest Stable Version Total Downloads License

Library to retrieve sales from the Daisycon publisher API.

Usage:

Login

<?php
require 'vendor/autoload.php';

session_start();

$client = new \whitelabeled\DaisyconApi\DaisyconClient(
    '123456',
    '848840-9900301-99494595-3994984',
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'http://localhost/verify.php'
);
$login = $client->login();

$_SESSION['state'] = $login->state;
$_SESSION['pkce'] = $login->pkceCode;

echo 'Login URL: ' . $login->loginUrl;

Verify

<?php
require 'vendor/autoload.php';

session_start();

$client = new \whitelabeled\DaisyconApi\DaisyconClient(
    '123456',
    '848840-9900301-99494595-3994984',
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'http://localhost/verify.php'
);

$refreshToken = $client->verifyAuthCode($_SESSION['state'], $_SESSION['pkce'], $_GET['state'], $_GET['code']);

// Store refreshtoken in database or persistent storage

Get transactions

<?php
require 'vendor/autoload.php';

$client = new \whitelabeled\DaisyconApi\DaisyconClient(
    '123456',
    '848840-9900301-99494595-3994984',
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'http://localhost/verify.php'
);

// Refresh token, store new token in DB:
$refreshToken = $client->refreshAccessToken($refreshToken);

// Optional:
//$client->mediaIds = ['666666', '777777'];

$transactions = $client->getTransactions(new DateTime('2016-10-30 00:00:00'));

/*
 * Returns:
Array
(
    [0] => whitelabeled\DaisyconApi\Transaction Object
        (
            [id] => 1KMDIMF49503095MFJULCM
            [partId] => F7I6
            [transactionDate] => DateTime Object
                (
                    [date] => 2016-10-30 22:07:22.000000
                    [timezone_type] => 3
                    [timezone] => Europe/Berlin
                )

            [clickDate] => DateTime Object
                (
                    [date] => 2016-10-30 21:54:09.000000
                    [timezone_type] => 3
                    [timezone] => Europe/Berlin
                )

            [approvalDate] => 
            [lastModifiedDate] => DateTime Object
                (
                    [date] => 2016-10-30 22:07:22.000000
                    [timezone_type] => 3
                    [timezone] => Europe/Berlin
                )

            [programId] => 9999
            [countryId] => 222
            [regionId] => 0
            [gender] => 
            [age] => 0
            [deviceType] => pc
            [program] => Advertisements Inc.
            [ipAddress] => ?.22.33.44
            [status] => open
            [disapprovedReason] => 
            [subId] => 222
            [subId2] => 958503
            [subId3] => 
            [reference] => 
            [commissionAmount] => 6
            [totalCommissionAmount] => 6
            [sharedCommission] => 0
            [commissionPercentage] => 100
            [revenueSharePartner] => 
            [revenue] => 0
            [extra1] => 
            [extra2] => 
            [extra3] => 
            [extra4] => 
            [extra5] => 
            [publisherDescription] => Exciting product
            [mediaId] => 123456
            [mediaName] => Super interesting website
        )

)
*/

License

© Keuze.nl BV

MIT license, see LICENSE.txt for details.

About

Daisycon API client

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages