용어집 파일 업로드

Prev Next

개요

용어집에 용어 파일을 업로드하는 API 입니다.

용어집 파일 업로드

API URL

POST https://papago.apigw.gov-ntruss.com/glossary/v1/{glossary-key}/upload

요청 헤더

API 호출 시 '요청 헤더' 정보가 필요합니다.
요청 헤더에 대한 자세한 가이드는 용어집 개요를 참고 부탁드립니다.

x-ncp-apigw-timestamp:{Timestamp}
x-ncp-iam-access-key:{Account Access Key}
x-ncp-apigw-signature-v2:{API Gateway Signature}

요청 파라미터

필드명 유형 필수 여부 타입 설명
glossary-key in path Yes - 용어집의 고유한 Key 값으로 용어집 생성 API 의 응답값 또는 Papago Translation 콘솔에서 확인할 수 있습니다.
예시: /glossary/v1/c399cf78-781e-4353-89a6-cca8aaxxxxxx/upload
file body Yes csv 용어집 파일
용어집 파일 포맷은 용어집 사용자 가이드를 참고해주세요.

요청 예시

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.gov-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) #{url에 {}를 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)

응답 예시

{
  "data": {
    "glossaryKey": "c399cf78-781e-4353-89a6-cca8aaxxxxxx",
    "glossaryName": "Glossary1",
    "description": "Glossary1 용어집 설명 입니다.",
    "createdDateTime": 1600000000000,
    "updatedDateTime": 1600000000000,
    "wordCount": 10
  }
}