/Getting Started

Getting Started

Follow these steps to send your first message with SMSGist.

1. Create Your Account

  1. Go to app.smsgist.com/register
  2. Enter your email and verify it with the OTP we send
  3. Add your phone number and verify it
  4. Set a password
  5. Create your organization

2. Create an App

  1. From the dashboard, go to AppsCreate App
  2. Give your app a name and description
  3. Your first API credential will be generated automatically

You'll receive:

  • Client ID — used in the X-Client-Id header
  • Client Secret — keep this safe, it's shown only once
  • App Secret Key — used to encrypt your client secret

3. Register a Sender ID

  1. Go to Sender IDsRequest New
  2. Enter your desired sender ID (3-11 characters, e.g., "MyBrand")
  3. Upload your Letter of Authorization (LOA)
  4. Wait for approval (we'll notify you)

4. Send Your First Message

Using the Go SDK

# Set environment variables
export ZN_CLIENT_ID="your_client_id"
export ZN_CLIENT_SECRET="your_client_secret"
export ZN_APP_KEY="your_app_secret_key"
export ZN_URI="https://api.smsgist.com"
package main

import (
    "fmt"
    "log"

    zn "devops.zedeks.com/go-packages/zNotification"
)

func main() {
    client, err := zn.New("smsgist")
    if err != nil {
        log.Fatal(err)
    }

    resp, err := client.Send("sms").
        To("+233245972246").
        From("MyBrand").
        Message("Hello from SMSGist!").
        Exec()

    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("Status: %s\n", resp.Status)
}

Using cURL

# First, encrypt your client_secret with your app_secret_key
# (SDKs handle this automatically)

curl -X POST https://api.smsgist.com/api/sms/send \
  -H "X-Client-Id: your_client_id" \
  -H "Authorization: Bearer <encrypted_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "recipients": ["+233245972246"],
    "message": "Hello from SMSGist!"
  }'

5. Test with DryRun Mode

Before going live, use DryRun mode to test your integration without sending real messages or consuming credits:

  1. Go to your credential settings in the dashboard
  2. Switch mode to DryRun
  3. Send a message — it will go through the full pipeline but won't reach any carrier

DryRun responses look identical to live responses, so you can validate your integration logic safely.

Next Steps