무료 문자 발송 API - mulyo munja balsong API

가비아의 개발 노하우로
API를 제공합니다

API 개발 가이드

API 연동 방법 선택

연동 방법

가비아 메시징(SMS) 서비스는 다양한 API 프로토콜을 제공하기 위해 ‘XML RPC’ 와 ‘REST API’, 두 가지 API 연동 방식을 지원합니다.

1. XML RPC(구 API)

  • - 단문/장문/포토 발송 가능
  • - 제공 언어: JSP, PHP, ASP, ASP.NET
  • - 모듈 및 이용 가이드 다운로드

XML RPC 모듈 다운로드설치 및 이용 매뉴얼 다운로드

2. REST API

  • - 단문/장문/포토/국제(단문) 발송 가능
  • - 제공 언어: PHP, JAVA, PYTHON, NODE, RUBY, cURL, GO
  • - 하단의 이용 매뉴얼 참고

  • 사용자 인증
  • SMS ID와 API Key로 토큰을 발행해 사용자를 인증합니다.
  • - 사용자 인증 단계에서만, Authroization에 'API_ KEY' 값을 넣어주세요.
  • POST https://sms.gabia.com/oauth/token
  • HEADERS
  • Content-Type application/x-www-form-urlencoded
    Authorization Basic base64encode(SMS_ID:API_KEY)
    (예) Basic c1hY3JvY2sZDAwNzA2YzJlMTdjZjlkMz1234hlM2U5YjQ=

  • BODY
  • grant_type client_credentials

  • RESPONSE
  • 성공케이스 {
    "access_token": "your_access_token",
    "refresh_token": "your_refresh_token",
    "expires_in": 3600,
    "scope": "basic",
    "create_on": "2022-01-01 00:00:01",
    "is_expires": "N",
    "token_type": "basic",
    "code": "basic"
    }
    실패케이스 {"message": "SMS ID나 API KEY가 잘못되었습니다."}
    {"message": "unsupported_grant_type (grant_type 값을 확인해주세요.)"}
    * Authorization 값 확인이 안 되는 경우, {"message": "client_id empty"} 또는 {"message": "client_secret empty"}가 출력됩니다.
    sms_id:api_key 형태로 base64인코딩 규격을 맞춰주세요.

  • <?php
    
                          $curl = curl_init();
    
                          curl_setopt_array($curl, array(
                          CURLOPT_URL => "https://sms.gabia.com/oauth/token",
                          CURLOPT_RETURNTRANSFER => true,
                          CURLOPT_ENCODING => "",
                          CURLOPT_MAXREDIRS => 10,
                          CURLOPT_TIMEOUT => 0,
                          CURLOPT_FOLLOWLOCATION => false,
                          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                          CURLOPT_CUSTOMREQUEST => "POST",
                          CURLOPT_POSTFIELDS => "grant_type=client_credentials",
                          CURLOPT_HTTPHEADER => array(
                          "Content-Type: application/x-www-form-urlencoded",
                          "Authorization: Basic c1hY3JvY2sZDAwNzA2YzJlMTdjZjlkMz1234hlM2U5YjQ="
                          ),
                          ));
    
                          $response = curl_exec($curl);
                          $err = curl_error($curl);
    
                          curl_close($curl);
    
                          if ($err) {
                          echo "cURL Error #:" . $err;
                          } else {
                          echo $response;
                          } ?>

    import com.google.gson.Gson;
                          import java.io.IOException;
                          import java.nio.charset.StandardCharsets;
                          import java.util.Base64;
                          import java.util.HashMap;
                          import java.util.Objects;
                          import okhttp3.MultipartBody;
                          import okhttp3.OkHttpClient;
                          import okhttp3.Request;
                          import okhttp3.RequestBody;
                          import okhttp3.Response;
    
                          // 외부 라이브러리 다운로드가 필요합니다. (gradle 기준)
                          // implementation 'com.squareup.okhttp3:okhttp:4.9.3'
                          https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp
                          // implementation 'com.google.code.gson:gson:2.9.0' https://github.com/google/gson
    
                          public class userAuth {
                          public static final String SMS_OAUTH_TOKEN_URL = "https://sms.gabia.com/oauth/token"; // ACCESS
                          TOKEN 발급 API URL 입니다.
    
                          public static void main(String[] args) throws IOException {
                          String smsId = "YOUR_SMS_ID"; // SMS ID 를 입력해 주세요.
                          String apiKey = "YOUR_API_KEY"; // SMS 관리툴에서 발급받은 API KEY 를 입력해 주세요.
                          String authValue =
                          Base64.getEncoder().encodeToString(String.format("%s:%s", smsId,
                          apiKey).getBytes(StandardCharsets.UTF_8)); // Authorization Header 에 입력할 값입니다.
    
                          // 사용자 인증 API 를 호출합니다.
                          OkHttpClient client = new OkHttpClient();
    
                          RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
                          .addFormDataPart("grant_type", "client_credentials")
                          .build();
    
                          Request request = new Request.Builder()
                          .url(SMS_OAUTH_TOKEN_URL)
                          .post(requestBody)
                          .addHeader("Content-Type", "application/x-www-form-urlencoded")
                          .addHeader("Authorization", "Basic " + authValue)
                          .addHeader("cache-control", "no-cache")
                          .build();
    
                          // Response 를 key, value 로 확인하실 수 있습니다.
                          Response response = client.newCall(request).execute();
                          HashMap<String, String> result = new
                          Gson().fromJson(Objects.requireNonNull(response.body()).string(), HashMap.class);
                          for(String key : result.keySet()) {
                          System.out.printf("%s: %s%n", key, result.get(key));
                          }
                          }
                          }
                        

    import requests
                          url = 'https://sms.gabia.com/oauth/token'
                          payload = 'grant_type=client_credentials'
                          headers = {
                          'Content-Type': 'application/x-www-form-urlencoded',
                          'Authorization': 'Basic c1hY3JvY2sZDAwNzA2YzJlMTdjZjlkMz1234hlM2U5YjQ='
                          }
                          response = requests.request('POST', url, headers = headers, data = payload, allow_redirects=False,
                          timeout=undefined)
                          print(response.text)

    var https = require('https');
    
                          var qs = require('querystring');
    
                          var postData = qs.stringify({
                          'grant_type': 'client_credentials'
                          });
    
                          var options = {
                          method: 'POST',
                          hostname: 'sms.gabia.com',
                          path: '/oauth/token',
                          headers: {
                          'Content-Type': 'application/x-www-form-urlencoded',
                          'Content-Length': Buffer.byteLength(postData),
                          'Authorization': 'Basic c1hY3JvY2sZDAwNzA2YzJlMTdjZjlkMz1234hlM2U5YjQ='
                          }
                          };
    
                          var req = https.request(options, function (res) {
                          var chunks = [];
    
                          res.on("data", function (chunk) {
                          chunks.push(chunk);
                          });
    
                          res.on("end", function (chunk) {
                          var body = Buffer.concat(chunks);
                          console.log(body.toString());
                          });
    
                          res.on("error", function (error) {
                          console.error(error);
                          });
                          });
    
                          req.write(postData);
    
                          req.end();

    require "uri"
                          require "net/http"
    
                          url = URI("https://sms.gabia.com/oauth/token")
    
                          https = Net::HTTP.new(url.host, url.port)
                          https.use_ssl = true
    
                          request = Net::HTTP::Post.new(url)
                          request["Content-Type"] = "application/x-www-form-urlencoded"
                          request["Authorization"] = "Basic c1hY3JvY2sZDAwNzA2YzJlMTdjZjlkMz1234hlM2U5YjQ="
                          request.body = "grant_type=client_credentials"
    
                          response = https.request(request)
                          puts response.read_body

    curl --location --request POST
                          "https://sms.gabia.com/oauth/token" \
                          --header "Content-Type: application/x-www-form-urlencoded" \
                          --header "Authorization: Basic c1hY3JvY2sZDAwNzA2YzJlMTdjZjlkMz1234hlM2U5YjQ=" \
                          --data "grant_type=client_credentials"

    package main
    
                          import (
                          "fmt"
                          "strings"
                          "os"
                          "path/filepath"
                          "net/http"
                          "io/ioutil"
                          )
    
                          func main() {
    
                          url := "https://sms.gabia.com/oauth/token"
                          method := "POST"
    
                          payload := strings.NewReader("grant_type=client_credentials")
    
                          client := &http.Client {
                          CheckRedirect: func(req *http.Request, via []*http.Request) error {
                          return http.ErrUseLastResponse
                          },
                          }
                          req, err := http.NewRequest(method, url, payload)
    
                          if err != nil {
                          fmt.Println(err)
                          }
                          req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
                          req.Header.Add("Authorization", "Basic c1hY3JvY2sZDAwNzA2YzJlMTdjZjlkMz1234hlM2U5YjQ=")
    
                          res, err := client.Do(req)
                          defer res.Body.Close()
                          body, err := ioutil.ReadAll(res.Body)
    
                          fmt.Println(string(body))
                          }

  • 단문(SMS) 발송 하기
  • 단문으로 문자를 발송할 수 있습니다. 90byte까지 단문으로 발송되며, 90byte가 넘는 경우에는 단문으로 잘려 발송됩니다.
  • - 문자 발송 시(SMS, LMS, MMS 모두 포함) Authorization에 'ACCESS TOKEN' 값을 넣어주세요.
  • POST https://sms.gabia.com/api/send/sms
  • HEADERS
  • Content-Type application/x-www-form-urlencoded
    Authorization Basic base64encode(SMS_ID:ACCESS_TOKEN)
    (예) Basic DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=

  • BODY
  • phone 01000000000
    callback 15444370
    message SMS TEST MESSAGE
    refkey RESTAPITEST1549847130
    Any unique string to find your result of send after
    is_foreign
    (국제 문자 발송 시)
    Y
    국제 번호로 문자 발송을 원하는 경우, 해당 값을 Y로 넣어 주세요.
    국제 문자 발송은 단문(SMS)만 지원하며, 발송 시 6건이 차감됩니다.

  • RESPONSE
  • 성공케이스 {
    "code": "200",
    "message": "Success",
    "data": {
    "BEFORE_SMS_QTY": "발송 전 메시지 잔여량",
    "AFTER_SMS_QTY": "발송 후 메시지 잔여량",
    "INSERT_ID": "0000000"
    }
    }
    실패케이스 {
    "code": false,
    "message": "None Header (인증 헤더 값을 설정해주세요.)",
    "code_detail": "None_header"
    }
    {
    "code": "token_verification_failed",
    "message": "토큰 인증에 실패하였습니다. 다시 로그인 해주세요."
    }
    ...

  • <?php
    
                          $curl = curl_init();
    
                          curl_setopt_array($curl, array(
                          CURLOPT_URL => "https://sms.gabia.com/api/send/sms",
                          CURLOPT_RETURNTRANSFER => true,
                          CURLOPT_ENCODING => "",
                          CURLOPT_MAXREDIRS => 10,
                          CURLOPT_TIMEOUT => 0,
                          CURLOPT_FOLLOWLOCATION => false,
                          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                          CURLOPT_CUSTOMREQUEST => "POST",
                          CURLOPT_POSTFIELDS =>
                          "phone=01000000000&callback=15444370&message=SMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]",
                          CURLOPT_HTTPHEADER => array(
                          "Content-Type: application/x-www-form-urlencoded",
                          "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          ),
                          ));
    
                          $response = curl_exec($curl);
                          $err = curl_error($curl);
    
                          curl_close($curl);
    
                          if ($err) {
                          echo "cURL Error #:" . $err;
                          } else {
                          echo $response;
                          } ?>

    import com.google.gson.Gson;
                          import java.io.IOException;
                          import java.nio.charset.StandardCharsets;
                          import java.util.Base64;
                          import java.util.HashMap;
                          import java.util.Objects;
                          import okhttp3.MultipartBody;
                          import okhttp3.OkHttpClient;
                          import okhttp3.Request;
                          import okhttp3.RequestBody;
                          import okhttp3.Response;
    
                          // 외부 라이브러리 다운로드가 필요합니다. (gradle 기준)
                          // implementation 'com.squareup.okhttp3:okhttp:4.9.3'
                          https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp
                          // implementation 'com.google.code.gson:gson:2.9.0' https://github.com/google/gson
    
                          public class sendSMS {
                          public static final String SMS_SEND_URL = "https://sms.gabia.com/api/send/sms"; // SMS 발송 API URL
                          입니다.
    
                          public static void main(String[] args) throws IOException {
                          String smsId = "YOUR_SMS_ID"; // SMS ID 를 입력해 주세요.
                          String accessToken = "YOUR_ACCESS_TOKEN"; // ACCESS TOKEN 을 입력해 주세요.
                          String authValue =
                          Base64.getEncoder().encodeToString(String.format("%s:%s", smsId,
                          accessToken).getBytes(StandardCharsets.UTF_8)); // Authorization Header 에 입력할 값입니다.
    
                          // SMS 발송 API 를 호출합니다.
                          OkHttpClient client = new OkHttpClient();
    
                          RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
                          .addFormDataPart("phone", "RECEIPT_PHONE_NUMBER") // 수신번호를 입력해 주세요. (수신번호가 두 개 이상인 경우 ',' 를 이용하여
                          입력합니다. ex) 01011112222,01033334444)
                          .addFormDataPart("callback", "CALLING_PHONE_NUMBER") // 발신번호를 입력해 주세요.
                          .addFormDataPart("message", "SMS_CONTENT") // SMS 내용을 입력해 주세요.
                          .addFormDataPart("refkey", "YOUR_REF_KEY") // 발송 결과 조회를 위한 임의의 랜덤 키 값을 입력해 주세요.
                          .build();
    
                          Request request = new Request.Builder()
                          .url(SMS_SEND_URL)
                          .post(requestBody)
                          .addHeader("Content-Type", "application/x-www-form-urlencoded")
                          .addHeader("Authorization", "Basic " + authValue)
                          .addHeader("cache-control", "no-cache")
                          .build();
    
                          Response response = client.newCall(request).execute();
    
                          // Response 를 key, value 로 확인하실 수 있습니다.
                          HashMap<String, String> result = new
                          Gson().fromJson(Objects.requireNonNull(response.body()).string(), HashMap.class);
                          for(String key : result.keySet()) {
                          System.out.printf("%s: %s%n", key, result.get(key));
                          }
                          }
                          }
                        

    import requests
                          url = 'https://sms.gabia.com/api/send/sms'
                          payload =
                          'phone=01000000000&callback=15444370&message=SMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]'
                          headers = {
                          'Content-Type': 'application/x-www-form-urlencoded',
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          response = requests.request('POST', url, headers = headers, data = payload, allow_redirects=False,
                          timeout=undefined)
                          print(response.text)

    var https = require('https');
    
                          var qs = require('querystring');
    
                          var options = {
                          'method': 'POST',
                          'hostname': 'sms.gabia.com',
                          'path': '/api/send/sms',
                          'headers': {
                          'Content-Type': 'application/x-www-form-urlencoded',
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          };
    
                          var req = https.request(options, function (res) {
                          var chunks = [];
    
                          res.on("data", function (chunk) {
                          chunks.push(chunk);
                          });
    
                          res.on("end", function (chunk) {
                          var body = Buffer.concat(chunks);
                          console.log(body.toString());
                          });
    
                          res.on("error", function (error) {
                          console.error(error);
                          });
                          });
    
                          var postData = qs.stringify({
                          'phone': '01000000000',
                          'callback': '15444370',
                          'message': 'SMS TEST MESSAGE',
                          'refkey': 'RESTAPITEST1547771538'
                          });
    
                          req.write(postData);
    
                          req.end();

    require "uri"
                          require "net/http"
    
                          url = URI("https://sms.gabia.com/api/send/sms")
    
                          https = Net::HTTP.new(url.host, url.port)
                          https.use_ssl = true
    
                          request = Net::HTTP::Post.new(url)
                          request["Content-Type"] = "application/x-www-form-urlencoded"
                          request["Authorization"] = "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          request.body =
                          "phone=01000000000&callback=15444370&message=SMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]"
    
                          response = https.request(request)
                          puts response.read_body

    curl --location --request POST
                          "https://sms.gabia.com/api/send/sms" \
                          --header "Content-Type: application/x-www-form-urlencoded" \
                          --header "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          \
                          --data
                          "phone=01000000000&callback=15444370&message=SMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]"
                        

    package main
    
                          import (
                          "fmt"
                          "strings"
                          "net/http"
                          "io/ioutil"
                          )
    
                          func main() {
    
                          url := "https://sms.gabia.com/api/send/sms"
                          method := "POST"
    
                          payload :=
                          strings.NewReader("phone=01000000000&callback=15444370&message=SMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]")
    
                          client := &http.Client {
                          CheckRedirect: func(req *http.Request, via []*http.Request) error {
                          return http.ErrUseLastResponse
                          },
                          }
                          req, err := http.NewRequest(method, url, payload)
    
                          if err != nil {
                          fmt.Println(err)
                          }
                          req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
                          req.Header.Add("Authorization", "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=")
    
                          res, err := client.Do(req)
                          defer res.Body.Close()
                          body, err := ioutil.ReadAll(res.Body)
    
                          fmt.Println(string(body))
                          }

  • 장문(LMS) 발송 하기
  • 장문으로 문자를 발송할 수 있습니다. 문자 내용에 제목을 추가할 수 있습니다.
  • - 문자 발송 시(SMS, LMS, MMS 모두 포함) Authorization에 'ACCESS TOKEN' 값을 넣어주세요.
  • POST https://sms.gabia.com/api/send/lms
  • HEADERS
  • Content-Type application/x-www-form-urlencoded
    Authorization Basic base64encode(SMS_ID:ACCESS_TOKEN)
    (예) Basic DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=

  • BODY
  • phone 01000000000
    callback 15444370
    message LMS TEST MESSAGE
    refkey RESTAPITEST1549847130
    Any unique string to find your result of send after
    subject LMS TEST SUBJECT

  • RESPONSE
  • 성공케이스 {
    "code": "200",
    "message": "Success",
    "data": {
    "BEFORE_SMS_QTY": "발송 전 메시지 잔여량",
    "AFTER_SMS_QTY": "발송 후 메시지 잔여량",
    "INSERT_ID": "0000000"
    }
    }
    실패케이스 {
    "code": false,
    "message": "None Header (인증 헤더 값을 설정해주세요.)",
    "code_detail": "None_header"
    }
    {
    "code": "token_verification_failed",
    "message": "토큰 인증에 실패하였습니다. 다시 로그인 해주세요."
    }
    ...

  • <?php
    
                          $curl = curl_init();
    
                          curl_setopt_array($curl, array(
                          CURLOPT_URL => "https://sms.gabia.com/api/send/lms",
                          CURLOPT_RETURNTRANSFER => true,
                          CURLOPT_ENCODING => "",
                          CURLOPT_MAXREDIRS => 10,
                          CURLOPT_TIMEOUT => 0,
                          CURLOPT_FOLLOWLOCATION => false,
                          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                          CURLOPT_CUSTOMREQUEST => "POST",
                          CURLOPT_POSTFIELDS =>
                          "phone=01000000000&callback=15444370&message=LMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]&subject=LMS TEST SUBJECT",
                          CURLOPT_HTTPHEADER => array(
                          "Content-Type: application/x-www-form-urlencoded",
                          "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          ),
                          ));
    
                          $response = curl_exec($curl);
                          $err = curl_error($curl);
    
                          curl_close($curl);
    
                          if ($err) {
                          echo "cURL Error #:" . $err;
                          } else {
                          echo $response;
                          } ?>

    import com.google.gson.Gson;
                          import java.io.IOException;
                          import java.nio.charset.StandardCharsets;
                          import java.util.Base64;
                          import java.util.HashMap;
                          import java.util.Objects;
                          import okhttp3.MultipartBody;
                          import okhttp3.OkHttpClient;
                          import okhttp3.Request;
                          import okhttp3.RequestBody;
                          import okhttp3.Response;
    
                          // 외부 라이브러리 다운로드가 필요합니다. (gradle 기준)
                          // implementation 'com.squareup.okhttp3:okhttp:4.9.3'
                          https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp
                          // implementation 'com.google.code.gson:gson:2.9.0' https://github.com/google/gson
    
                          public class sendLMS {
                          public static final String LMS_SEND_URL = "https://sms.gabia.com/api/send/lms"; // LMS 발송 API URL
                          입니다.
    
                          public static void main(String[] args) throws IOException {
                          String smsId = "YOUR_SMS_ID"; // SMS ID 를 입력해 주세요.
                          String accessToken = "YOUR_ACCESS_TOKEN"; // ACCESS TOKEN 을 입력해 주세요.
                          String authValue =
                          Base64.getEncoder().encodeToString(String.format("%s:%s", smsId,
                          accessToken).getBytes(StandardCharsets.UTF_8)); // Authorization Header 에 입력할 값입니다.
    
                          // LMS 발송 API 를 호출합니다.
                          OkHttpClient client = new OkHttpClient();
    
                          RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
                          .addFormDataPart("phone", "RECEIPT_PHONE_NUMBER") // 수신번호를 입력해 주세요. (수신번호가 두 개 이상인 경우 ',' 를 이용하여
                          입력합니다. ex) 01011112222,01033334444)
                          .addFormDataPart("callback", "CALLING_PHONE_NUMBER") // 발신번호를 입력해 주세요.
                          .addFormDataPart("message", "LMS_CONTENT") // LMS 내용을 입력해 주세요.
                          .addFormDataPart("refkey", "YOUR_REF_KEY") // 발송 결과 조회를 위한 임의의 랜덤 키 값을 입력해 주세요.
                          .addFormDataPart("subject", "LMS_TITLE") // LMS 제목을 입력해 주세요.
                          .build();
    
                          Request request = new Request.Builder()
                          .url(LMS_SEND_URL)
                          .post(requestBody)
                          .addHeader("Content-Type", "application/x-www-form-urlencoded")
                          .addHeader("Authorization", "Basic " + authValue)
                          .addHeader("cache-control", "no-cache")
                          .build();
    
                          Response response = client.newCall(request).execute();
    
                          // Response 를 key, value 로 확인하실 수 있습니다.
                          HashMap<String, String> result = new
                          Gson().fromJson(Objects.requireNonNull(response.body()).string(), HashMap.class);
                          for(String key : result.keySet()) {
                          System.out.printf("%s: %s%n", key, result.get(key));
                          }
                          }
                          }
                        

    import requests
                          url = 'https://sms.gabia.com/api/send/lms'
                          payload =
                          'phone=01000000000&callback=15444370&message=LMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]&subject=LMS TEST SUBJECT'
                          headers = {
                          'Content-Type': 'application/x-www-form-urlencoded',
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          response = requests.request('POST', url, headers = headers, data = payload, allow_redirects=False,
                          timeout=undefined)
                          print(response.text)

    var https = require('https');
    
                          var qs = require('querystring');
    
                          var options = {
                          'method': 'POST',
                          'hostname': 'sms.gabia.com',
                          'path': '/api/send/lms',
                          'headers': {
                          'Content-Type': 'application/x-www-form-urlencoded',
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          };
    
                          var req = https.request(options, function (res) {
                          var chunks = [];
    
                          res.on("data", function (chunk) {
                          chunks.push(chunk);
                          });
    
                          res.on("end", function (chunk) {
                          var body = Buffer.concat(chunks);
                          console.log(body.toString());
                          });
    
                          res.on("error", function (error) {
                          console.error(error);
                          });
                          });
    
                          var postData = qs.stringify({
                          'phone': '01000000000',
                          'callback': '15444370',
                          'message': 'LMS TEST MESSAGE',
                          'refkey': 'RESTAPITEST1547771538',
                          'subject': 'LMS TEST SUBJECT'
                          });
    
                          req.write(postData);
    
                          req.end();

    require "uri"
                          require "net/http"
    
                          url = URI("https://sms.gabia.com/api/send/lms")
    
                          https = Net::HTTP.new(url.host, url.port)
                          https.use_ssl = true
    
                          request = Net::HTTP::Post.new(url)
                          request["Content-Type"] = "application/x-www-form-urlencoded"
                          request["Authorization"] = "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          request.body =
                          "phone=01000000000&callback=15444370&message=LMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]&subject=LMS TEST SUBJECT"
    
                          response = https.request(request)
                          puts response.read_body

    curl --location --request POST
                          "https://sms.gabia.com/api/send/lms" \
                          --header "Content-Type: application/x-www-form-urlencoded" \
                          --header "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          \
                          --data
                          "phone=01000000000&callback=15444370&message=LMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]&subject=LMS TEST SUBJECT"
                        

    package main
    
                          import (
                          "fmt"
                          "strings"
                          "os"
                          "path/filepath"
                          "net/http"
                          "io/ioutil"
                          )
    
                          func main() {
    
                          url := "https://sms.gabia.com/api/send/lms"
                          method := "POST"
    
                          payload :=
                          strings.NewReader("phone=01000000000&callback=15444370&message=LMS TEST MESSAGE&refkey=[[RESTAPITEST1549847130]]&subject=LMS TEST SUBJECT")
    
                          client := &http.Client {
                          CheckRedirect: func(req *http.Request, via []*http.Request) error {
                          return http.ErrUseLastResponse
                          },
                          }
                          req, err := http.NewRequest(method, url, payload)
    
                          if err != nil {
                          fmt.Println(err)
                          }
                          req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
                          req.Header.Add("Authorization", "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=")
    
                          res, err := client.Do(req)
                          defer res.Body.Close()
                          body, err := ioutil.ReadAll(res.Body)
    
                          fmt.Println(string(body))
                          }

  • 포토(MMS) 발송 하기
  • 단문/장문 문자에서 이미지를 첨부하여 발송할 수 있습니다. 이미지는 100kb 미만의 파일을 최대 3개까지 발송할 수 있으며, jpg 형식의 파일만 사용 가능합니다.
  • - 이미지 사이즈 규격은 수신자의 이통사에 따라 상이하므로 이통사별 규격을 참고해 주시기 바랍니다. (LG U+: 1500 X 1440 이하 / SKT: 1500 X 1500 이하 / KT: 2000 X 2000 이하)
    - 문자 발송 시(SMS, LMS, MMS 모두 포함) Authorization에 'ACCESS TOKEN' 값을 넣어주세요.
  • POST https://sms.gabia.com/api/send/mms
  • HEADERS
  • Authorization Basic base64encode(SMS_ID:ACCESS_TOKEN)
    (예) Basic DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=

  • BODY
  • phone 01000000000
    callback 15444370
    message MMS TEST MESSAGE
    refkey RESTAPITEST1549847130
    Any unique string to find your result of send after
    subject MMS TEST SUBJECT
    image_cnt 2
    Max image count is 3. images0 ~ images2
    images0 File Resource
    images1 File Resource

  • RESPONSE
  • 성공케이스 {
    "code": "200",
    "message": "Success",
    "data": {
    "BEFORE_SMS_QTY": "발송 전 메시지 잔여량",
    "AFTER_SMS_QTY": "발송 후 메시지 잔여량",
    "INSERT_ID": "0000000"
    }
    }
    실패케이스 {
    "code": false,
    "message": "None Header (인증 헤더 값을 설정해주세요.)",
    "code_detail": "None_header"
    }
    {
    "code": "token_verification_failed",
    "message": "토큰 인증에 실패하였습니다. 다시 로그인 해주세요."
    }
    ...

  • <?php
    
                          $curl = curl_init();
    
                          curl_setopt_array($curl, array(
                          CURLOPT_URL => "https://sms.gabia.com/api/send/mms",
                          CURLOPT_RETURNTRANSFER => true,
                          CURLOPT_ENCODING => "",
                          CURLOPT_MAXREDIRS => 10,
                          CURLOPT_TIMEOUT => 0,
                          CURLOPT_FOLLOWLOCATION => false,
                          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                          CURLOPT_CUSTOMREQUEST => "POST",
                          CURLOPT_POSTFIELDS => array('phone' => '01000000000','callback' => '15444370','message' => 'MMS
                          TEST MESSAGE','refkey' => 'RESTAPITEST1548722798','subject' => 'MMS TEST SUBJECT','image_cnt' =>
                          '2','images0'=> new CURLFILE(''),'images1'=> new CURLFILE('')),
                          CURLOPT_HTTPHEADER => array(
                          "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          ),
                          ));
    
                          $response = curl_exec($curl);
                          $err = curl_error($curl);
    
                          curl_close($curl);
    
                          if ($err) {
                          echo "cURL Error #:" . $err;
                          } else {
                          echo $response;
                          } ?>

    package example.api;
    
    import com.google.gson.Gson;
    import java.io.File;
    import java.io.IOException;
    import java.nio.charset.StandardCharsets;
    import java.util.Base64;
    import java.util.HashMap;
    import java.util.Objects;
    import okhttp3.MultipartBody;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.RequestBody;
    import okhttp3.Response;
    
    // 외부 라이브러리 다운로드가 필요합니다. (gradle 기준)
    // implementation 'com.squareup.okhttp3:okhttp:4.9.3'
    https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp
    // implementation 'com.google.code.gson:gson:2.9.0' https://github.com/google/gson
    
    public class sendMMS {
    public static final String MMS_SEND_URL = "https://sms.gabia.com/api/send/mms"; // MMS 발송 API URL
    입니다.
    
    public static void main(String[] args) throws IOException {
    String smsId = "YOUR_SMS_ID"; // SMS ID 를 입력해 주세요.
    String accessToken = "YOUR_ACCESS_TOKEN"; // ACCESS TOKEN 을 입력해 주세요.
    String authValue =
    Base64.getEncoder().encodeToString(String.format("%s:%s", smsId,
    accessToken).getBytes(StandardCharsets.UTF_8));
    
    // MMS 발송 API 를 호출합니다.
    OkHttpClient client = new OkHttpClient();
    
    RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
    .addFormDataPart("phone", "RECEIPT_PHONE_NUMBER") // 수신번호를 입력해 주세요. (수신번호가 두 개 이상인 경우 ',' 를 이용하여
    입력합니다. ex) 01011112222,01033334444)
    .addFormDataPart("callback", "CALLING_PHONE_NUMBER") // 발신번호를 입력해 주세요.
    .addFormDataPart("message", "MMS_CONTENT") // MMS 내용을 입력해 주세요.
    .addFormDataPart("refkey", "YOUR_REF_KEY") // 발송 결과 조회를 위한 임의의 랜덤 키를 입력해 주세요.
    .addFormDataPart("subject", "MMS_TITLE") // MMS 제목을 입력해 주세요.
    .addFormDataPart("image_cnt", "1 ~ 3") // 이미지 첨부 개수를 입력해 주세요. (최대 3개까지 첨부 가능합니다.)
    .addFormDataPart("images0", "FILE_NAME", RequestBody.create(new File("FILE_PATH"),
    MultipartBody.FORM)) // 이미지 파일을 첨부합니다. (첨부하는 이미지 개수에 맞게 주석 처리를 해주세요.)
    .addFormDataPart("images1", "FILE_NAME", RequestBody.create(new File("FILE_PATH"),
    MultipartBody.FORM)) // 이미지 파일을 첨부합니다.
    .addFormDataPart("images2", "FILE_NAME", RequestBody.create(new File("FILE_PATH"),
    MultipartBody.FORM)) // 이미지 파일을 첨부합니다.
    .build();
    
    Request request = new Request.Builder()
    .url(MMS_SEND_URL)
    .post(requestBody)
    .addHeader("Authorization", "Basic " + authValue)
    .build();
    
    Response response = client.newCall(request).execute();
    
    // Response 를 key, value 로 확인하실 수 있습니다.
    HashMap<String, String> result = new
      Gson().fromJson(Objects.requireNonNull(response.body()).string(), HashMap.class);
      for(String key : result.keySet()) {
      System.out.printf("%s: %s%n", key, result.get(key));
      }
     }
    }
    
                        

    import requests
                          url = 'https://sms.gabia.com/api/send/mms'
                          payload = {'phone': '01000000000',
                          'callback': '15444370',
                          'message': 'MMS TEST MESSAGE',
                          'refkey': 'RESTAPITEST1548722756',
                          'subject': 'MMS TEST SUBJECT',
                          'image_cnt': '2'}
                          files = {('images0': open('','rb'),('images1': open('','rb')}
                          headers = {
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          response = requests.request('POST', url, headers = headers, data = payload, files = files,
                          allow_redirects=False, timeout=undefined)
                          print(response.text)

    var https = require('https');
    
                          var options = {
                          'method': 'POST',
                          'hostname': 'sms.gabia.com',
                          'path': '/api/send/mms',
                          'headers': {
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          };
    
                          var req = https.request(options, function (res) {
                          var chunks = [];
    
                          res.on("data", function (chunk) {
                          chunks.push(chunk);
                          });
    
                          res.on("end", function (chunk) {
                          var body = Buffer.concat(chunks);
                          console.log(body.toString());
                          });
    
                          res.on("error", function (error) {
                          console.error(error);
                          });
                          });
    
                          var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data;
                          name=\"phone\"\r\n\r\n01000000000\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition:
                          form-data;
                          name=\"callback\"\r\n\r\n15444370\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition:
                          form-data; name=\"message\"\r\n\r\nMMS TEST
                          MESSAGE\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data;
                          name=\"refkey\"\r\n\r\nRESTAPITEST1547771538\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition:
                          form-data; name=\"subject\"\r\n\r\nMMS TEST
                          SUBJECT\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data;
                          name=\"image_cnt\"\r\n\r\n2\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition:
                          form-data; name=\"images0\"; filename=\"{Insert_File_Name}\"\r\nContent-Type:
                          \"{Insert_File_Content_Type}\"\r\n\r\n{Insert_File_Content}\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition:
                          form-data; name=\"images1\"; filename=\"{Insert_File_Name}\"\r\nContent-Type:
                          \"{Insert_File_Content_Type}\"\r\n\r\n{Insert_File_Content}\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
    
                          req.setHeader('content-type', 'multipart/form-data;
                          boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW');
    
                          req.write(postData);
    
                          req.end();

    require "uri"
                          require "net/http"
    
                          url = URI("https://sms.gabia.com/api/send/mms")
    
                          https = Net::HTTP.new(url.host, url.port)
                          https.use_ssl = true
    
                          request = Net::HTTP::Post.new(url)
                          request["Authorization"] = "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          request["content-type"] = 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
                          request.body = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data;
                          name=\"phone\"\r\n\r\n01000000000\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition:
                          form-data;
                          name=\"callback\"\r\n\r\n15444370\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition:
                          form-data; name=\"message\"\r\n\r\nMMS TEST
                          MESSAGE\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data;
                          name=\"refkey\"\r\n\r\nRESTAPITEST1548722726\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition:
                          form-data; name=\"subject\"\r\n\r\nMMS TEST
                          SUBJECT\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data;
                          name=\"image_cnt\"\r\n\r\n2\r\n\"images0\"' = '')\"images1\"' =
                          '')------WebKitFormBoundary7MA4YWxkTrZu0gW--"
    
                          response = https.request(request)
                          puts response.read_body

    curl --location --request POST
                          "https://sms.gabia.com/api/send/mms" \
                          --header "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          \
                          --form "phone=01000000000" \
                          --form "callback=15444370" \
                          --form "message=MMS TEST MESSAGE" \
                          --form "refkey=RESTAPITEST1547715451" \
                          --form "subject=MMS TEST SUBJECT" \
                          --form "image_cnt=2" \
                          --form "images0=@" \
                          --form "images1=@"

    package main
    
                          import (
                          "fmt"
                          "bytes"
                          "mime/multipart"
                          "os"
                          "path/filepath"
                          "net/http"
                          "io/ioutil"
                          )
    
                          func main() {
    
                          url := "https://sms.gabia.com/api/send/mms"
                          method := "POST"
    
                          payload := &bytes.Buffer{}
                          writer := multipart.NewWriter(payload)
                          _ = writer.WriteField("phone", "01000000000")
                          _ = writer.WriteField("callback", "15444370")
                          _ = writer.WriteField("message", "MMS TEST MESSAGE")
                          _ = writer.WriteField("refkey", "RESTAPITEST1548722847")
                          _ = writer.WriteField("subject", "MMS TEST SUBJECT")
                          _ = writer.WriteField("image_cnt", "2")
                          // add your file name in the next statement in place of path
                          file, err := os.Open(path)
                          defer file.Close()
                          part, err := writer.CreateFormFile("file", filepath.Base(path))
                          _, err := io.Copy(part, file)
                          // add your file name in the next statement in place of path
                          file, err := os.Open(path)
                          defer file.Close()
                          part, err := writer.CreateFormFile("file", filepath.Base(path))
                          _, err := io.Copy(part, file)
                          err := writer.Close()
                          if err != nil { fmt.Println(err)}
    
    
                          client := &http.Client {
                          CheckRedirect: func(req *http.Request, via []*http.Request) error {
                          return http.ErrUseLastResponse
                          },
                          }
                          req, err := http.NewRequest(method, url, payload)
    
                          if err != nil {
                          fmt.Println(err)
                          }
                          req.Header.Add("Authorization", "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=")
    
                          req.Header.Set("Content-Type", writer.FormDataContentType())
                          res, err := client.Do(req)
                          defer res.Body.Close()
                          body, err := ioutil.ReadAll(res.Body)
    
                          fmt.Println(string(body))
                          }

  • 잔여 건수 조회
  • 발송 후, 총 잔여 건수를 조회할 수 있습니다. 메시지(sms)와 ARS 건수를 제공합니다.
  • - 잔여 건수 조회 시 Authorization에 'ACCESS TOKEN' 값을 넣어주세요.
  • GET https://sms.gabia.com/api/user/info
  • HEADERS
  • Authorization Basic base64encode(SMS_ID:ACCESS_TOKEN)
    (예) DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=

  • RESPONSE
  • 성공케이스 {
    "code": "200",
    "message": "Success",
    "data": {
    "gabia_id": "gabia id",
    "sms_id": "sms id",
    "sms_count": "현재 메시지 잔여량"
    "ars_count": "0"
    }
    }
    실패케이스 {
    "code": false,
    "message": "None Header (인증 헤더 값을 설정해주세요.)",
    "code_detail": "None_header"
    }
    {
    "code": "token_verification_failed",
    "message": "토큰 인증에 실패하였습니다. 다시 로그인 해주세요."
    }
    ...

  • <?php
    
                          $curl = curl_init();
    
                          curl_setopt_array($curl, array(
                          CURLOPT_URL => "https://sms.gabia.com/api/user/info",
                          CURLOPT_RETURNTRANSFER => true,
                          CURLOPT_ENCODING => "",
                          CURLOPT_MAXREDIRS => 10,
                          CURLOPT_TIMEOUT => 0,
                          CURLOPT_FOLLOWLOCATION => false,
                          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                          CURLOPT_CUSTOMREQUEST => "GET",
                          CURLOPT_HTTPHEADER => array(
                          "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          ),
                          ));
    
                          $response = curl_exec($curl);
                          $err = curl_error($curl);
    
                          curl_close($curl);
    
                          if ($err) {
                          echo "cURL Error #:" . $err;
                          } else {
                          echo $response;
                          } ?>

    import com.google.gson.Gson;
                          import java.io.IOException;
                          import java.nio.charset.StandardCharsets;
                          import java.util.Base64;
                          import java.util.HashMap;
                          import java.util.Objects;
                          import okhttp3.OkHttpClient;
                          import okhttp3.Request;
                          import okhttp3.Response;
    
                          // 외부 라이브러리 다운로드가 필요합니다. (gradle 기준)
                          // implementation 'com.squareup.okhttp3:okhttp:4.9.3'
                          https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp
                          // implementation 'com.google.code.gson:gson:2.9.0' https://github.com/google/gson
    
                          public class userInfo {
                          public static final String USER_INFO_URL = "https://sms.gabia.com/api/user/info"; // 잔여 건수 조회 API
                          URL 입니다.
    
                          public static void main(String[] args) throws IOException {
                          String smsId = "YOUR_SMS_ID"; // SMS ID 를 입력해 주세요.
                          String accessToken = "YOUR_ACCESS_TOKEN"; // ACCESS TOKEN 을 입력해 주세요.
                          String authValue =
                          Base64.getEncoder().encodeToString(String.format("%s:%s", smsId,
                          accessToken).getBytes(StandardCharsets.UTF_8)); // Authorization Header 에 입력할 값입니다.
    
                          // 잔여 건수 조회 API 를 호출합니다.
                          OkHttpClient client = new OkHttpClient();
    
                          Request request = new Request.Builder()
                          .url(USER_INFO_URL)
                          .get()
                          .addHeader("Authorization", "Basic " + authValue)
                          .addHeader("cache-control", "no-cache")
                          .build();
    
                          Response response = client.newCall(request).execute();
    
                          // Response 를 key, value 로 확인하실 수 있습니다.
                          HashMap<String, String> result = new
                          Gson().fromJson(Objects.requireNonNull(response.body()).string(), HashMap.class);
                          for(String key : result.keySet()) {
                          System.out.printf("%s: %s%n", key, result.get(key));
                          }
                          }
                          }
                        

    import requests
                          url = 'https://sms.gabia.com/api/user/info'
                          payload = {}
                          headers = {
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          response = requests.request('GET', url, headers = headers, data = payload, allow_redirects=False,
                          timeout=undefined)
                          print(response.text)

    var https = require('https');
    
                          var options = {
                          'method': 'GET',
                          'hostname': 'sms.gabia.com',
                          'path': '/api/user/info',
                          'headers': {
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          };
    
                          var req = https.request(options, function (res) {
                          var chunks = [];
    
                          res.on("data", function (chunk) {
                          chunks.push(chunk);
                          });
    
                          res.on("end", function (chunk) {
                          var body = Buffer.concat(chunks);
                          console.log(body.toString());
                          });
    
                          res.on("error", function (error) {
                          console.error(error);
                          });
                          });
    
                          req.end();

    require "uri"
                          require "net/http"
    
                          url = URI("https://sms.gabia.com/api/user/info")
    
                          https = Net::HTTP.new(url.host, url.port)
                          https.use_ssl = true
    
                          request = Net::HTTP::Get.new(url)
                          request["Authorization"] = "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
    
                          response = https.request(request)
                          puts response.read_body

    curl --location --request GET
                          "https://sms.gabia.com/api/user/info" \
                          --header "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                        

    package main
    
                          import (
                          "fmt"
                          "os"
                          "path/filepath"
                          "net/http"
                          "io/ioutil"
                          )
    
                          func main() {
    
                          url := "https://sms.gabia.com/api/user/info"
                          method := "GET"
    
                          client := &http.Client {
                          CheckRedirect: func(req *http.Request, via []*http.Request) error {
                          return http.ErrUseLastResponse
                          },
                          }
                          req, err := http.NewRequest(method, url, nil)
    
                          if err != nil {
                          fmt.Println(err)
                          }
                          req.Header.Add("Authorization", "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=")
    
                          res, err := client.Do(req)
                          defer res.Body.Close()
                          body, err := ioutil.ReadAll(res.Body)
    
                          fmt.Println(string(body))
                          }

  • 발송 결과 확인
  • 문자 발송 시, 사용자가 지정한 refkey (발송 시 사용한 unique key 값)로 실제 발송 상태를 확인할 수 있습니다.
  • - 발송 결과 확인 시 Authorization에 'ACCESS TOKEN' 값을 넣어주세요.
  • GET https://sms.gabia.com/api/result_log/byRefkey?refkey=RESTAPITEST1547168952
  • HEADERS
  • Authorization Basic base64encode(SMS_ID:ACCESS_TOKEN)
    (예) Basic DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=

  • PARAMS
  • refkey RESTAPITEST1547168952
    The unique string that when you used send message

  • RESPONSE
  • 성공케이스 { "code": "200",
    "message": "SUCCESS",
    "data": [{
    "log_no": "000000000",
    "sms_refkey": "YOUR_REF_KEY",
    "CODE": "SUCC",
    "MESG": "성공",
    "PHONENUM": "01011112222",
    "DATE": "2022-01-01 00:00:01",
    "TRAN_RSLT": "2",
    "TRAN_PR": "0000000",
    }]
    }
    실패케이스 {
    "code": false,
    "message": "None Header (인증 헤더 값을 설정해주세요.)",
    "code_detail": "None_header"
    }
    {
    "code": "token_verification_failed",
    "message": "토큰 인증에 실패하였습니다. 다시 로그인 해주세요."
    }
    ...

  • <?php
    
                          $curl = curl_init();
    
                          curl_setopt_array($curl, array(
                          CURLOPT_URL => "https://sms.gabia.com/api/result_log/byRefkey?refkey=RESTAPITEST1547168952",
                          CURLOPT_RETURNTRANSFER => true,
                          CURLOPT_ENCODING => "",
                          CURLOPT_MAXREDIRS => 10,
                          CURLOPT_TIMEOUT => 0,
                          CURLOPT_FOLLOWLOCATION => false,
                          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                          CURLOPT_CUSTOMREQUEST => "GET",
                          CURLOPT_HTTPHEADER => array(
                          "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          ),
                          ));
    
                          $response = curl_exec($curl);
                          $err = curl_error($curl);
    
                          curl_close($curl);
    
                          if ($err) {
                          echo "cURL Error #:" . $err;
                          } else {
                          echo $response;
                          } ?>

    import com.google.gson.Gson;
                          import java.io.IOException;
                          import java.nio.charset.StandardCharsets;
                          import java.util.Base64;
                          import java.util.HashMap;
                          import java.util.Objects;
                          import okhttp3.OkHttpClient;
                          import okhttp3.Request;
                          import okhttp3.Response;
    
                          // 외부 라이브러리 다운로드가 필요합니다. (gradle 기준)
                          // implementation 'com.squareup.okhttp3:okhttp:4.9.3'
                          https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp
                          // implementation 'com.google.code.gson:gson:2.9.0' https://github.com/google/gson
    
                          public class resultLog {
                          public static final String RESULT_LOG_URL =
                          "https://sms.gabia.com/api/result_log/byRefkey?refkey="; // 문자 발송 결과 조회 API URL 입니다.
    
                          public static void main(String[] args) throws IOException {
                          String smsId = "YOUR_SMS_ID"; // SMS ID 를 입력해 주세요.
                          String accessToken = "YOUR_ACCESS_TOKEN"; // ACCESS TOKEN 을 입력해 주세요.
                          String refKey = "YOUR_REF_KEY"; // 문자 발송 API 호출시 입력한 refkey 값을 입력해 주세요.
                          String authValue =
                          Base64.getEncoder().encodeToString(String.format("%s:%s", smsId,
                          accessToken).getBytes(StandardCharsets.UTF_8));
    
                          // 문자 발송 결과 조회 API 를 호출합니다.
                          OkHttpClient client = new OkHttpClient();
    
                          Request request = new Request.Builder()
                          .url(RESULT_LOG_URL + refKey)
                          .get()
                          .addHeader("Content-Type", "application/x-www-form-urlencoded")
                          .addHeader("Authorization", "Basic " + authValue)
                          .addHeader("cache-control", "no-cache")
                          .build();
    
                          Response response = client.newCall(request).execute();
    
                          // Response 를 key, value 로 확인하실 수 있습니다.
                          HashMap<String, String> result = new
                          Gson().fromJson(Objects.requireNonNull(response.body()).string(), HashMap.class);
                          for(String key : result.keySet()) {
                          System.out.printf("%s: %s%n", key, result.get(key));
                          }
                          }
                          }
                        

    import requests
                          url = 'https://sms.gabia.com/api/result_log/byRefkey?refkey=RESTAPITEST1547168952'
                          payload = {}
                          headers = {
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          response = requests.request('GET', url, headers = headers, data = payload, allow_redirects=False,
                          timeout=undefined)
                          print(response.text)

    var https = require('https');
    
                          var options = {
                          'method': 'GET',
                          'hostname': 'sms.gabia.com',
                          'path': '/api/result_log/byRefkey?refkey=RESTAPITEST1547168952',
                          'headers': {
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          };
    
                          var req = https.request(options, function (res) {
                          var chunks = [];
    
                          res.on("data", function (chunk) {
                          chunks.push(chunk);
                          });
    
                          res.on("end", function (chunk) {
                          var body = Buffer.concat(chunks);
                          console.log(body.toString());
                          });
    
                          res.on("error", function (error) {
                          console.error(error);
                          });
                          });
    
                          req.end();

    require "uri"
                          require "net/http"
    
                          url = URI("https://sms.gabia.com/api/result_log/byRefkey?refkey=RESTAPITEST1547168952")
    
                          https = Net::HTTP.new(url.host, url.port)
                          https.use_ssl = true
    
                          request = Net::HTTP::Get.new(url)
                          request["Authorization"] = "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
    
                          response = https.request(request)
                          puts response.read_body

    curl --location --request GET
                          "https://sms.gabia.com/api/result_log/byRefkey?refkey=RESTAPITEST1547168952" \
                          --header "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                        

    package main
    
                          import (
                          "fmt"
                          "os"
                          "path/filepath"
                          "net/http"
                          "io/ioutil"
                          )
    
                          func main() {
    
                          url := "https://sms.gabia.com/api/result_log/byRefkey?refkey=RESTAPITEST1547168952"
                          method := "GET"
    
                          client := &http.Client {
                          CheckRedirect: func(req *http.Request, via []*http.Request) error {
                          return http.ErrUseLastResponse
                          },
                          }
                          req, err := http.NewRequest(method, url, nil)
    
                          if err != nil {
                          fmt.Println(err)
                          }
                          req.Header.Add("Authorization", "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=")
    
                          res, err := client.Do(req)
                          defer res.Body.Close()
                          body, err := ioutil.ReadAll(res.Body)
    
                          fmt.Println(string(body))
                          }

  • 발신번호 리스트 조회
  • 사용 가능 여부와 관계 없이, 리스트에 있는 모든 발신번호를 확인할 수 있습니다.
  • - 발신번호 리스트 조회 시 Authorization에 'ACCESS TOKEN' 값을 넣어주세요.
  • GET https://sms.gabia.com/api/callback/list
  • HEADERS
  • Authorization Basic base64encode(SMS_ID:ACCESS_TOKEN)
    (예) Basic DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=

  • RESPONSE
  • 성공케이스 {
    "code": "200",
    "message": "SUCCESS",
    "data": [{
    "phone": "010-0000-0000",
    "name": "본인 인증"
    }]
    }
    실패케이스 {
    "code": false,
    "message": "None Header (인증 헤더 값을 설정해주세요.)",
    "code_detail": "None_header"
    }
    {
    "code": "token_verification_failed",
    "message": "토큰 인증에 실패하였습니다. 다시 로그인 해주세요."
    }
    ...

  • <?php
    
                          $curl = curl_init();
    
                          curl_setopt_array($curl, array(
                          CURLOPT_URL => "https://sms.gabia.com/api/callback/list",
                          CURLOPT_RETURNTRANSFER => true,
                          CURLOPT_ENCODING => "",
                          CURLOPT_MAXREDIRS => 10,
                          CURLOPT_TIMEOUT => 0,
                          CURLOPT_FOLLOWLOCATION => false,
                          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                          CURLOPT_CUSTOMREQUEST => "GET",
                          CURLOPT_HTTPHEADER => array(
                          "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                          ),
                          ));
    
                          $response = curl_exec($curl);
                          $err = curl_error($curl);
    
                          curl_close($curl);
    
                          if ($err) {
                          echo "cURL Error #:" . $err;
                          } else {
                          echo $response;
                          } ?>

    import com.google.gson.Gson;
                          import java.io.IOException;
                          import java.nio.charset.StandardCharsets;
                          import java.util.Base64;
                          import java.util.HashMap;
                          import java.util.Objects;
                          import okhttp3.OkHttpClient;
                          import okhttp3.Request;
                          import okhttp3.Response;
    
                          // 외부 라이브러리 다운로드가 필요합니다. (gradle 기준)
                          // implementation 'com.squareup.okhttp3:okhttp:4.9.3'
                          https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp
                          // implementation 'com.google.code.gson:gson:2.9.0' https://github.com/google/gson
    
                          public class callback {
                          public static final String CALL_BACK_LIST_URL = "https://sms.gabia.com/api/callback/list"; // 발신번호
                          리스트 조회 API URL 입니다.
    
                          public static void main(String[] args) throws IOException {
                          String smsId = "YOUR_SMS_ID"; // SMS ID 를 입력해 주세요.
                          String accessToken = "YOUR_ACCESS_TOKEN"; // ACCESS TOKEN 을 입력해 주세요.
                          String authValue =
                          Base64.getEncoder().encodeToString(String.format("%s:%s", smsId,
                          accessToken).getBytes(StandardCharsets.UTF_8)); // Authorization Header 에 입력할 값입니다.
    
                          // 발신번호 리스트 조회 API 를 호출합니다.
                          OkHttpClient client = new OkHttpClient();
    
                          Request request = new Request.Builder()
                          .url(CALL_BACK_LIST_URL)
                          .get()
                          .addHeader("Authorization", "Basic " + authValue)
                          .addHeader("cache-control", "no-cache")
                          .build();
    
                          Response response = client.newCall(request).execute();
    
                          // Response 를 key, value 로 확인하실 수 있습니다.
                          HashMap<String, String> result = new
                          Gson().fromJson(Objects.requireNonNull(response.body()).string(), HashMap.class);
                          for(String key : result.keySet()) {
                          System.out.printf("%s: %s%n", key, result.get(key));
                          }
                          }
                          }
                        

    import requests
                          url = 'https://sms.gabia.com/api/callback/list'
                          payload = {}
                          headers = {
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          response = requests.request('GET', url, headers = headers, data = payload, allow_redirects=False,
                          timeout=undefined)
                          print(response.text)

    var https = require('https');
    
                          var options = {
                          'method': 'GET',
                          'hostname': 'sms.gabia.com',
                          'path': '/api/callback/list',
                          'headers': {
                          'Authorization': 'Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc='
                          }
                          };
    
                          var req = https.request(options, function (res) {
                          var chunks = [];
    
                          res.on("data", function (chunk) {
                          chunks.push(chunk);
                          });
    
                          res.on("end", function (chunk) {
                          var body = Buffer.concat(chunks);
                          console.log(body.toString());
                          });
    
                          res.on("error", function (error) {
                          console.error(error);
                          });
                          });
    
                          req.end();

    require "uri"
                          require "net/http"
    
                          url = URI("https://sms.gabia.com/api/callback/list")
    
                          https = Net::HTTP.new(url.host, url.port)
                          https.use_ssl = true
    
                          request = Net::HTTP::Get.new(url)
                          request["Authorization"] = "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
    
                          response = https.request(request)
                          puts response.read_body

    curl --location --request GET
                          "https://sms.gabia.com/api/callback/list" \
                          --header "Authorization: Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc="
                        

    package main
    
                          import (
                          "fmt"
                          "os"
                          "path/filepath"
                          "net/http"
                          "io/ioutil"
                          )
    
                          func main() {
    
                          url := "https://sms.gabia.com/api/callback/list"
                          method := "GET"
    
                          client := &http.Client {
                          CheckRedirect: func(req *http.Request, via []*http.Request) error {
                          return http.ErrUseLastResponse
                          },
                          }
                          req, err := http.NewRequest(method, url, nil)
    
                          if err != nil {
                          fmt.Println(err)
                          }
                          req.Header.Add("Authorization", "Basic
                          DckviEksLs6ZXlKMGVYQWlPaUpLVhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dmMyMXpMbWRoWW1saExtTnZiVnd2SWl3aVlYVmtJam9pWEM5dllYVjBhRnd2ZEc5clpXNGlMQ0pshWFhnT2pBNG5uVkVuLWtnVEJoRGpPeWc=")
    
                          res, err := client.Do(req)
                          defer res.Body.Close()
                          body, err := ioutil.ReadAll(res.Body)
    
                          fmt.Println(string(body))
                          }