PHP code example of jakuborava / affilbox-client
1. Go to this page and download the library: Download jakuborava/affilbox-client library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jakuborava / affilbox-client example snippets
use JakubOrava\AffilboxClient\Facades\AffilboxClient;
// Facade
$dashboard = AffilboxClient::dashboard()->get();
// Dependency injection
use JakubOrava\AffilboxClient\AffilboxClient;
public function __construct(private AffilboxClient $client) {}
$dashboard = $this->client->dashboard()->get();
$client = new AffilboxClient('instance-number', 'api-key');
$client->test()->ping(); // Returns "pong"
$client->test()->checkCredentials(); // Returns "ok"
$dashboard = $client->dashboard()->get(); // DashboardDTO
$dashboard->clicks;
$dashboard->conversions;
$dashboard->commission;
$dashboard->pending;
$dashboard->payment;
$dashboard->total;
$instance = $client->instance()->get(); // InstanceDTO
$instance->domain;
$instance->currency;
$instance->locked;
$instance->terminated;
$instance->expire; // Carbon|false
$campaigns = $client->campaigns()->list(); // Collection<int, CampaignDTO>
foreach ($campaigns as $campaign) {
$campaign->id;
$campaign->name;
$campaign->active;
$campaign->commission;
}
use JakubOrava\AffilboxClient\Requests\ConversionsListRequest;
use JakubOrava\AffilboxClient\Enums\ConversionState;
use Carbon\Carbon;
// All conversions
$conversions = $client->conversions()->list();
// Filtered
$request = (new ConversionsListRequest)
->state(ConversionState::Authorized)
->dateFrom(Carbon::parse('2024-01-01'))
->dateTo(Carbon::parse('2024-12-31'))
->campaignId(42)
->coupon('SUMMER');
$conversions = $client->conversions()->list($request); // Collection<int, ConversionDTO>
use JakubOrava\AffilboxClient\Requests\AddConversionRequest;
$request = new AddConversionRequest(
campaignId: 42,
userId: '[email protected] ',
createDate: Carbon::now(),
value: 200.00,
);
// Optional fluent methods
$request->sales(150.00)
->transactionId('TXN-123')
->channel('web')
->coupon('SUMMER');
$client->conversions()->add($request);
use JakubOrava\AffilboxClient\Requests\ChangeConversionRequest;
$request = (new ChangeConversionRequest(
conversionId: 23,
state: ConversionState::Authorized,
))
->value(123.46)
->sales(100.00)
->currency('CZK')
->comment('Approved');
$client->conversions()->change($request);
use JakubOrava\AffilboxClient\Requests\PartnersListRequest;
// All partners
$partners = $client->partners()->list();
// Filtered
$request = (new PartnersListRequest)
->registerFrom(Carbon::parse('2024-01-01'))
->registerTo(Carbon::parse('2024-12-31'))
->lastLoginFrom(Carbon::parse('2024-06-01'));
$partners = $client->partners()->list($request); // Collection<int, PartnerDTO>
foreach ($partners as $partner) {
$partner->person->name;
$partner->person->email;
$partner->company->name;
$partner->address->city;
}
use JakubOrava\AffilboxClient\Requests\AddPartnerRequest;
$request = (new AddPartnerRequest('[email protected] '))
->name('Jan')
->surname('Novák')
->phone('+420608100100')
->street('Národní 12')
->city('Praha')
->postCode('10000')
->country('CZ')
->company('Firma s.r.o.')
->ic('12345678')
->dic('CZ12345678');
$response = $client->partners()->add($request); // AddPartnerResponseDTO
$response->instance;
$response->url;
$response->apiKey;
$response->login;
$response->password;
$invoices = $client->invoices()->list(); // Collection<int, InvoiceDTO>
foreach ($invoices as $invoice) {
$invoice->id;
$invoice->vs;
$invoice->paid;
$invoice->issueDate; // Carbon
$invoice->dueDate; // Carbon
$invoice->supplier; // SupplierDTO
$invoice->customer; // CustomerDTO
foreach ($invoice->items as $item) {
$item->item;
$item->amount;
$item->currency;
}
}
$status = $client->invoices()->billingRequest();
use JakubOrava\AffilboxClient\Requests\UploadInvoiceRequest;
$request = new UploadInvoiceRequest(
invoiceId: 24,
issuedOn: Carbon::parse('2024-10-09'),
due: Carbon::parse('2024-10-19'),
vs: 202410045,
file: base64_encode(file_get_contents('invoice.pdf')),
);
$invoice = $client->invoices()->upload($request); // InvoiceDTO
use JakubOrava\AffilboxClient\Exceptions\AffilboxClientException;
use JakubOrava\AffilboxClient\Exceptions\AuthenticationException;
use JakubOrava\AffilboxClient\Exceptions\ValidationException;
use JakubOrava\AffilboxClient\Exceptions\ApiErrorException;
use JakubOrava\AffilboxClient\Exceptions\UnexpectedResponseException;
try {
$client->conversions()->list();
} catch (AuthenticationException $e) {
// 401 - Invalid credentials
} catch (ValidationException $e) {
// 422 - Validation error
} catch (ApiErrorException $e) {
// Server error or API error status
} catch (UnexpectedResponseException $e) {
// Non-array / malformed response
} catch (AffilboxClientException $e) {
// Catch-all for any client exception
}
bash
php artisan vendor:publish --tag="affilbox-client-config"