amphibee/studizz
Studizz API Package for Laravel
This package provides a convenient way to interact with the Studizz API in Laravel applications.
Installation
You can install the package via composer:
composer require amphibee/studizz
Configuration
Publish the configuration file:
php artisan vendor:publish --provider="AmphiBee\Studizz\Providers\StudizzServiceProvider"
Add your Studizz API credentials to your .env file:
STUDIZZ_API_KEY=your_api_key
STUDIZZ_BASE_URL=https://sandbox.studizz.fr/api
Usage
This package provides several services: ContactService, FormationService, and CampusService. You can access these services through their respective facades.
Debugging and Logging
Each service provides a getRawResponse() method that returns the raw API response for debugging purposes:
use AmphiBee\Studizz\Facades\Contact;
use Illuminate\Support\Facades\Log;
try {
$contactData = [
'firstname' => 'John',
'lastname' => 'Doe',
// ... autres données
];
$contactDto = new ContactDto($contactData);
$newContact = Contact::create($contactDto);
// Log the raw response
Log::channel('api')->info('Studizz API Response', [
'response' => Contact::getRawResponse()
]);
} catch (\Exception $e) {
Log::channel('api')->error('Studizz API Error', [
'message' => $e->getMessage(),
'trace' => $e->getTraceAsString()
]);
}
To enable API logging, add this to your config/logging.php:
'channels' => [
// ... autres canaux
'api' => [
'driver' => 'daily',
'path' => storage_path('logs/api.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14,
],
],
The logs will be stored in storage/logs/api.log with this format:
[2024-03-14 10:30:00] local.INFO: Studizz API - Données d'entrée {"data":{"firstname":"John","lastname":"Doe",...}}
[2024-03-14 10:30:01] local.INFO: Studizz API - Réponse {"response":{"id":"123",...}}
Contacts
Create a Contact
use AmphiBee\Studizz\Facades\Studizz;
use AmphiBee\Studizz\Dto\ContactDto;
$contactData = [
'firstname' => 'John',
'lastname' => 'Doe',
'email' => 'john.doe@example.com',
'phone' => '+33612345678',
'degreeLevel' => 0,
'teamAssigned' => '63e26d24383062596b949cff',
'interestedFormations' => ['5bdeb73136da49690e78c510'],
'rgpd' => true,
'cV' => [
'file' => file_get_contents('/path/to/file.pdf'),
'filename' => 'file.pdf',
];
];
$contactDto = new AmphiBee\Studizz\Dto\ContactDto($contactData);
$newContact = AmphiBee\Studizz\Facades\Contact::create($contactDto);
Get Contact Fields
$fields = AmphiBee\Studizz\Facades\Contact::getFields();
Formations
Get All Formations
$formations = AmphiBee\Studizz\Facades\Formation::getAll();
Campus
Get All Campus
$formation = AmphiBee\Studizz\Facades\Campus::getAll();
Testing
To run the tests for this package, use the following command:
./vendor/bin/pest
Contributing
Please see CONTRIBUTING.md for details.
Security
If you discover any security-related issues, please email security@amphibee.fr instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 1.3.2 | ^7.4| | ^8.0| | MIT | |
| 1.3.1 | ^7.4| | ^8.0| | MIT | |
| 1.3 | ^7.4| | ^8.0| | MIT | |
| 1.2.6.3 | ^7.4| | ^8.0| | MIT | |
| 1.2.6.2 | ^7.4| | ^8.0| | MIT | |
| 1.2.6.1 | ^7.4| | ^8.0| | MIT | |
| 1.2.6 | ^7.4| | ^8.0| | MIT | |
| 1.2.5 | ^7.4| | ^8.0| | MIT | |
| 1.2.4 | ^7.4| | ^8.0| | MIT | |
| 1.2.3 | ^7.4| | ^8.0| | MIT | |
| 1.2.2 | ^7.4| | ^8.0| | MIT | |
| 1.2.1 | ^7.4| | ^8.0| | MIT | |
| 1.2 | ^7.4| | ^8.0| | MIT | |
| 1.1 | ^7.4| | ^8.0| | MIT | |
| 1.0 | ^7.4| | ^8.0| | MIT |