1. Go to this page and download the library: Download senndo/senndo-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/ */
senndo / senndo-php example snippets
$senndo = new Client(apiKey: $cleApi);
$envoi = $senndo->sendMessage([
'channel' => 'sms',
'to' => '+33612345678',
'text' => 'Votre code de connexion est 4821.',
'idempotencyKey' => "connexion-{$utilisateurId}",
]);
journaliser($envoi['id'], $envoi['status']);
$message = $senndo->getMessage($identifiantDuMessage);
$code = $message['failureCode'] ?? null;
if ($code !== null && !in_array($code, Contract::KNOWN_FAILURE_CODES, true)) {
journaliser('code plus récent que ce SDK', $code);
}
$solde = $senndo->getBalance(['currency' => 'EUR']);
journaliser('disponible', $solde['balanceUsd']);
$journal = $senndo->listLedger(['pageSize' => 100]);
$mouvementNet = '0';
foreach ($journal['rows'] as $ligne) {
// Le SDK ne CONVERTIT pas les montants, il ne peut donc pas certifier qu'ils sont numériques :
// la vérification est explicite, et un montant illisible fait échouer le calcul plutôt que de
// le fausser en silence.
if (!is_numeric($ligne['amountUsd'])) {
throw new \RuntimeException("montant illisible : {$ligne['amountUsd']}");
}
$mouvementNet = bcadd($mouvementNet, $ligne['amountUsd'], 6);
}
journaliser('mouvement net', $mouvementNet);
final class TransportMaison implements Transport
{
public function send(HttpRequest $request): HttpResponse
{
$reponse = appelerMonClient(
$request->method,
$request->url,
$request->headers,
$request->body,
$request->timeout,
);
return new HttpResponse($reponse['status'], $reponse['headers'], $reponse['body']);
}
}