api = $api; $this->serviceName = $serviceName; $this->sender = $sender; $this->logger = $logger; $this->phoneNumberUtil = $phoneNumberUtil; } public function send(ShortMessage $shortMessage): void { $receiver = $this->phoneNumberUtil->format($shortMessage->getPhoneNumber(), PhoneNumberFormat::E164); $response = $this->api->post( strtr('/sms/{serviceName}/jobs', ['{serviceName}' => $this->serviceName]), [ 'message' => $shortMessage->getContent(), 'receivers' => [$receiver], 'sender' => $this->sender, 'noStopClause' => true, 'coding' => '7bit', 'charset' => 'UTF-8', 'priority' => $shortMessage->getPriority(), ] ); $improved = array_merge([ 'validReceiversI' => implode(',', $response['validReceivers']), 'idsI' => implode(',', $response['ids']), ], $response); $this->logger->warning('[sms] a sms was sent', $improved); } }