Copy
grpcurl \
-d '
{
"content": "My text message",
"fromSubscriber": "+47xxxxxxxx",
"toAddress": "+47yyyyyyyy"
}
' \
sandbox.api.shamrock.wgtwo.com:443 \
wgtwo.sms.v1.SmsService/SendTextFromSubscriber
Copy
package com.example.oauth2
import com.wgtwo.api.v1.sms.SmsProto
import com.wgtwo.api.v1.sms.SmsServiceGrpc
import com.wgtwo.auth.WgtwoAuth
import io.grpc.ManagedChannelBuilder
fun main() {
val clientId = System.getenv("CLIENT_ID")
val clientSecret = System.getenv("CLIENT_SECRET")
val wgtwoAuth = WgtwoAuth.builder(clientId, clientSecret).build()
// Get token source (cache with automatic refresh)
val tokenSource = wgtwoAuth.clientCredentials.newTokenSource("sms.text:send_from_subscriber")
val channel = ManagedChannelBuilder.forTarget("sandbox.api.shamrock.wgtwo.com:443").build()
val stub = SmsServiceGrpc.newBlockingStub(channel)
.withCallCredentials(tokenSource.callCredentials())
val request = SmsProto.SendTextFromSubscriberRequest.newBuilder().apply {
fromSubscriber = "+4799000000"
toAddress = "+4799990000"
content = "Testing 1, 2, 3"
}.build()
val response = stub.sendTextFromSubscriber(request)
println("response:
$response")
}
Copy
package main
import (
"context"
"fmt"
wgtwoSipBreakout "github.com/working-group-two/wgtwoapis/wgtwo/sipbreakout/v1"
"golang.org/x/oauth2"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/oauth"
)
var tokenSource oauth2.TokenSource
func main() {
conn, err := grpc.Dial(
"sandbox.api.shamrock.wgtwo.com:443",
grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")),
grpc.WithPerRPCCredentials(oauth.TokenSource{TokenSource: tokenSource}),
)
if err != nil {
panic(err)
}
defer conn.Close()
client := wgtwoSipBreakout.NewSipBreakoutServiceClient(conn)
request := &wgtwoSipBreakout.UpsertRegistrationRequest{
Registration: &wgtwoSipBreakout.Registration{
MobileOriginatingPrefix: "11",
MobileTerminatingPrefix: "22",
SipUri: "sips:example.com:8888",
RouteType: wgtwoSipBreakout.RouteType_ROUTE_TYPE_LOOP,
},
}
response, err := client.UpsertRegistration(context.Background(), request)
if err != nil {
panic(err)
}
fmt.Printf("Got status: %v", response.StatusCode)
}