quizerra / php-sdk
Official PHP SDK for the Quizerra Partner API.
Requires
- php: ^8.1
- nyholm/psr7: ^1.8
- php-http/discovery: ^1.20
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- symfony/http-client: ^6.4 || ^7.0
Requires (Dev)
- phpstan/phpstan: ^1.12
- phpunit/phpunit: ^10.5 || ^11.0
Suggests
- guzzlehttp/guzzle: Use Guzzle as a PSR-18 transport if it is already used by your application.
This package is not auto-updated.
Last update: 2026-06-20 10:16:29 UTC
README
Official PHP SDK for the Quizerra Partner API.
Quizerra PHP SDK provides typed, server-side access to the Quizerra Partner API. It includes request and response DTOs, endpoint clients, and flow helpers for International IQ testing and partner payments.
The package is built on PHP-FIG HTTP standards, so engineering teams can use it with their existing Symfony, Laravel, or custom PHP infrastructure without exposing Quizerra API credentials to the browser.
API Access
Partner API credentials are issued by Quizerra. To request access, submit an application at quizerra.com/partners.
Installation
composer require quizerra/php-sdk
For local development before the package is published:
{
"repositories": [
{
"type": "path",
"url": "../quizerra-php-sdk"
}
],
"require": {
"quizerra/php-sdk": "0.1.x-dev"
}
}
Quick Start
<?php use Quizerra\PhpSdk\Client\Configuration; use Quizerra\PhpSdk\Client\QuizerraClient; use Quizerra\PhpSdk\Dto\Request\GenerateInternationalIqAttemptRequest; use Quizerra\PhpSdk\Dto\Request\SubmitAnswerRequest; use Quizerra\PhpSdk\Dto\Request\SubmitInternationalIqAnswersRequest; $client = new QuizerraClient(new Configuration( baseUri: 'https://quizerra.com', apiToken: 'partner-api-token', )); $attempt = $client->internationalIq()->generateAttempt( new GenerateInternationalIqAttemptRequest(countryCode: 'US', partnerReference: 'user-123'), idempotencyKey: 'generate-user-123-1', ); $answers = SubmitInternationalIqAnswersRequest::fromAnswers([ new SubmitAnswerRequest(questionId: $attempt->questions[0]->id, answerId: $attempt->questions[0]->answers[0]->id, time: 18), ], email: 'customer@example.com'); $submission = $client->internationalIq()->submitAnswers($attempt->resultId, $answers, 'answers-user-123-1'); if ($submission->isComplete) { $result = $client->internationalIq()->calculate($attempt->resultId); }
Documentation
Quality Gates
composer install
composer test
composer analyse