-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbulk_sms_nigeria_repo.go
62 lines (48 loc) · 1.32 KB
/
bulk_sms_nigeria_repo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package sms_nigeria_go
import (
"encoding/json"
"strings"
)
type BulkSmsNigeriaNotification struct {
Sender string
Recipient string
Body string
ApiToken string
}
type BulkSmsNigeriaResponse struct {
Status int `json:"0"`
Data struct {
Status string `json:"status"`
Message string `json:"message"`
} `json:"data"`
}
type BulkSmsNigeriaRepository struct{}
func (*BulkSmsNigeriaRepository) BulkSmsNigeria(sms *BulkSmsNigeriaNotification) (response BulkSmsNigeriaResponse, err error) {
prepareURL := BulkSmsNigeriaURLCreate + "?api_token=" + sms.ApiToken +
"&from=" + sms.Sender + "&to=" + sms.Recipient + "&body=" +
strings.Replace(sms.Body, " ", "%20", -1)
// contact endpoint
var result []byte
result, err = ContactEndpoint(prepareURL)
if err != nil {
return BulkSmsNigeriaResponse{}, err
}
err = json.Unmarshal(result, &response)
return response, err
}
func (*BulkSmsNigeriaRepository) ValidateBulkSmsNigeriaInput(smsInfo *BulkSmsNigeriaNotification) (err map[string]interface{}) {
err = make(map[string]interface{})
if smsInfo.Sender == "" {
err["Sender"] = ErrMissingSender
}
if smsInfo.Recipient == "" {
err["Recipient"] = ErrMissingRecipient
}
if smsInfo.Body == "" {
err["Body"] = ErrMissingBody
}
if smsInfo.ApiToken == "" {
err["ApiToken"] = ErrMissingApiToken
}
return
}