@@ -17,38 +17,42 @@ composer require capcom6/android-sms-gateway
17
17
18
18
## Usage
19
19
20
- Here is a simple example of how to send a message using the library:
20
+ ### Using the Builder Pattern
21
21
22
+ The library provides builder classes for creating ` Message ` and ` Settings ` objects with numerous optional fields.
23
+
24
+ #### Creating a Message
22
25
23
26
``` php
24
27
<?php
25
28
26
29
require 'vendor/autoload.php';
27
30
28
31
use AndroidSmsGateway\Client;
29
- use AndroidSmsGateway\Encryptor;
30
- use AndroidSmsGateway\Domain\Message;
32
+ use AndroidSmsGateway\Domain\MessageBuilder;
31
33
32
34
$login = 'your_login';
33
35
$password = 'your_password';
34
36
35
37
$client = new Client($login, $password);
36
- // or
37
- // $encryptor = new Encryptor('your_passphrase');
38
- // $client = new Client($login, $password, Client::DEFAULT_URL, $httpClient, $encryptor);
39
38
40
- $message = new Message('Your message text here.', ['+1234567890']);
39
+ $message = (new MessageBuilder('Your message text here.', ['+1234567890']))
40
+ ->setTtl(3600)
41
+ ->setSimNumber(1)
42
+ ->setWithDeliveryReport(true)
43
+ ->setPriority(100)
44
+ ->build();
41
45
42
46
try {
43
- $messageState = $client->Send ($message);
47
+ $messageState = $client->SendMessage ($message);
44
48
echo "Message sent with ID: " . $messageState->ID() . PHP_EOL;
45
49
} catch (Exception $e) {
46
50
echo "Error sending message: " . $e->getMessage() . PHP_EOL;
47
51
die(1);
48
52
}
49
53
50
54
try {
51
- $messageState = $client->GetState ($messageState->ID());
55
+ $messageState = $client->GetMessageState ($messageState->ID());
52
56
echo "Message state: " . $messageState->State() . PHP_EOL;
53
57
} catch (Exception $e) {
54
58
echo "Error getting message state: " . $e->getMessage() . PHP_EOL;
@@ -60,12 +64,35 @@ try {
60
64
61
65
The ` Client ` is used for sending SMS messages in plain text, but can also be used for sending encrypted messages by providing an ` Encryptor ` .
62
66
63
- ### Methods
67
+ ### Message Methods
68
+
69
+ * ` Send(Message $message) ` (deprecated): Send a new SMS message.
70
+ * ` SendMessage(Message $message) ` : Send a new SMS message.
71
+ * ` GetState(string $id) ` (deprecated): Retrieve the state of a previously sent message by its ID.
72
+ * ` GetMessageState(string $id) ` : Retrieve the state of a previously sent message by its ID.
73
+
74
+ ### Device Methods
75
+
76
+ * ` ListDevices() ` : List all registered devices.
77
+ * ` RemoveDevice(string $id) ` : Remove a device by ID.
78
+
79
+ ### System Methods
80
+
81
+ * ` HealthCheck() ` : Check system health.
82
+ * ` RequestInboxExport(object $request) ` : Request inbox messages export.
83
+ * ` GetLogs(?string $from = null, ?string $to = null) ` : Get logs within a specified time range.
84
+
85
+ ### Settings Methods
86
+
87
+ * ` GetSettings() ` : Get user settings.
88
+ * ` UpdateSettings(object $settings) ` : Update user settings.
89
+ * ` PatchSettings(object $settings) ` : Partially update user settings.
64
90
65
- The ` Client ` class has the following methods:
91
+ ### Webhook Methods
66
92
67
- * ` Send(Message $message) ` : Send a new SMS message.
68
- * ` GetState(string $id) ` : Retrieve the state of a previously sent message by its ID.
93
+ * ` ListWebhooks() ` : List all registered webhooks.
94
+ * ` RegisterWebhook(object $webhook) ` : Register a new webhook.
95
+ * ` DeleteWebhook(string $id) ` : Delete a webhook by ID.
69
96
70
97
# Contributing
71
98
0 commit comments