1. Go to this page and download the library: Download r3mfr/api-dpae-php 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/ */
$myTokenStorage = new class implements \R3m\Dpae\AuthTokenStorage\AuthTokenStorageInterface {
public function get(): string
{
// Lire le token depuis la base de données ou depuis un fichier
}
public function set(string $token): void
{
// Stocker le token en base de données ou dans un fichier
}
};
\R3m\Dpae\ApiClient::setAuthTokenStorage($myTokenStorage);
$embauche = new \R3m\Dpae\Embauche();
$embauche
->setRaisonSociale('R3M EVENEMENT')
->setSiret('67846960300074')
// ... définir les autres valeurs de l'embauche ...
->setIdExterne('123456');
try {
$embauche->save();
} catch (\R3m\Dpae\Exception\BadRequestException $e) {
foreach ($e->getViolations() as $violation) {
echo("Erreur sur la propriété {$violation['propertyPath']}: {$violation['message']}");
}
exit(1);
} catch (\R3m\Dpae\Exception\ExceptionInterface $e) {
echo("Erreur lors de la création de l'embauche : {$e->getCode()} {$e->getMessage()}");
exit(1);
}
echo("Embauche {$embauche->id} créée. Statut de la DPAE: {$embauche->getDpae()->statutTraitementDescription}.");
$idExterne = '123456'; // ID de l'embauche dans l'application cliente
try {
/** @var \R3m\Dpae\Embauche $embauche */
$embauche = \R3m\Dpae\Embauche::one(['idExterne' => $idExterne]);
} catch (\R3m\Dpae\Exception\ExceptionInterface $e) {
echo("Erreur {$e->getCode()} lors de la recherche de l'embauche : {$e->getMessage()}");
exit(1);
}
if ($embauche) {
if ($embauche->isDeclaree()) {
echo("DPAE validée par l'URSSAF. Numéro de dossier : {$embauche->getDpae()->refDossier}");
} else {
if ($embauche->hasErreur()) {
echo("Erreur avec la DPAE de l'embauche {$embauche->getId()} : {$embauche->getDpae()->codeRetourAr}-{$embauche->getDpae()->codeRetourArLibelle}");
} else {
echo("Statut de la DPAE pour l'embauche {$embauche->getId()} : {$embauche->getDpae()->statutTraitementDescription}");
}
}
} else {
echo("Aucune embauche trouvée pour idExterne=$idExterne");
}
// Il est conseillé de configurer une clé secrête pour valider la requête Webhook
$secret = 'phrase_secrete';
try {
$webhookEvent = \R3m\Dpae\WebhookEvent::receive($secret);
} catch (\R3m\Dpae\Exception\ExceptionInterface $e) {
echo sprintf("Erreur lors de la réception du webhook : {$e->getMessage()}");
// Retourner un code >= 400 informera l'API DPAE de l'erreur de traitement
header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Dequest', true, 400);
exit(1);
}
$embauche = $webhookEvent->getEmbauche();
// Vous pouvez maintenant traitez le statut de la DPAE dans votre application :
// - mettre à jour le statut de la DPAE dans votre base de données
// - notifiez le déclarant si une erreur doit être corrigée
// - etc.
if ($embauche->isDeclaree()) {
echo sprintf("DPAE validée par l'URSSAF. Numéro de dossier : {$embauche->getDpae()->refDossier}");
} else {
// l'embauche n'est pas déclarée, la DPAE est en erreur
echo sprintf("Erreur avec la DPAE de l'embauche {$embauche->getId()} : {$embauche->getDpae()->codeRetourAr}-{$embauche->getDpae()->codeRetourArLibelle}");
}
// Informer l'API DPAE du succès du traitement du webhook
header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK', true, 200);
header($_SERVER['SERVER_PROTOCOL'] . ' 503 Service Unavailable', true, 503);
header('Retry-after: 3600');
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.