Skip to content

Token

OpenAPI 서비스를 이용하기 위해 인증 토큰이 필요합니다. 요청 헤더에 포함될 토큰을 생성하는 방법을 설명합니다.

인증용 API 키 발급

브이리뷰 Open API 사용시 인증 정보가 포함되어야 합니다. 구글 폼에 쇼핑몰의 기본 정보를 입력해주세요. 구글 폼 제출 후 영업일 2일 내 토큰 정보를 이메일로 알려드립니다.

이 토큰 정보를 소스 코드 등에 기록하면 외부로 유출될 수 있습니다. 서버 환경변수 등의 방식으로 관리하기를 추천합니다.

Basic 인증을 위한 헤더 만들기

  1. 발급받으신 ACCESS_KEY_IDSECRET_ACCESS_KEY:구분자로 합칩니다. 예시는 아래와 같습니다.
    ACCESS_KEY_ID: SQxetgJYRaoZ2ZuiwYJhOP1J4-s4nncNc6dneai2xyc
    SECRET_ACCESS_KEY: 81db0fede558a5a4cd43cfe2ddfb56dede8c8e2d33bf0c195b5f87e58cbe5f8d
    
    SQxetgJYRaoZ2ZuiwYJhOP1J4-s4nncNc6dneai2xyc:81db0fede558a5a4cd43cfe2ddfb56dede8c8e2d33bf0c195b5f87e58cbe5f8d
    
  2. ACCESS_KEY_ID:SECRET_ACCESS_KEY를 BASE64 방식으로 인코딩합니다. 운영체제나 언어별 방식은 다음과 같습니다.

    echo -n ACCESS_KEY_ID:SECRET_ACCESS_KEY | base64
    
    $Text = ACCESS_KEY_ID:SECRET_ACCESS_KEY
    $Bytes = [System.Text.Encoding]::UTF8.GetBytes($Text)
    $EncodedText = [Convert]::ToBase64String($Bytes)
    $EncodedText
    
    import base64
    
    message = f'{ACCESS_KEY_ID}:{SECRET_ACCESS_KEY}'
    message_bytes = message.encode('ascii')
    message_base64 = base64.b64encode(message_bytes)
    token = message_base64.decode('ascii')
    
    String accessKeyId = "...";
    String secretAccessKey = "...";
    String combiledKey = accessKeyId + ":" + secretAccessKey
    String token = Base64.getEncoder().encodeToString(combiledKey.getBytes());
    
    $token = base64_encode($ACCESS_KEY_ID . ':' . $SECRET_ACCESS_KEY);
    

sandbox 서버 요청을 통한 검증

curl --location --request GET 'https://open-sandbox.vreview.io/api/v1/users/client-keys/' --header 'Authorization: Basic <TOKEN>' --header 'Accept: application/json'
import requests

url = "https://open-sandbox.vreview.io/api/v1/users/client-keys/"

payload={}
headers = {
  'Authorization': 'Basic <TOKEN>',
  'Accept': 'application/json'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
import java.io.*;
import okhttp3.*;
public class main {
  public static void main(String []args) throws IOException{
    OkHttpClient client = new OkHttpClient().newBuilder()
      .build();
    Request request = new Request.Builder()
      .url("https://open-sandbox.vreview.io/api/v1/users/client-keys/")
      .method("GET", null)
      .addHeader("Authorization", "Basic <TOKEN>")
      .addHeader("Accept", "application/json")
      .build();
    Response response = client.newCall(request).execute();
    System.out.println(response.body().string());
  }
}
import com.mashape.unirest.http.*;
import java.io.*;
public class main {
  public static void main(String []args) throws Exception{
    Unirest.setTimeouts(0, 0);
    HttpResponse<String> response = Unirest.get("https://open-sandbox.vreview.io/api/v1/users/client-keys/")
      .header("Authorization", "Basic <TOKEN>")
      .header("Accept", "application/json")
      .asString();

    System.out.println(response.getBody());
  }
}
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://open-sandbox.vreview.io/api/v1/users/client-keys/"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "Basic <TOKEN>")
  req.Header.Add("Accept", "application/json")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
<?php

  $curl = curl_init();

  curl_setopt_array($curl, array(
    CURLOPT_URL => 'http://open-sandbox.vreview.io/api/v1/users/client-keys/',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => array(
      'Authorization: Basic <TOKEN>',
      'Content-Type: application/json'
    ),
  ));

  $response = curl_exec($curl);

  curl_close($curl);
  echo $response;
var axios = require('axios');

var config = {
  method: 'get',
  url: 'https://open-sandbox.vreview.io/api/v1/users/client-keys/',
  headers: { 
    'Authorization': 'Basic <TOKEN>',
    'Accept': 'application/json'
  }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});