API แปลภาษาอัตโนมัติ API การแปลอัตโนมัติเป็น API ที่ช่วยให้คุณตั้งค่าประเภทการแปลและนักแปลได้อย่างง่ายดาย รองรับทั้งการแปลแบบซิงโครนัสแบบเรียลไทม์และการแปลแบบอะซิงโครนัส โดยให้สภาพแวดล้อมการแปลที่ยืดหยุ่น
มี API การแปลอัตโนมัติสองประเภท:
API การแปลแบบซิงโครนัส ที่อนุญาตให้แปลแบบเรียลไทม์, API การร้องขอการแปลแบบอะซิงโครนัส ที่ไม่อนุญาตให้แปลแบบเรียลไทม์, และ API การยืนยันผลการแปลแบบอะซิงโครนัส .
หมายเหตุ รูปแบบข้อความที่รองรับ รูปแบบข้อความที่รองรับโดย API การแปลแบบซิงโครนัสและ API การแปลแบบอะซิงโครนัสมีดังนี้
API แปลแบบซิงโครนัส: รองรับรูปแบบข้อความธรรมดาและ HTML API การแปลแบบอะซิงโครนัส: รองรับรูปแบบ Markdown วิธีการจับคู่โครงการ API การแปลอัตโนมัติให้วิธีการสองวิธีในการจับคู่บริการการแปลสำหรับแต่ละโครงการเกมที่ลงทะเบียนใน App Center.
การจับคู่ 1:1 กับบริการแปลอัตโนมัติ: ลงทะเบียนบริการที่ใช้สำหรับแต่ละโครงการ เมื่อเรียกใช้บริการแปลอัตโนมัติหนึ่งรายการ ให้ป้อนรหัสโครงการเพื่อให้ตรงกัน: เรียกใช้ API โดยการเพิ่มรหัสโครงการแต่ละรายการ ภาษาแปลที่รองรับ แพลตฟอร์ม Hive รองรับการแปลทั้งหมด 16 ภาษา ดังนี้
ภาษา การบันทึกเฉพาะภาษา รหัสภาษา เกาหลี Korean ko อังกฤษ English en ญี่ปุ่น 日本語 ja จีนแบบย่อ 简体中文 zh-hans จีนแบบดั้งเดิม 繁體中文 zh-hant ฝรั่งเศส Français fr เยอรมัน Deutsch de รัสเซีย русский ru สเปน Español es โปรตุเกส Português pt อินโดนีเซีย Bahasa Indonesia id เวียดนาม tiếng Việt vi ไทย ไทย th อิตาลี Italiano it ตุรกี Türkçe tr อาหรับ العربية ar
ข้อกำหนดเบื้องต้น ข้อกำหนดเบื้องต้นสำหรับการใช้ API การแปลอัตโนมัติมีดังนี้
1. ตรวจสอบคีย์บริการ (appKey), คีย์ลับ ลงทะเบียนบริการใน Hive Console > AI Service > Automatic Translation > Automatic Translation System > Service Management . ตรวจสอบคีย์บริการ (คีย์แอปเก่า) และคีย์ลับสำหรับผลิตภัณฑ์ 2. ตรวจสอบลายเซ็น สำนักงานด้านหลังของเซิร์ฟเวอร์ API สร้างลายเซ็นโดยใช้คีย์บริการและคีย์ลับ
ตรวจสอบลายเซ็นที่สร้างขึ้นโดยการเลือกการจัดการคีย์ใน Hive Console > AI Service > Automatic Translation > Automatic Translation System > Service Management ตัวอย่างของโค้ดลายเซ็นที่สร้างขึ้นมีดังนี้
※ ลายเซ็นคือค่าที่เข้ารหัส Base64 ด้วย HmacSHA256 โดยใช้คีย์แอปและคีย์การเข้ารหัส
API การแปลแบบซิงโครนัส ประมวลผลคำขอการแปลและผลลัพธ์การแปลเป็นคำขอและการตอบสนอง API หนึ่งรายการในลักษณะซิงโครนัสแบบเรียลไทม์ เนื่องจากผลลัพธ์การแปลถูกจัดเตรียมโดยตรงในคำตอบ API จึงไม่มี API เพื่อตรวจสอบผลลัพธ์การแปล
เป็นประเภทข้อความการแปลแบบซิงโครนัส รองรับรูปแบบข้อความธรรมดาและข้อความ HTML ที่ไม่ต้องการการประมวลผลก่อนหรือหลัง
URL การร้องขอ URL ที่ใช้งาน https://ats.withhive.com/api/translate/Sync https://ats.withhive.com/api/translate/sync/{project_id} วิธีการ HTTP POST ประเภทเนื้อหา application/json รูปแบบข้อมูล JSON
เส้นทางการร้องขอ ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็นหรือไม่ รายละเอียด ตัวอย่าง project_id App Center Project ID String N 1. ถ้ามีค่า: รวมตาม project ID 2. หากไม่มีค่า: รวมโดย “ไม่มี” com.com2us.project1
หัวข้อคำขอ ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็นหรือไม่ รายละเอียด ตัวอย่าง ลายเซ็น ค่าลายเซ็นสำหรับการตรวจสอบสิทธิ์ สตริง ใช่ ค่าที่เข้ารหัสด้วย HmacSHA256 ของค่าคีย์แอปโดยใช้คีย์ลับ IWusOMIBN8D/0HqgZ7/58e4rgS05E+nka3Ya9vc+yiY=
เนื้อหาคำขอ ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็นหรือไม่ รายละเอียด ตัวอย่าง info วัตถุข้อมูลคีย์แอป วัตถุ ใช่ info > app_key ค่าคีย์แอป สตริง ใช่ 802890479467404e info > meta_data ค่าที่ไม่ได้รวมโดยบริการแปลอัตโนมัติ แต่บันทึกเป็นบันทึก วัตถุ ไม่ เมื่อแปลงสตริงวัตถุ JSON ภายใน 1kb {“เกม” : “MLB”} หรือ [{“key1”:“blabla”}] text เนื้อหาคำขอแปล สตริง ใช่ ※ ต้องการการหลบหนี JSON สตริง “สอบถามเกี่ยวกับ \”การลงทะเบียน\” ขั้นตอน” from ภาษาของคำขอแปล สตริง ใช่ รหัสภาษาที่ตรงกับ “text” การสนับสนุนการแปลภาษาและการอ้างอิงรหัสภาษา ※ เมื่อป้อน “auto” จะมีการตรวจจับอัตโนมัติ (ตัวพิมพ์เล็ก) 1. (การตรวจจับอัตโนมัติ) “auto” 2. (เกาหลี) “ko” to ภาษาตอบกลับการแปล สตริง Y สามารถขอหลายภาษาได้โดยการแยกด้วย “,” การสนับสนุนการแปลภาษาและการอ้างอิงรหัสภาษา 1. (การแปลภาษาเดียว) “en” 2. (การแปลหลายภาษา) “en, fr, de"
การตอบกลับ ชื่อฟิลด์ คำอธิบาย ประเภท รายละเอียด ตัวอย่าง result ค่าผลลัพธ์ วัตถุ result > code รหัสผลลัพธ์ จำนวนเต็ม การอ้างอิงรหัสการตอบกลับ '200' ในกรณีที่สำเร็จ result > msg ข้อความผลลัพธ์ สตริง การอ้างอิงรหัสการตอบกลับ 'สำเร็จ' ในกรณีที่สำเร็จ content ผลลัพธ์การแปล วัตถุ content > data > translateMsg อาร์เรย์ของค่าการแปล อาร์เรย์ content > data > translateMsg > detectedLanguage ค่าที่เกี่ยวข้องกับภาษาขาเข้า วัตถุ ※ มีอยู่เมื่อ “ภาษาคำขอแปล (จาก)” เป็น “อัตโนมัติ” content > data > translateMsg > detectedLanguage > language ค่าการตรวจจับภาษาขาเข้า สตริง การอ้างอิงภาษาและรหัสภาษาในการสนับสนุนการแปล content > data > translateMsg > detectedLanguage > score คะแนนการตรวจจับภาษาขาเข้า (ยิ่งใกล้ 1 ยิ่งแม่นยำ) หมายเลข (Float) 1.0 content > data > translateMsg > translations อาร์เรย์ของข้อความที่แปลแล้ว อาร์เรย์ เปิดเผยเป็นอาร์เรย์ตามภาษา content > data > translateMsg > translations > text ข้อความที่แปลแล้ว สตริง สตริง JSON Escape สอบถามเกี่ยวกับกระบวนการ \"ลงทะเบียน\" content > data > translateMsg > translations > to รหัสประเทศภาษาการแปล สตริง "en"
รหัสการตอบกลับ รหัส ข้อความ หมายเหตุ 200 "สำเร็จ" สำเร็จ 400 <> ขาดหายไปหรือ คำขอไม่ถูกต้อง ล้มเหลว - ข้อมูลพารามิเตอร์คำขอขาดหายไปหรือ ล้มเหลว - ไม่สามารถแยกวิเคราะห์ได้ (ข้อผิดพลาด JSON) 401 ลายเซ็นผิด ล้มเหลว - ข้อผิดพลาดลายเซ็น 404 คีย์แอปที่ไม่ได้ลงทะเบียน ล้มเหลว - คีย์แอปที่ไม่ได้ลงทะเบียน 404 UUID งานที่ไม่ได้ลงทะเบียน ล้มเหลว - UUID งานที่ไม่ได้ลงทะเบียน 500 ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน (หรือข้อความบางอย่าง) ล้มเหลว - ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
ตัวอย่างคำขอ Curl Python จาวา
curl --request POST \
--url https://ats.withhive.com/api/translate/sync \
--header 'Content-Type: application/json' \
--header 'Signature: IWusOMIBN8D/0HqgZ7/58e4rgS05E+nka3Ya9vc+yiY=' \
--data '{
"info":{
"app_key":"802890479467404e"
},
"text": "การสร้างบัญชีผู้ใช้บัญชีเซิร์ฟเวอร์การจัดการเนื้อหาหลายภาษา",
"to":"en,fr,de",
"from": "ko"
}'
import requests
url = "https://ats.withhive.com/api/translate/sync"
payload = {
"info" : { "app_key" : "802890479467404e" },
"text" : "การสร้างบัญชีแอปพลิเคชันบัญชีเซิร์ฟเวอร์การจัดการเนื้อหาหลายภาษา" ,
"to" : "en,fr,de" ,
"from" : "ko"
}
headers = {
"Content-Type" : "application/json" ,
"Signature" : "IWusOMIBN8D/0HqgZ7/58e4rgS05E+nka3Ya9vc+yiY="
}
response = requests . request ( "POST" , url , json = payload , headers = headers )
print ( response . text )
OkHttpClient client = new OkHttpClient ();
MediaType mediaType = MediaType . parse ( "application/json" );
RequestBody body = RequestBody . create ( mediaType , "{\n \"info\":{\n \"app_key\":\"802890479467404e\"\n },\n \"text\":\"การสอบถามเกี่ยวกับการสร้างบัญชีแอปพลิเคชันบัญชีเซิร์ฟเวอร์เกี่ยวกับการจัดการเนื้อหาหลายภาษา\",\n \"to\":\"en,fr,de\",\n \"from\" : \"ko\"\n}" );
Request request = new Request . Builder ()
. url ( "https://ats.withhive.com/api/translate/sync" )
. post ( body )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Signature" , "IWusOMIBN8D/0HqgZ7/58e4rgS05E+nka3Ya9vc+yiY=" )
. build ();
Response response = client . newCall ( request ). execute ();
ตัวอย่างการตอบกลับ {
"result" : {
"code" : 200 ,
"msg" : "Success"
},
"content" : {
"data" : {
"translateMsg" :[{
"detectedLanguage" :{
"language" : "ko" ,
"score" : -1.0
},
"translations" :[{
"text" : "Server Account Application Create an account Inquiries about the multilingual content management process" ,
"to" : "en"
},
{
"text" : "Demande de compte serveur Créer un compte Demandes de renseignements sur le processus de gestion de contenu multilingue" ,
"to" : "fr"
},
{
"text" : "Server-Konto-Anwendung Konto erstellen Anfragen zum mehrsprachigen Content-Management-Prozess" ,
"to" : "de"
}]
}]
}
}
}
API ขอแปลแบบอะซิงโครนัส API การแปลแบบอะซิงโครนัสแบ่งออกเป็นสอง API คือ การขอการแปลและการตอบกลับการแปล ซึ่งจะถูกประมวลผลดังนี้ มี 'API ขอแปลแบบอะซิงโครนัส' ที่สอดคล้องกับคำขอและ 'API ยืนยันผลการแปลแบบอะซิงโครนัส' ที่สอดคล้องกับการตอบกลับ
เป็นประเภทข้อความการแปลแบบซิงโครนัส และรองรับรูปแบบข้อความ Markdown ที่ต้องการการประมวลผลก่อน/หลัง
URL ที่ร้องขอ ลิงก์ที่ใช้งาน https://ats.withhive.com/api/translate/async https://ats.withhive.com/api/ translate/async/{project_id} วิธีการ HTTP POST ประเภทเนื้อหา application/json รูปแบบข้อมูล JSON
เส้นทางการร้องขอ ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็นหรือไม่ รายละเอียด ตัวอย่าง project_id App Center Project ID String Y 1. หากมีค่า: รวมตาม project ID 2. หากไม่มีค่า: “None” การรวม com.com2us.project1
ส่วนหัวคำขอ ชื่อฟิลด์ คำอธิบาย< /th> ประเภท จำเป็น รายละเอียด ตัวอย่าง ลายเซ็น ค่าลายเซ็นสำหรับการตรวจสอบสิทธิ์ สตริง ใช่ เข้ารหัสค่าคีย์แอปด้วยคีย์ลับเป็น HmacSHA256 หนึ่งค่า pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c=
เนื้อหาคำขอ ชื่อฟิลด์ คำอธิบาย< /th> ประเภท จำเป็น รายละเอียด ตัวอย่าง info ข้อมูลวัตถุ App Key วัตถุ ใช่ info > app_key ค่าคีย์แอป สตริง ใช่ 802890479467404e info > meta_data ไม่ถูกจัดกลุ่มโดยบริการแปลอัตโนมัติ แต่จะถูกเก็บเป็นค่าบันทึก วัตถุ ไม่ เมื่อแปลงสตริงวัตถุ JSON ภายใน 1kb {“เกม” : “MLB”} หรือ [{“key1”:“blabla”}] text เนื้อหาคำขอแปล สตริง ใช่ ※ ต้องการการหนีสตริง Json “สอบถามเกี่ยวกับ \”การลงทะเบียน\” ขั้นตอน” from ภาษาคำขอแปล สตริง ใช่ รหัสภาษาเกี่ยวกับ “text” การสนับสนุนการแปลภาษาและการอ้างอิงรหัสภาษา ※ การแปลแบบอะซิงค์ การตรวจจับภาษาสำหรับคำขอแปลไม่รองรับ。 ถึง ภาษาตอบกลับการแปล สตริง ใช่ สามารถทำคำขอหลายภาษาได้โดยการแยกด้วย “,” ภาษาและรหัสภาษาที่รองรับการแปล 1. (การแปลภาษาภาษาเดียว) “en” 2. (การแปลหลายภาษา) “en , fr, de"
การตอบกลับ ชื่อฟิลด์ คำอธิบาย ประเภท รายละเอียด ตัวอย่าง result ค่าผลลัพธ์ วัตถุ result > code รหัสผลลัพธ์ จำนวนเต็ม การอ้างอิงรหัสการตอบกลับ '200' เมื่อสำเร็จ result > msg ข้อความผลลัพธ์ สตริง การอ้างอิงรหัสการตอบกลับ 'สำเร็จ' เมื่อสำเร็จ content ค่าผลลัพธ์การแปล วัตถุ content > uuid รหัสผลลัพธ์การแปล สตริง รหัสในรูปแบบ UUID4 รหัสสำหรับตรวจสอบสถานะแปล 62fe5786-0bb8-4cd0-b51a-6d6f6bfe2bac content > resultUrl URL สำหรับตรวจสอบสถานะแปล สตริง /api/translate/async/result/{uuid} 임
รหัสการตอบกลับ รหัส ข้อความ หมายเหตุ 200 "สำเร็จ" สำเร็จ 400 <> ขาดหายไปหรือ คำขอไม่ถูกต้อง ล้มเหลว - ขาดพารามิเตอร์คำขอหรือ ล้มเหลว - ไม่สามารถแยกวิเคราะห์ได้ (ข้อผิดพลาด JSON) 401 ลายเซ็นผิด ล้มเหลว - ข้อผิดพลาดลายเซ็น 404 คีย์แอปที่ไม่ได้ลงทะเบียน ล้มเหลว - คีย์แอปที่ไม่ได้ลงทะเบียน 404 UUID งานที่ไม่ได้ลงทะเบียน ล้มเหลว - UUID งานที่ไม่ได้ลงทะเบียน 500 ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน (หรือข้อความบางอย่าง) ล้มเหลว - ข้อผิดพลาดภายในเซิร์ฟเวอร์
ตัวอย่างคำขอ Curl Python จาวา
curl --request POST \
--url https://ats.withhive.com/api/translate/async \
--header 'Content-Type: application/json' \
--header 'Signature: pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c=' \
--data '{
"info":{
"app_key":"815e3d8d6e7443ba"
},
"text":"# Markdown Cheat Sheet ......",
"to":"ko,ja,zh-hant",
"from":"en"
}'
import requests
url = "https://ats.withhive.com/api/translate/async"
payload = {
"info" : { "app_key" : "815e3d8d6e7443ba" },
"text" : "# Markdown Cheat Sheet ......" ,
"to" : "ko,ja,zh-hant" ,
"from" : "en"
}
headers = {
"Content-Type" : "application/json" ,
"Signature" : "pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c="
}
response = requests . request ( "POST" , url , json = payload , headers = headers )
print ( response . text )
OkHttpClient client = new OkHttpClient ();
MediaType mediaType = MediaType . parse ( "application/json" );
RequestBody body = RequestBody . create ( mediaType , "{\n \"info\":{\n \"app_key\":\"815e3d8d6e7443ba\"\n },\n\t\"text\":\"# Markdown Cheat Sheet
......\",\n \"to\":\"ko,ja,zh-hant\",\n\t\t\"from\":\"en\"\n}\n" );
Request request = new Request . Builder ()
. url ( "https://ats.withhive.com/api/translate/async" )
. post ( body )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Signature" , "pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c=" )
. build ();
Response response = client . newCall ( request ). execute ();
ตัวอย่างการตอบกลับ {
"result" : {
"code" : 200 ,
"msg" : "Success"
},
"content" : {
"uuid" : "d2a36ba1-1bb3-43aa-ac57-46576d27eb37" ,
"resultUrl" : "https://test-ats.withhive.com/api/translate/async/result/d2a36ba1-1bb3-43aa-ac57-46576d27eb37"
}
}
API ตรวจสอบผลลัพธ์การแปลแบบอะซิงโครนัส API ตรวจสอบผลลัพธ์การแปลแบบอะซิงโครนัสจะส่งคืนผลลัพธ์การแปลสำหรับคำขอการแปลแบบอะซิงโครนัส กล่าวอีกนัยหนึ่ง มันเป็น API ที่สอดคล้องกับการตอบสนองในหมู่ API แบบอะซิงโครนัสที่ประมวลผลคำขอและการตอบสนองแยกกัน
URL การร้องขอ ลิงก์ที่ใช้งาน https://ats.withhive.com/api/translate/async/result/{uuid} วิธีการ HTTP GET
เส้นทางการร้องขอ ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็นหรือไม่ รายละเอียด ตัวอย่าง uuid รหัสผลลัพธ์การแปล, ค่าตอบสนองสถานะสำหรับคำขอการแปลแบบอะซิงโครนัส String Y ตรวจสอบจากการสร้างถึง ~Nday 5c8ded49-9ee2-412a-a0ab-a4018a0dc093
หัวข้อการร้องขอ ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็นหรือไม่ รายละเอียด ตัวอย่าง ลายเซ็น ค่าลายเซ็นสำหรับการตรวจสอบสิทธิ์ สตริง ใช่ ค่าคีย์แอพที่เข้ารหัสโดยใช้ HmacSHA256 โดยใช้คีย์ลับ pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c=
การตอบกลับ ชื่อฟิลด์ คำอธิบาย ประเภท รายละเอียด ตัวอย่าง result อาร์เรย์ค่าผลลัพธ์ วัตถุ result > code รหัสผลลัพธ์ จำนวนเต็ม การอ้างอิงรหัสการตอบกลับ '200' ในกรณีที่สำเร็จ result > msg ข้อความผลลัพธ์ สตริง การอ้างอิงรหัสการตอบกลับ 'สำเร็จ' ในกรณีที่สำเร็จ content ผลลัพธ์การแปล วัตถุ content ผลลัพธ์การแปล วัตถุ content > status ค่าคสถานะการแปล วัตถุ ข้อมูลสถานะการแปล content > status > code รหัสสถานะการแปล จำนวนเต็ม 100 / 101 / 102 / 199 content > status > mag ข้อความสถานะการแปล สตริง “เสร็จสิ้น(100)”/ “รอ(101)” / “กำลังประมวลผล(102)” / “ล้มเหลว(199)” content > data ค่าผลลัพธ์การแปล วัตถุ ※ หากค่า result>status>msg คือ “รอ” / “กำลังประมวลผล” / “ล้มเหลว” จะไม่มีฟิลด์, จะมีอยู่เฉพาะเมื่อเป็น “เสร็จสิ้น” content > data > translateMsg อาร์เรย์ค่าการแปล อาร์เรย์ content > data > translateMsg > translations อาร์เรย์ของข้อความการแปล อาร์เรย์ แสดงเป็นอาร์เรย์ตามภาษา content > data > translateMsg > translations > text ข้อความการแปล สตริง สตริงที่หลบหนี Json สอบถามเกี่ยวกับกระบวนการ \"ลงทะเบียน\" content > data > translateMsg > translations > to รหัสประเทศภาษาการแปล สตริง "en"
รหัสการตอบกลับ รหัส ข้อความ หมายเหตุ 200 "สำเร็จ" สำเร็จ 400 <> ขาดหายไปหรือ คำขอไม่ถูกต้อง ล้มเหลว - ขาดพารามิเตอร์คำขอหรือ ล้มเหลว - ไม่สามารถวิเคราะห์ (ข้อผิดพลาด JSON) 401 ลายเซ็นผิด ล้มเหลว - ข้อผิดพลาดลายเซ็น 404 คีย์แอปที่ไม่ได้ลงทะเบียน ล้มเหลว - คีย์แอปที่ไม่ได้ลงทะเบียน 404 UUID งานที่ไม่ได้ลงทะเบียน ล้มเหลว - UUID งานที่ไม่ได้ลงทะเบียน 500 ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน (หรือข้อความบางอย่าง) ล้มเหลว - ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
ตัวอย่างคำขอ ตัวอย่างการตอบกลับ {
"result" : {
"code" : 200 ,
"msg" : "Success"
},
"content" : {
"status" : {
"code" : 100 ,
"msg" : "completed"
},
"data" : {
"translateMsg" : [
{
"translations" : [
{
"text" : "# Markdown 치트 시트\r\n\r\n......" ,
"to" : "ko"
},
{
"text" : "# Markdownチートシート\r\n\r\n......" ,
"to" : "ja"
},
{
"text" : "# Markdown 備忘單\r\n\r\n......" ,
"to" : "zh-hant"
}
]
}
]
}
}
}