The SMS service provides multiple ways to send messages and manage subscriptions.
Method: send(message: str, recipients: [str], sender_id: str = None, enqueue: bool = False)
message: SMS content. (Required)recipients: Array of phone numbers. (Required)sender_id: Registered shortcode or alphanumeric ID.enqueue: If True, delivers messages without waiting for telco acknowledgement.
Method: send_premium(message: str, short_code: str, recipients: [str], link_id: [str] = None, retry_duration_in_hours [int] = None)
message: SMS content. (Required)short_code: Your premium product shortCode. (Required)recipients: Array of phone numbers. (Required)keyword: Your premium product keyword.link_id: Forwarded to your app when a user sends a message to your on-demand service.retry_duration_in_hours: Hours to retry subscription messages if undelivered.
Method: fetch_messages(last_received_id: int = 0)
last_received_id: The ID of the last processed message. Defaults to 0.
Method: create_safaricom_subscription(...)
Creates a premium Safaricom subscription with parameters including short_code, keyword, phone_number, request_id, redirect_url, source_ip, and user_agent.