SDK PHP
Notre SDK PHP vous permet d’automatiser le téléversement de fichiers via la REST API de Transloadit en PHP.
Il peut être installé avec Composer.
Installation
composer require transloadit/php-sdk
Gardez à portée de main l’Auth Key & l’Auth Secret de votre compte Transloadit. Vous trouverez ces valeurs sur la page identifiants API.
Utilisation
Exécutez les exemples PHP ci-dessous dans des scripts côté serveur de confiance. Conservez l’Auth Secret sur votre serveur ; autorisez les utilisateurs avant de leur permettre de déclencher des téléversements ou de demander les résultats d’une Assembly.
1. Téléverser et redimensionner une image depuis votre serveur
Cet exemple montre comment utiliser le SDK pour créer une Assembly sur votre serveur.
Il prend un fichier image d’exemple, le téléverse sur Transloadit et lance un Job de redimensionnement sur celui-ci.
<?php
require 'vendor/autoload.php';
use transloadit\Transloadit;
$transloadit = new Transloadit([
'key' => 'YOUR_TRANSLOADIT_KEY',
'secret' => 'YOUR_TRANSLOADIT_SECRET',
]);
$response = $transloadit->createAssembly([
'files' => ['/PATH/TO/FILE.jpg'],
'params' => [
'steps' => [
'resize' => [
'robot' => '/image/resize',
'width' => 200,
'height' => 100,
],
],
],
]);
// Show the results of the assembly we spawned
echo '<pre>';
print_r($response);
echo '</pre>';
2. Créer un formulaire de téléversement simple pour les utilisateurs finaux
Pour les téléversements depuis le navigateur, suivez l’intégration Uppy ci-dessous. Elle conserve la signature sur votre serveur et téléverse les fichiers directement du navigateur vers Transloadit.
Pour les notifications de fin de traitement, suivez les instructions de vérification de signature
dans la documentation de l’API Webhooks. Une redirection du navigateur ne prouve pas
qu’une Assembly est terminée. Transloadit::response() analyse
les données de notification entrantes, mais ne les authentifie pas. Même si vous créez une instance
Transloadit avec un secret, cette méthode statique ne vérifie pas pour autant un webhook.
3. Utiliser Uppy pour les téléversements de fichiers
Nous recommandons Uppy pour les téléversements depuis le navigateur. Commencez par le guide de référence Uppy et Transloadit pour la configuration du Template, la signature côté serveur et les exemples de clients propres à chaque framework.
Votre backend PHP doit authentifier l’utilisateur et autoriser le téléversement avant de signer des options d’Assembly à courte durée de vie. Choisissez le Template et les Instructions autorisés sur le serveur. Ne signez pas de paramètres arbitraires provenant du navigateur. Consultez Signature Authentication pour le protocole de signature, et la documentation des webhooks ci-dessus pour vérifier les notifications de fin de traitement.
4. Récupérer le JSON du statut de l’Assembly
Vous pouvez utiliser la méthode getAssembly pour obtenir le statut de l’Assembly.
<?php
require 'vendor/autoload.php';
use transloadit\Transloadit;
$assemblyId = 'YOUR_ASSEMBLY_ID';
$transloadit = new Transloadit([
'key' => 'YOUR_TRANSLOADIT_KEY',
'secret' => 'YOUR_TRANSLOADIT_SECRET',
]);
$response = $transloadit->getAssembly($assemblyId);
echo '<pre>';
print_r($response);
echo '</pre>';
5. Créer une Assembly avec un Template.
Cet exemple montre comment utiliser le SDK pour créer une Assembly avec des Templates.
Vous devez créer un Template dans le tableau de bord de votre compte Transloadit et ajouter ici l’ID du Template.
<?php
require 'vendor/autoload.php';
use transloadit\Transloadit;
$transloadit = new Transloadit([
'key' => 'YOUR_TRANSLOADIT_KEY',
'secret' => 'YOUR_TRANSLOADIT_SECRET',
]);
$response = $transloadit->createAssembly([
'files' => ['/PATH/TO/FILE.jpg'],
'params' => [
'template_id' => 'YOUR_TEMPLATE_ID',
],
]);
// Show the results of the assembly we spawned
echo '<pre>';
print_r($response);
echo '</pre>';
Signature Auth
Le SDK PHP signe les requêtes API sortantes avec l’Auth Secret que vous avez configuré, grâce à la Signature Authentication. Les webhooks entrants nécessitent une vérification de signature distincte, comme décrit dans la documentation des webhooks.
Exemple
Pour des exemples entièrement fonctionnels, consultez
examples/.
Documentation
Consultez GitHub pour la documentation complète.