24 lines
592 B
PHP
24 lines
592 B
PHP
<?php
|
|
|
|
namespace App\Services\Sms;
|
|
|
|
use App\Models\SmsProfile;
|
|
|
|
interface SmsClient
|
|
{
|
|
/**
|
|
* Sends an SMS message using the given profile credentials.
|
|
*/
|
|
public function send(SmsProfile $profile, SmsMessage $message): SmsResult;
|
|
|
|
/**
|
|
* Returns current credit balance as an integer (normalized provider value).
|
|
*/
|
|
public function getCreditBalance(SmsProfile $profile): int;
|
|
|
|
/**
|
|
* Returns price quote(s) as an array of strings (provider can return multiple separated by ##).
|
|
*/
|
|
public function getPriceQuotes(SmsProfile $profile): array;
|
|
}
|