Glossary

Prev Next

Available in Classic and VPC

This document introduces the Papago Translation API examples.

Create glossary

This section describes an example of creating a glossary.

Python

The following is a Python-based sample code for the API.

import hashlib
import hmac
import base64
import time
import requests

def make_signature(access_key, secret_key, timestamp, url, method):
    timestamp = str(timestamp)
    secret_key = bytes(secret_key, 'UTF-8')

    message = method + " " + url + "\n" + timestamp + "\n" + access_key
    message = bytes(message, 'UTF-8')
    signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())
    return signingKey.decode('UTF-8')


def create():
    baseurl = "https://papago.apigw.ntruss.com" #{OpenAPI endpoint}
    url = "/glossary/v1/create"

    access_key = "DonNfVLUKOMNnmXXXXXX" #{Main / Sub Account Access Key}
    secret_key = "W5RyNUbIzOuUsEM8v8eqreMdSQZHMm9nfgXXXXXX" #{Main / Sub Account Secret Key}
    timestamp = int(time.time() * 1000)
    method = "POST"

    signature = make_signature(access_key, secret_key, timestamp, url, method)

    url = baseurl + url
    headers = {
        "x-ncp-apigw-timestamp": str(timestamp),
        "x-ncp-iam-access-key": access_key,
        "x-ncp-apigw-signature-v2": str(signature)
    }
    params = {
        "glossaryName": "Glossary1",
        "description": "This is a description of the Glossary1 glossary."
    }

    response = requests.post(url=url, verify=True, headers=headers, json=params)

Upload glossary file

This section describes an example of uploading a term list file to a glossary.

Python

The following is a Python-based sample code for the API.

import hashlib
import hmac
import base64
import time
import requests

def make_signature(access_key, secret_key, timestamp, url, method):
    timestamp = str(timestamp)
    secret_key = bytes(secret_key, 'UTF-8')

    message = method + " " + url + "\n" + timestamp + "\n" + access_key
    message = bytes(message, 'UTF-8')
    signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())
    return signingKey.decode('UTF-8')


def uploadFile():
    baseurl = "https://papago.apigw.ntruss.com" #{OpenAPI endpoint}
    url = "/glossary/v1/{}/upload"

    access_key = "DonNfVLUKOMNnmXXXXXX" #{Main / Sub Account Access Key}
    secret_key = "W5RyNUbIzOuUsEM8v8eqreMdSQZHMm9nfgXXXXXX" #{Main / Sub Account Secret Key}
    timestamp = int(time.time() * 1000)
    method = "POST"
    glossary_key = "c399cf78-781e-4353-89a6-cca8aaxxxxxx"
    url = url.format(glossary_key) #{Change {} in URL to glossary key.}

    signature = make_signature(access_key, secret_key, timestamp, url, method)

    url = baseurl + url
    headers = {
        "x-ncp-apigw-timestamp": str(timestamp),
        "x-ncp-iam-access-key": access_key,
        "x-ncp-apigw-signature-v2": str(signature)
    }
    file = {
        "file": ("glossary_file.csv", open('glossary_file.csv', 'rb'), "text/csv")
    }

    response = requests.post(url=url, verify=True, headers=headers, files=file)

Download glossary file

The following describes an example of downloading a registered glossary.

Python

The following is a Python-based sample code for the API.

import hashlib
import hmac
import base64
import time
import requests


def make_signature(access_key, secret_key, timestamp, url, method):
    timestamp = str(timestamp)
    secret_key = bytes(secret_key, 'UTF-8')

    message = method + " " + url + "\n" + timestamp + "\n" + access_key
    message = bytes(message, 'UTF-8')
    signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())
    return signingKey.decode('UTF-8')


def download():
    baseurl = "papago.apigw.ntruss.com" #{OpenAPI endpoint}
    url = "/glossary/v1/{}/download"

    access_key = "DonNfVLUKOMNnmXXXXXX" #{Main / Sub Account Access Key}
    secret_key = "W5RyNUbIzOuUsEM8v8eqreMdSQZHMm9nfgXXXXXX" #{Main / Sub Account Secret Key}
    timestamp = int(time.time() * 1000)
    method = "POST"
    glossary_key = "c399cf78-781e-4353-89a6-cca8aaxxxxxx"
    url = url.format(glossary_key) #{change {} in url to glossary-key.}

    signature = make_signature(access_key, secret_key, timestamp, url, method)

    url = baseurl + url
    headers = {
        "x-ncp-apigw-timestamp": str(timestamp),
        "x-ncp-iam-access-key": access_key,
        "x-ncp-apigw-signature-v2": str(signature)
    }

    response = requests.post(url=url, verify=True, headers=headers)

Get glossary list

The following describes an example of getting a glossary list.

Python

The following is a Python-based sample code for the API.

import hashlib
import hmac
import base64
import time
import requests


def make_signature(access_key, secret_key, timestamp, url, method):
    timestamp = str(timestamp)
    secret_key = bytes(secret_key, 'UTF-8')

    message = method + " " + url + "\n" + timestamp + "\n" + access_key
    message = bytes(message, 'UTF-8')
    signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())
    return signingKey.decode('UTF-8')


def get_user_glossary():
    baseurl = "https://papago.apigw.ntruss.com" #{OpenAPI endpoint}
    url = "/glossary/v1/?currentPage={}&pageSize={}"

    access_key = "DonNfVLUKOMNnmXXXXXX" #{Main / Sub Account Access Key}
    secret_key = "W5RyNUbIzOuUsEM8v8eqreMdSQZHMm9nfgXXXXXX" #{Main / Sub Account Secret Key}
    timestamp = int(time.time() * 1000)
    method = "GET"
    url = url.format(1, 10)  # {change {} in url to page number and page size.}{Set {} in URL to page number and page size.}

    signature = make_signature(access_key, secret_key, timestamp, url, method)

    url = baseurl + url
    headers = {
        "x-ncp-apigw-timestamp": str(timestamp),
        "x-ncp-iam-access-key": access_key,
        "x-ncp-apigw-signature-v2": str(signature)
    }

    response = requests.get(url=url, verify=True, headers=headers)

Delete glossary

The following describes an example of deleting a glossary list.

Python

The following is a Python-based sample code for the API.

import hashlib
import hmac
import base64
import time
import requests

def make_signature(access_key, secret_key, timestamp, url, method):
    timestamp = str(timestamp)
    secret_key = bytes(secret_key, 'UTF-8')

    message = method + " " + url + "\n" + timestamp + "\n" + access_key
    message = bytes(message, 'UTF-8')
    signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())
    return signingKey.decode('UTF-8')


def delete():
    baseurl = "https://papago.apigw.ntruss.com"  # {OpenAPI endpoint}
    url = "/glossary/v1/{}"

    access_key = "DonNfVLUKOMNnmXXXXXX"  # {Main / Sub Account Access Key}
    secret_key = "W5RyNUbIzOuUsEM8v8eqreMdSQZHMm9nfgXXXXXX"  # {Main / Sub Account Secret Key}
    timestamp = int(time.time() * 1000)
    method = "DELETE"
    glossary_key = "c399cf78-781e-4353-89a6-cca8aaxxxxxx"
    url = url.format(glossary_key) #{Change {} in URL to glossary key.}

    signature = make_signature(access_key, secret_key, timestamp, url, method)

    url = baseurl + url
    headers = {
        "x-ncp-apigw-timestamp": str(timestamp),
        "x-ncp-iam-access-key": access_key,
        "x-ncp-apigw-signature-v2": str(signature)
    }

    response = requests.delete(url=url, verify=True, headers=headers)