This is a Go client library for interfacing with the SMS Gateway for Android API.
- Send SMS messages with a simple method call.
- Check the state of sent messages.
- Customizable base URL for use with local, cloud or private servers.
Before you begin, ensure you have met the following requirements:
- You have a basic understanding of Go.
- You have Go installed on your local machine.
To install the SMS Gateway API Client in the existing project, run this command in your terminal:
go get github.com/android-sms-gateway/client-go
Here's how to get started with the SMS Gateway API Client:
- Import the
github.com/android-sms-gateway/client-go/smsgateway
package. - Create a new client with configuration with
smsgateway.NewClient
method. - Use the
Send
method to send an SMS message. - Use the
GetState
method to check the status of a sent message.
package main
import (
"context"
"log"
"os"
"github.com/android-sms-gateway/client-go/smsgateway"
)
func main() {
// Create a client with configuration from environment variables.
client := smsgateway.NewClient(smsgateway.Config{
User: os.Getenv("GATEWAY_USER"),
Password: os.Getenv("GATEWAY_PASSWORD"),
})
// Create a message to send.
message := smsgateway.Message{
Message: "Your SMS message text here",
PhoneNumbers: []string{
"+1234567890",
"+9876543210",
},
}
// Send the message and get the response.
status, err := client.Send(context.Background(), message)
if err != nil {
log.Fatalf("failed to send message: %v", err)
}
log.Printf("Send message response: %+v", status)
// Get the state of the message and print the response.
status, err = client.GetState(context.Background(), status.ID)
if err != nil {
log.Fatalf("failed to get state: %v", err)
}
log.Printf("Get state response: %+v", status)
}
For more information on the API endpoints and data structures, please consult the SMS Gateway for Android API documentation.
Contributions are welcome! Please submit a pull request or create an issue for anything you'd like to add or change.
This library is open-sourced software licensed under the Apache-2.0 license.