This package provides a generic go client template for the Http SMS Api
Installation
httpsms-go is compatible with modern Go releases in module mode, with Go installed:
go get github.com/NdoleStudio/httpsms-go
Alternatively the same can be achieved if you use import in a package:
import "github.com/NdoleStudio/httpsms-go"
Implemented
- Messages
-
POST /v1/messages/send: Send a new SMS -
GET /v1/messages: Get list of messages which are exchanged between 2 phone numbers.
-
- Heartbeats
-
GET /v1/heartbeats: Get the heartbeats of an Android Phone
-
- Message Threads
-
GET /v1/message-threads: Get the message threads of a phone number -
DELETE v1/message-threads/:messageThreadID: Delete a message thread
-
- Cipher
-
Encrypt: Encrypt the content of a message to cipher text -
Decrypt: Decrypt an encrypted message content to plain text
-
Usage
Initializing the Client
An instance of the client can be created using httpsms.New().
package main import ( "github.com/NdoleStudio/httpsms-go" ) func main() { client := htpsms.New(htpsms.WithAPIKey(/* API Key from https://httpsms.com/settings */)) }
Error handling
All API calls return an error as the last return object. All successful calls will return a nil error.
_, response, err := client.Messages.Send(context.Background()) if err != nil { //handle error }
Messages
POST /v1/messages/send: Send a new SMS Message
message, response, err := client.Messages.Send(context.Background(), &MessageSendParams{ Content: "This is a sample text message", From: "+18005550199", To: "+18005550100", }) if err != nil { log.Fatal(err) } log.Println(message.Code) // 202
Testing
You can run the unit tests for this client from the root directory using the command below:
License
This project is licensed under the MIT License - see the LICENSE file for details
