All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
46 lines
1.1 KiB
PHP
46 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Tzsk\Sms\Drivers;
|
|
|
|
use GuzzleHttp\Client;
|
|
use Tzsk\Sms\Contracts\Driver;
|
|
|
|
class SmsGateway24 extends Driver
|
|
{
|
|
protected Client $client;
|
|
|
|
protected function boot(): void
|
|
{
|
|
$this->client = new Client();
|
|
}
|
|
|
|
public function send()
|
|
{
|
|
$response = collect();
|
|
|
|
foreach ($this->recipients as $recipient) {
|
|
$result = $this->client->request(
|
|
'POST',
|
|
data_get($this->settings, 'url'),
|
|
$this->payload($recipient)
|
|
);
|
|
$response->put($recipient, json_decode((string) $result->getBody()));
|
|
}
|
|
|
|
return (count($this->recipients) == 1) ? $response->first() : $response;
|
|
}
|
|
|
|
protected function payload($recipient): array
|
|
{
|
|
return [
|
|
'form_params' => [
|
|
'token' => data_get($this->settings, 'token'),
|
|
'sendto' => $recipient,
|
|
'body' => $this->body,
|
|
'device_id' => data_get($this->settings, 'deviceid'),
|
|
'sim' => $this->sender,
|
|
],
|
|
];
|
|
}
|
|
}
|