@@ -16,7 +16,9 @@ class GlobeLabsSmsMessage
16
16
17
17
protected $ address ;
18
18
19
- protected $ globeLabsSmsApiSendUrl = 'https://devapi.globelabs.com.ph/smsmessaging/v1/outbound/{senderAddress}/requests?access_token={accessToken} ' ;
19
+ protected $ globeLabsSmsApiSendUrl = 'https://devapi.globelabs.com.ph/smsmessaging/v1/outbound/{senderAddress}/requests ' ;
20
+
21
+ protected $ requestParams ;
20
22
21
23
public static function create ($ notifiable )
22
24
{
@@ -37,7 +39,20 @@ public function getApiSendUrl()
37
39
$ url = config ('broadcasting.connections.globe_labs_sms.api_send_url ' , $ this ->globeLabsSmsApiSendUrl );
38
40
39
41
$ url = str_replace ('{senderAddress} ' , $ this ->getSenderAddress (), $ url );
40
- $ url = str_replace ('{accessToken} ' , $ this ->getAccessToken (), $ url );
42
+
43
+ $ urlParams = [];
44
+
45
+ if (! empty ($ this ->getAccessToken ())) {
46
+ $ urlParams ['access_token ' ] = $ this ->getAccessToken ();
47
+ }
48
+
49
+ $ httpQuery = http_build_query ($ urlParams );
50
+
51
+ if (! empty ($ httpQuery )) {
52
+ $ httpQuery = '? ' .$ httpQuery ;
53
+ }
54
+
55
+ $ url = $ url .$ httpQuery ;
41
56
42
57
return $ url ;
43
58
}
@@ -101,6 +116,24 @@ public function setMessage($message)
101
116
return $ this ;
102
117
}
103
118
119
+ /**
120
+ * An additional method to accommodate any additional parameters needed by the API.
121
+ *
122
+ * @param $requestParams
123
+ * @return GlobeLabsSmsMessage
124
+ */
125
+ public function setRequestParams ($ requestParams )
126
+ {
127
+ $ this ->requestParams = $ requestParams ;
128
+
129
+ return $ this ;
130
+ }
131
+
132
+ public function getRequestParams ()
133
+ {
134
+ return $ this ->requestParams ;
135
+ }
136
+
104
137
public function toJson ()
105
138
{
106
139
$ request ['outboundSMSMessageRequest ' ]['address ' ] = $ this ->getAddress ();
@@ -112,6 +145,10 @@ public function toJson()
112
145
113
146
$ request ['outboundSMSMessageRequest ' ]['outboundSMSTextMessage ' ]['message ' ] = $ this ->getMessage ();
114
147
148
+ if (! empty ($ this ->getRequestParams ())) {
149
+ $ request = array_merge ($ request , $ this ->getRequestParams ());
150
+ }
151
+
115
152
return json_encode ($ request );
116
153
}
117
154
}
0 commit comments