GatewayAPI accelererer udviklingen med intuitive API’er og services, så du kan komme i gang med at bygge med det samme.
Det behøver ikke at være kompliceret at få dine modtageres opmærksomhed. Find ud af, hvordan vores tjenester kan hjælpe dig med at skære igennem støjen, så du kan interagere med dine modtagere hurtigt og effektivt. Vi er en prisvindende platform med tusindvis af tilfredse kunder globalt.
Læs vores guide til, hvordan du sender SMS-beskeder ved hjælp af GatewayAPI og kodesproget cURL.
Opsæt din GatewayAPI konto, og kom i gang med at sende beskeder i dag. Tilgå intuitive dashboards og services med det samme. Får du alligevel brug for hjælp, er hjælpen kun ét klik væk.
Vær sikker på, at dit budskab altid når frem til dine modtagere. Få adgang til et uovertruffent niveau af pålidelighed og teknisk redundans, der garanterer hurtig levering af beskeder i realtid – vores historiske oppetid på over 99,99% taler for sig selv.
Med GatewayAPI som din messaging partner får du en fuldstændig GDPR-kompatibel service med europæisk datalagring og ISAE 3000-certificering. Derudover får du mulighed for at benytte et unikt EU setup, der benyttes af en række velrenommerede organisationer, herunder Justitsministeriet.
Du kan se oppetiden for vores SMS gateway både live og historisk her. Priser for 200+ lande samt ISAE 3000 GDPR-rapport er frit tilgængelige. Derudover kan du nøjagtigt følge op på leveringen til hver enkelt modtager i dit dashboard.
Nå nye højder med vores mange add-on services. Suppler med vores E-mail API eller Number Lookup API samt virtuelle numre og keywords. Opsæt automatisering så let som en leg via integrationsmulighederne.
Supportteamet står klar til at hjælpe dig. Den gennemsnitlige svartid er under 20 sekunder inden for arbejdstid, og tilfredshedsscoren er på hele 98%. Derudover er der intet minimum forbrugskrav for at modtage support.
using System.Net.Http.Json;
using System.Net.Http.Headers;
using HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
"Token",
"GoGenerateAnApiToken"
);
var messages = new {
sender = "ExampleSMS",
message = "Hello World!",
recipients = new[] { new { msisdn = 45_1234_5678 }},
};
using var resp = await client.PostAsync(
"https://gatewayapi.com/rest/mtsms",
JsonContent.Create(messages)
);
// On 2xx, print the SMS IDs received back from the API
// otherwise print the response content to see the error:
if (resp.IsSuccessStatusCode && resp.Content != null) {
Console.WriteLine("success!");
var content = await resp.Content.ReadFromJsonAsync<Dictionary<string, dynamic>>();
foreach (var smsId in content["ids"].EnumerateArray()) {
Console.WriteLine("allocated SMS id: {0:G}", smsId);
}
} else if (resp.Content != null) {
Console.WriteLine("failed :(\nresponse content:");
var content = await resp.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
curl -v "https://gatewayapi.com/rest/mtsms" \
-u "GoGenerateAnApiToken": \
-d sender="ExampleSMS" \
-d message="Hello World" \
-d recipients.0.msisdn=4512345678
package main
import (
"bytes"
"encoding/json"
"io/ioutil"
"log"
"github.com/mrjones/oauth"
)
func main() {
// Authentication
key := "Create-an-API-Key"
secret := "GoGenerateAnApiKeyAndSecret"
consumer := oauth.NewConsumer(key, secret, oauth.ServiceProvider{})
client, err := consumer.MakeHttpClient(&oauth.AccessToken{})
if err != nil {
log.Fatal(err)
}
// Request
type GatewayAPIRecipient struct {
Msisdn uint64 `json:"msisdn"`
}
type GatewayAPIRequest struct {
Sender string `json:"sender"`
Message string `json:"message"`
Recipients []GatewayAPIRecipient `json:"recipients"`
}
request := &GatewayAPIRequest{
Sender: "ExampleSMS",
Message: "Hello World",
Recipients: []GatewayAPIRecipient{
{
Msisdn: 4512345678,
},
},
}
// Send it
var buf bytes.Buffer
if err := json.NewEncoder(&buf).Encode(request); err != nil {
log.Fatal(err)
}
res, err := client.Post(
"https://gatewayapi.com/rest/mtsms",
"application/json",
&buf,
)
if err != nil {
log.Fatal(err)
}
if res.StatusCode != 200 {
body, _ := ioutil.ReadAll(res.Body)
log.Fatalf("http error reply, status: %q, body: %q", res.Status, body)
}
// Parse the response
type GatewayAPIResponse struct {
Ids []uint64
}
response := &GatewayAPIResponse{}
if err := json.NewDecoder(res.Body).Decode(response); err != nil {
log.Fatal(err)
}
log.Println("ids", response.Ids)
}
package main
import (
"net/http"
"net/url"
)
func main() {
http.PostForm(
"https://gatewayapi.com/rest/mtsms",
url.Values{
"token": {"GoGenerateAnApiToken"},
"sender": {"ExampleSMS"},
"message": {"Hello World"},
"recipients.0.msisdn": {"4512345678"},
},
)
}
# install httpie oauth lib, with pip install httpie-oauth
http --auth-type=oauth1\
--auth="Create-an-API-Key:GoGenerateAnApiKeyAndSecret"\
"https://gatewayapi.com/rest/mtsms"\
sender='ExampleSMS'\
message='Hello world'\
recipients:='[{"msisdn": 4512345678}]'
http --auth=GoGenerateAnApiToken: \
https://gatewayapi.com/rest/mtsms\
sender='ExampleSMS'\
message='Hello world'\
recipients:='[{"msisdn": 4512345678}]'
// Install deps with gradle
// compile 'com.squareup.okhttp3:okhttp:3.4.1'
// compile 'se.akerfeldt:okhttp-signpost:1.1.0'
// compile 'org.json:json:20160810'
final String key = "Create-an-API-Key";
final String secret = "GoGenerateAnApiKeyAndSecret";
OkHttpOAuthConsumer consumer = new OkHttpOAuthConsumer(key, secret);
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(new SigningInterceptor(consumer))
.build();
JSONObject json = new JSONObject();
json.put("sender", "ExampleSMS");
json.put("message", "Hello World");
json.put("recipients", (new JSONArray()).put(
(new JSONObject()).put("msisdn", 4512345678L)
));
RequestBody body = RequestBody.create(
MediaType.parse("application/json; charset=utf-8"), json.toString());
Request signedRequest = (Request) consumer.sign(
new Request.Builder()
.url("https://gatewayapi.com/rest/mtsms")
.post(body)
.build()).unwrap();
try (Response response = client.newCall(signedRequest).execute()) {
System.out.println(response.body().string());
}
import java.io.DataOutputStream;
import java.net.URL;
import java.net.URLEncoder;
import javax.net.ssl.HttpsURLConnection;
public class HelloWorld {
public static void main(String[] args) throws Exception {
URL url = new URL("https://gatewayapi.com/rest/mtsms");
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(
"token=GoGenerateAnApiToken"
+ "&sender=" + URLEncoder.encode("ExampleSMS", "UTF-8")
+ "&message=" + URLEncoder.encode("Hello World", "UTF-8")
+ "&recipients.0.msisdn=4512345678"
);
wr.close();
int responseCode = con.getResponseCode();
System.out.println("Got response " + responseCode);
}
}
async function sendSMS() {
const token = "GoGenerateAnApiToken";
const payload = {
sender: "ExampleSMS",
message: "Hello World",
recipients: [
{ msisdn: 45_1234_5678 },
],
};
const resp = await fetch(
"https://gatewayapi.com/rest/mtsms",
{
method: "POST",
body: JSON.stringify(payload),
headers: {
"Content-Type": "application/json",
"Authorization": `Token ${token}`,
},
},
);
console.log(await resp.json());
}
sendSMS();
<?php
//Send an SMS using Gatewayapi.com
$url = "https://gatewayapi.com/rest/mtsms";
$api_token = "GoGenerateAnApiToken";
//Set SMS recipients and content
$recipients = [4512345678, 4587654321];
$json = [
'sender' => 'ExampleSMS',
'message' => 'Hello world',
'recipients' => [],
];
foreach ($recipients as $msisdn) {
$json['recipients'][] = ['msisdn' => $msisdn];
}
//Make and execute the http request
//Using the built-in 'curl' library
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
curl_setopt($ch,CURLOPT_USERPWD, $api_token.":");
curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($json));
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
print($result);
$json = json_decode($result);
print_r($json->ids);
# Install deps with: pip install requests
import requests
def send_sms(sender: str, msg_content: str, recipients: list[int]):
token="GoGenerateAnApiToken"
payload = {
"sender": sender,
"message": msg_content,
"recipients": [
{"msisdn": recipient_number}
for recipient_number in recipients
],
}
resp = requests.post(
"https://gatewayapi.com/rest/mtsms",
json=payload,
auth=(token, ""),
)
resp.raise_for_status()
print(resp.json())
send_sms("ExampleSMS", "Hello World", [45_1234_5678])
require 'uri'
require 'net/http'
require 'json'
body = {
'recipients': [{'msisdn': 45_1234_5678}],
'message': 'Hello World',
'sender': 'ExampleSMS',
}
token = 'GoGenerateAnApiToken'
resp = Net::HTTP.post(
URI.parse('https://gatewayapi.com/rest/mtsms'),
JSON.generate(body),
{
'Content-Type': 'application/json',
'Authorization': "Token #{token}",
},
)
puts resp.body
Gratis plugin til at sende SMS beskeder og opsætte 2-faktor login m.m.
Integrer med over 5.000 apps via Zapier, og kom i gang med at automatisere SMS workflows.
Connect til GatewayAPI med en direkte SMPP-forbindelse og send store mængder af SMS beskeder gnidningsfrit.
Integrer nemt med GatewayAPI
Integrer med vores API på dit foretrukne programmeringssprog. Eller anvend Zapier, Flowize eller Make til at forbinde til GatewayAPI: Find blot den app, service eller platform, du vil integrere med, og kom i gang med det samme!
Uanset hvilken metode du vælger, er det hurtigt og nemt at konfigurere.