lastError; } public function send(string $ownerPublicId, string $to, string $message): bool { $this->lastError = null; $phone = preg_replace('/\D+/', '', $to); if (strlen($phone) < 9) { $this->lastError = 'Enter a valid phone number.'; return false; } if (strlen($phone) === 9) { $phone = '233'.$phone; } elseif (str_starts_with($phone, '0')) { $phone = '233'.substr($phone, 1); } $credential = $this->credentials->forOwner($ownerPublicId); if (! $credential->hasValidSms()) { $this->lastError = 'Connect Ladill SMS in Integrations before sending attendee SMS.'; return false; } $apiKey = $credential->smsApiKey(); if (! $apiKey) { $this->lastError = 'SMS credentials could not be decrypted. Reconnect SMS in Integrations.'; return false; } $sent = $this->customer->send($apiKey, $phone, $message, (string) $credential->sms_sender_id); if (! $sent) { $this->lastError = $this->customer->lastError() ?: 'The SMS could not be sent.'; } return $sent; } }