uSpeedo
Check out our API reference documentation and quickstarts. From using the SDK to sample apps for Web, iOS, and Android, you'll get what you need.
Quickly send SMS
Check out the documentation, sample code, and developer tools you need to build exactly what you want, quickly. We'll handle the complexities of mobile operators and global regulations. Let's start building.
- Golang
- Java
- Python
- Php
Golang SDK
    package main
    import (
      "fmt"
      "time"
    
      "github.com/uspeedo/uspeedo-sdk-go/services/asms"
      "github.com/uspeedo/uspeedo-sdk-go/services/asms/models"
      "github.com/uspeedo/uspeedo-sdk-go/uspeedo"
      "github.com/uspeedo/uspeedo-sdk-go/uspeedo/auth"
      "github.com/uspeedo/uspeedo-sdk-go/uspeedo/log"
    )
    
    func TestTemplateApi() {
      asmsClient := getAsmsClient()
    
      // Create Template
    
      createTemplateReq := asmsClient.NewCreateUSMSTemplateReq()
      createTemplateReq.Template = uspeedo.String("Your verification code is {1}")
      createTemplateReq.Purpose = uspeedo.Int(1)
      createTemplateReq.Remark = uspeedo.String("this is a test template")
      createTemplateReq.TemplateName = uspeedo.String("test template")
    
      createTemplateResp, err := asmsClient.CreateUSMSTemplate(createTemplateReq)
      if err != nil {
        fmt.Printf("something bad happened: %s
", err)
      } else {
        fmt.Printf("response of the request: %v
", createTemplateResp)
      }
    
      // Query Template
    
      queryTemplateReq := asmsClient.NewQueryUSMSTemplateReq()
      queryTemplateReq.TemplateId = []string{"UTAXXXXXXXXXXX"}
      queryTemplateResp, err := asmsClient.QueryUSMSTemplate(queryTemplateReq)
      if err != nil {
        fmt.Printf("something bad happened: %s
", err)
      } else {
        fmt.Printf("response of the request: %v
", queryTemplateResp)
      }
    
      // Update Template
    
      updateTemplateReq := asmsClient.NewUpdateUSMSTemplateReq()
      updateTemplateReq.TemplateId = uspeedo.String("UTAXXXXXXXXXXX")
      updateTemplateReq.Template = uspeedo.String("Your verification code is {1},thanks")
      updateTemplateResp, err := asmsClient.UpdateUSMSTemplate(updateTemplateReq)
      if err != nil {
        fmt.Printf("something bad happened: %s
", err)
      } else {
        fmt.Printf("response of the request: %v
", updateTemplateResp)
      }
    
      // Delete Template
    
      deleteTemplateReq := asmsClient.NewDeleteUSMSTemplateReq()
      deleteTemplateReq.TemplateIds = []string{"UTAXXXXXXXXXXX"}
      deleteTemplateResp, err := asmsClient.DeleteUSMSTemplate(deleteTemplateReq)
      if err != nil {
        fmt.Printf("something bad happened: %s
", err)
      } else {
        fmt.Printf("response of the request: %v
", deleteTemplateResp)
      }
    
    }
    
    func getAsmsClient() *asms.AsmsClient {
      cfg := uspeedo.NewConfig()
      cfg.LogLevel = log.DebugLevel
      cfg.Timeout = 5 * time.Second
      cfg.MaxRetries = 1
    
      credential := auth.NewCredential()
    
      credential.PublicKey = "Get the access key id from uspeedo"
      credential.PrivateKey = "Get the access key secret from uspeedo"
    
      asmsClient := asms.NewClient(&cfg, &credential)
    
      return asmsClient
    }
    
    func TestSendMessage() {
      asmsClient := getAsmsClient()
      req := asmsClient.NewSendBatchUSMSMessageReq()
      req.TaskContent = []models.SendInfo{
        {
          TemplateId: uspeedo.String("UTAXXXXXXXXXXX"),
          SenderId:   uspeedo.String("uspeedo"),
          Target: []models.TargetPhone{
            {
              Phone:          uspeedo.String("(11)11111111"),
              TemplateParams: []string{"111111"},
            },
          },
        },
      }
    
      // send request
      resp, err := asmsClient.SendBatchUSMSMessage(req)
      if err != nil {
        fmt.Printf("something bad happened: %s
", err)
      } else {
        fmt.Printf("response of the request: %v
", resp)
      }
    }
    
    func main() {
      TestTemplateApi()
      TestSendMessage()
    }
  
Java SDK
    package com.uspeedo.example;
    import com.uspeedo.common.config.Config;
    import com.uspeedo.common.credential.Credential;
    import com.uspeedo.common.exception.USpeedoException;
    import com.uspeedo.asms.models.*;
    import com.uspeedo.asms.client.AsmsClient;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.util.Arrays;
    import java.util.Collections;
    
    public class Main {
        private static final Logger logger = LoggerFactory.getLogger(Main.class);
    
        public static void invokeSendMessage() {
            AsmsClient asmsClient = getClient();
    
            SendBatchUSMSMessageReq req = new SendBatchUSMSMessageReq();
    
            SendBatchUSMSMessageReq.SendInfo info = new SendBatchUSMSMessageReq.SendInfo();
            SendBatchUSMSMessageReq.TargetPhone targetPhone = new SendBatchUSMSMessageReq.TargetPhone();
            info.setSenderId("uspeedo");
            info.setTemplateId("UTAXXXXXXXXXXX");
    
            targetPhone.setPhone("(11)11111111");
            String[] templateParams = {"xxxx"};
            targetPhone.setTemplateParams(Arrays.asList(templateParams));
    
            info.setTarget(Collections.singletonList(targetPhone));
            req.setTaskContent(Collections.singletonList(info));
    
            try {
                SendBatchUSMSMessageResp resp = asmsClient.sendBatchUSMSMessage(req);
                System.out.println(resp);
            } catch (USpeedoException e) {
                System.out.println(e.getMessage());
            }
        }
    
        public static void invokeTemplateAPi() {
            AsmsClient asmsClient = getClient();
    
            // Create Template
            CreateUSMSTemplateReq createUSMSTemplateReq = new CreateUSMSTemplateReq();
            createUSMSTemplateReq.setTemplate("Your verification code is1 {1}");
            createUSMSTemplateReq.setPurpose(1);
            createUSMSTemplateReq.setRemark("this is a test template");
            createUSMSTemplateReq.setTemplateName("test template");
            try {
                CreateUSMSTemplateResp createUSMSTemplateResp = asmsClient.createUSMSTemplate(createUSMSTemplateReq);
                System.out.println(createUSMSTemplateResp);
            } catch (USpeedoException e) {
                System.out.println(e.getMessage());
            }
    
    
            // Query Template
    
            QueryUSMSTemplateReq queryTemplateReq = new QueryUSMSTemplateReq();
            String[] templateIds = {"UTAxxxxxxxxx"};
            queryTemplateReq.setTemplateId(Arrays.asList(templateIds));
    
            try {
                QueryUSMSTemplateResp queryTemplateResp = asmsClient.queryUSMSTemplate(queryTemplateReq);
                System.out.println(queryTemplateResp.getData());
            } catch (USpeedoException e) {
                System.out.println(e.getMessage());
            }
    
            // Update Template
    
            UpdateUSMSTemplateReq updateTemplateReq = new UpdateUSMSTemplateReq();
            updateTemplateReq.setTemplateId("UTAxxxxxxxxx");
            updateTemplateReq.setTemplate("Your verification code is {1},thanks");
    
            try {
                UpdateUSMSTemplateResp updateTemplateResp = asmsClient.updateUSMSTemplate(updateTemplateReq);
                System.out.println(updateTemplateResp);
            } catch (USpeedoException e) {
                System.out.println(e.getMessage());
            }
    
            // Delete Template
            DeleteUSMSTemplateReq deleteTemplateReq = new DeleteUSMSTemplateReq();
            deleteTemplateReq.setTemplateIds(Arrays.asList(templateIds));
    
            try {
                DeleteUSMSTemplateResp deleteTemplateResp = asmsClient.deleteUSMSTemplate(deleteTemplateReq);
                System.out.println(deleteTemplateResp);
            } catch (USpeedoException e) {
                System.out.println(e.getMessage());
            }
        }
    
        public static AsmsClient getClient() {
            Config config = new Config();
            config.setLogger(logger);
    
            String publicKey = System.getenv("USpeedo_PUBLIC_KEY");
            String privateKey = System.getenv("USpeedo_PRIVATE_KEY");
            Credential credential = new Credential(publicKey, privateKey);
            return new AsmsClient(config, credential);
        }
    
        public static void main(String[] args) {
            // invokeTemplateAPi();
            invokeSendMessage();
        }
    }
  
Python SDK
    import logging
    import os
    
    from uspeedo.client import Client
    from uspeedo.core.exc import USpeedoException
    
    logger = logging.getLogger("uspeedo")
    logger.setLevel(logging.DEBUG)
    
    
    def get_asms_client():
        client = Client(
            {
                "public_key": os.getenv("USPEEDO_PUBLIC_KEY"),
                "private_key": os.getenv("USPEEDO_PRIVATE_KEY"),
                "base_url": "https://api.xxx.com/api/"
            }
        )
        return client
    
    
    def invoke_send_message():
        client = get_asms_client()
    
        req = {
            "TaskContent": [{
                "TemplateId": "UTAXXXXXXXXXXX",
                "SenderId": "uspeedo",
                "Target": [{
                    "Phone": "(1)11111111",
                    "TemplateParams": ["1111"]
                }]
            }]
        }
        try:
            response_json = client.asms().send_batch_usms_message(req)
            print(response_json)
        except USpeedoException as e:
            print(e)
    
    
    def invoke_template_api():
        client = get_asms_client()
    
        try:
            create_template_req = {
                "Template": "Your verification code is {1}",
                "Purpose": 1,
                "Remark": "this is a test template",
                "TemplateName": "test template"
            }
            response_json = client.asms().create_usms_template(create_template_req)
            print(response_json)
        except USpeedoException as e:
            print(e)
    
        try:
            query_template_req = {
                "AccountId": "60000011",
                "TemplateId": ["UTA230227EL4IW1", "UTA230227JVIB02"],
            }
            response_json = client.asms().query_usms_template(query_template_req)
            print(response_json)
        except USpeedoException as e:
            print(e)
    
        try:
            update_template_req = {
                "TemplateId": "UTAXXXXXXXXXXX",
                "Template": "Your verification code is {1},thanks"
            }
            response_json = client.asms().update_usms_template(update_template_req)
            print(response_json)
        except USpeedoException as e:
            print(e)
    
        try:
            delete_template_req = {
                "TemplateIds": ["UTAXXXXXXXXXXX"],
            }
            response_json = client.asms().delete_usms_template(delete_template_req)
            print(response_json)
        except USpeedoException as e:
            print(e)
    
    
    def main():
        # invoke_send_message()
        invoke_template_api()
    
    
    if __name__ == '__main__':
        main()
  
Php SDK
    use USpeedo\UHost\UHostClient;
    use USpeedo\Core\Exception\USpeedoException;
    use USpeedo\UHost\Apis\CreateUHostInstanceRequest;
    use USpeedo\UHost\Params\CreateUHostInstanceParamDisks;
    
    $client = new UHostClient([
        "publicKey" => getenv("USPEEDO_PUBLIC_KEY"),
        "privateKey" => getenv("USPEEDO_PRIVATE_KEY"),
    ]);
    
    // Create Instance
    try {
        $req = new CreateUHostInstanceRequest();
        $req->setName("sdk-php-example");
        $req->setImageId("...");
        $req->setLoginMode("Password");
        $req->setPassword(base64_encode("USpeedo1234!"));
        $req->setCPU(1);
        $req->setMemory(1024);
    
        $disk = new CreateUHostInstanceParamDisks();
        $disk->setSize(40);
        $disk->setType("CLOUD_SSD");
        $disk->setIsBoot("True");
    
        $req->setDisks([$disk]);
    
        $resp = $client->createUHostInstance($req);
    } catch (USpeedoException $e) {
        throw $e;
    }
    $id = $resp->getUHostIds()[0];