페이스북 이미지
3 시간 10 분 31 초
개발자 문서

Rapid Translate API

인증 문서 번역 주문을 프로그래밍 방식으로 접수하고 추적하세요. HTTPS 기반 REST API를 제공하며, 베어러 토큰으로 인증되고 JSON 형식으로 응답합니다. 모든 이벤트에 대해 서명된 웹훅이 전송됩니다.

기본 URL https://www.rapidtranslate.org/api/v1
버전 v1
체재 JSON
create-order.sh
curl -X POST https://www.rapidtranslate.org/api/v1/orders \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "reference=APO-10432" \
  -F "source_language=Spanish" \
  -F "target_language=English (US)" \
  -F "translation_type=certified" \
  -F "files[]=@document.pdf"

→ {
  "id": "9b1c2d3e-…",
  "status": "pending",
  "livemode": true
}

소개

그만큼 Rapid Translate API를 사용하면 애플리케이션에서 공증 번역을 위한 문서를 제출하고, 최신 상태 및 가격을 조회하고, 최종 번역 파일을 받을 수 있습니다. 이 모든 과정에서 팀에서 당사의 결제 시스템을 건드릴 필요가 없습니다. 이 API는 고객을 대신하여 번역 주문을 처리하는 기업을 위해 설계되었습니다.

모든 요청은 다음으로 이루어집니다. https://www.rapidtranslate.org/api/v1 HTTPS를 통해 전송됩니다. 요청 및 응답은 JSON 형식이며, 주문 생성 시에는 파일을 업로드합니다. 멀티파트/폼 데이터모든 금액은 다음과 같이 반환됩니다. 정수 센트 모든 금액은 미국 달러이며, 타임스탬프는 UTC ISO-8601 기준입니다.

접근 권한 획득. API 접근 권한은 조직 계정에서 사용할 수 있습니다. 대시보드에서 비즈니스를 추가한 다음, 비즈니스 설정 → API 키 에서 키를 생성하세요. 아직 비즈니스 계정이 없으시면 support@rapidtranslate.org 로 문의해 주세요.

포스트맨 컬렉션

코드를 작성하기 전에 API를 직접 사용해 보고 싶으신가요? 저희 Postman 컬렉션에는 인증, 예시 본문, 쿼리 매개변수 등 모든 엔드포인트가 미리 구성되어 있습니다.

Postman 컬렉션을 다운로드하세요

  1. Postman에서 파일 → 가져오기를 선택하고 다운로드한 파일을 선택합니다.
  2. 컬렉션을 열어보세요 변수 그리고 설정 apiKey 키에서 비즈니스 설정 → API 키.
  3. (선택 사항) 설정 baseUrl 사용 환경에 따라 기본값은 프로덕션으로 설정됩니다.
  4. 모든 요청을 보내세요. 샌드박스 키를 사용하여 유료 주문 없이 테스트할 수 있습니다.

입증

모든 요청을 비밀 API 키를 베어러 토큰으로 사용하여 인증하고 JSON 응답을 요청하세요. 두 헤더 모두 필수입니다.

인증: Bearer YOUR_API_KEY 수락: application/json

대시보드의 비즈니스 설정 → API 키 에서 키를 생성하고 교체할 수 있습니다. 키는 생성 시 한 번만 표시되며 해시된 상태로 저장됩니다. 키를 분실한 경우 새 키로 교체하세요. 각 키는 하나의 모드 (라이브 또는 샌드박스)에 속하며 고정된 범위 집합을 가집니다.

스코프

각 엔드포인트는 키에 특정 권한을 요구합니다. 필요한 범위가 없는 키는 오류를 반환합니다. 403 forbidden_scope.

범위보조금
주문:쓰기주문 생성 및 승인
주문:읽기주문 내역을 검색하고 목록으로 표시합니다.
가격:읽기가격표를 읽어보세요
키는 절대 비밀로 유지하세요. 유효한 키를 사용하면 유료 주문이 이루어질 수 있습니다. 클라이언트 측 코드, 브라우저 또는 공개 저장소에 키를 노출하지 마세요.

샌드박스 및 테스트 모드

테스트 모드는 계정 속성이 아니라 키 자체의 속성입니다. 샌드박스 키는 완벽하게 시뮬레이션된 환경에서 실행되고, 라이브 키는 실제 결제가 가능한 주문을 처리합니다. 두 가지 모두 동시에 사용할 수 있습니다.

샌드박스 주문은 실제 주문과 동일한 유효성 검사, 필드 매핑 및 가격 책정을 사용하지만 파일 저장, OCR 및 주문 처리 과정을 생략합니다. 샌드박스 주문은 생성 시 자동으로 전체 수명 주기를 거칩니다.처리 중 → 완료됨), 실제 주문과 동일한 웹훅을 실행하고 마지막으로 정적 샘플 문서를 제공합니다.

모든 응답과 웹훅에는 다음이 포함됩니다. 라이브모드 키를 검사하지 않고도 통합이 분기될 수 있도록 하는 플래그입니다.

  • 라이브 모드: true — 실제 청구 가능한 주문
  • 라이브 모드: false — 샌드박스/테스트 순서

요금 제한

조직별로 요청 횟수에 제한이 있습니다. 기본 허용량은 다음과 같습니다. 분당 120건의 요청이를 초과하면 반환됩니다. 429 요금 제한됨잠시 후 다시 시도하십시오. 통합에 더 높은 제한이 필요한 경우 문의하십시오. support@rapidtranslate.org.

답변

모든 성공적인 응답은 페이로드를 다음과 같은 형식으로 감쌉니다. 데이터 키. 엔드포인트 목록에 추가 메타 페이지네이션이 있는 블록.

단일 리소스

{
  "data": {
    "id": "9b1c...-uuid",
    "reference": "APO-10432",
    "status": "processing",
    "total": 11270,
    "currency": "USD"
  }
}

페이지 매김 목록

{
  "data": [ ... ],
  "meta": {
    "current_page": 1,
    "per_page": 25,
    "total": 134,
    "last_page": 6
  }
}

오류

오류는 표준 HTTP 상태 코드를 사용하며 안정적이고 기계가 읽을 수 있는 값을 반환합니다. 오류 코드 사람의 메시지와 함께. 유효성 검사 오류는 필드 키를 추가합니다. 오류 물체.

{
  "message": "The given data was invalid.",
  "error_code": "validation_failed",
  "errors": {
    "source_language": ["The selected source language is invalid."]
  }
}
HTTP오류 코드의미
400잘못된 요청요청 본문 형식이 잘못되었습니다
401인증되지 않은키가 없거나, 유효하지 않거나, 취소되었습니다.
402결제 실패주문은 승인되었지만 결제가 완료되지 않았습니다.
402신용보유주문 금액이 신용 한도를 초과했습니다.
403forbidden_scopeKey에는 필요한 범위가 부족합니다.
403계정 정지됨미지급 청구서로 인해 해당 기관은 영업 정지 처분을 받았습니다.
404찾을 수 없음이 조직에는 그러한 주문이 없습니다.
409duplicate_reference다른 주문에 참조가 재사용되었습니다.
409승인 대기 중이 아님주문은 귀하의 승인을 기다리고 있지 않습니다.
422유효성 검사 실패누락되었거나 유효하지 않은 필드
429요금 제한됨속도 제한 초과
500서버 오류예기치 않은 서버 오류
503처리 실패다운스트림 처리(OCR/가격 책정)에 실패했습니다.

주문 상태

주문의 상태 안정적인 수명 주기를 따릅니다. 이 다섯 가지 값은 또한 일반적으로 받아들여지는 값입니다. 상태 필터 켜기 주문 목록:

상태의미
보류 중접수되었습니다. 가격 책정은 아직 완료되지 않았습니다. 총 아마도 널.
승인 대기 중견적을 제시해 드렸으며, 총액 승인을 기다리고 있습니다 (승인이 필요한 경우에만).
처리 중승인 완료 및 활성화됨; 번역 작업 진행 중.
완전한완료되었습니다. 번역된 문서를 확인하실 수 있습니다.
취소주문이 취소되었습니다.

주문이 진행되는 동안 더 세분화된 레이블(예: 번역가에게 배정됨, 번역하기, 배송됨)도 나타날 수 있습니다. 승인이 필요한 경우, 주문서에 간략하게 보고될 수 있습니다. 결제 실패 또는 신용보유 결제가 이루어지지 않은 경우, 결제 방법을 해결하고 다시 승인하십시오.

언어 목록

얻다 /언어

지원되는 모든 언어를 반환합니다. 사용 방법 이름 값을 그대로 소스 언어 / 대상 언어 주문을 생성할 때 주문은 코드명이 아닌 언어명을 기준으로 매칭됩니다.

인증된 키가 필요합니다.

curl https://www.rapidtranslate.org/api/v1/languages ​​\ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
{
  "data": [
    { "code": "english-uk", "name": "English (UK)", "active": true },
    { "code": "spanish",     "name": "Spanish",      "active": true }
  ]
}

가격표 받기

얻다 /물가

주문에 적용되는 미국 기준 요금표(USD)를 반환합니다. 금액은 소수점 이하 문자열입니다. 가격은 그룹별로 분류됩니다. 번역 유형(각각은 다음을 포함함) 정기적인 그리고 빠른 당-단위 가격), 배달 방법과 아포스티유 — 주문 생성 시 전송하는 것과 동일한 값입니다.

범위: 가격:읽기

{
  "data": {
    "country":  { "code": "US", "name": "United States" },
    "currency": { "code": "USD", "symbol": "$" },
    "translation": {
      "certified":   { "unit": "page", "regular": "27.99", "rapid": "37.99" },
      "standard":    { "unit": "word", "regular": "0.11",  "rapid": "0.15" },
      "specialized": { "unit": "page", "regular": "47.99", "rapid": "57.99" },
      "naati":       { "unit": "page", "regular": "42.99", "rapid": "52.99" },
      "sworn": {
        "unit": "page",
        "note": "Sworn pricing depends on the language pair.",
        "language_pairs": [
          { "languages": ["Spanish","English"], "unit": "page", "regular": "57.99", "rapid": "67.99" },
          { "languages": ["Polish","English"],  "unit": "page", "regular": "46.99", "rapid": "56.99" }
        ]
      }
    },
    "delivery": {
      "email": "0.00", "notarized_email": "19.99",
      "mail_standard": "29.99", "mail_next_day": "55.00"
    },
    "apostille": { "base": "79.00", "additional_document": "15.00" }
  }
}

선서에 의한 가격 책정. 공증 번역은 언어 쌍별로 가격이 책정됩니다. 언어 쌍 모든 선서 자격이 있는 쌍을 고유한 정보와 함께 나열합니다. 정기적인/빠른 가격. 모든 영어 변형(English (US/UK/AU/CA))이 허용되며, 각 쌍은 양방향으로 작동합니다. 단, 해당 쌍에 다른 문자가 있는 경우는 예외입니다. "양방향": 거짓.

주문 생성

우편 /명령

번역 주문을 생성하고 원본 파일을 업로드합니다. 파일을 전송하기 때문에 이 엔드포인트는 다음과 같은 기능을 사용합니다. 멀티파트/폼 데이터 (JSON 형식이 아닙니다.) 중첩 필드는 대괄호 표기법을 사용합니다. 예: 고객[이름].

범위: 주문:쓰기

신체 매개변수

필드유형메모
참조문자열 필수고유한 주문 참조 번호입니다. 이 참조 번호를 재사용하면 기존 주문이 반환됩니다(멱등성 참조).
고객[이름]문자열 필수최종 고객의 성명.
고객[이메일]문자열 필수최종 고객의 이메일 주소입니다.
소스 언어문자열 필수정확한 표현 이름 ~에서 언어 목록.
대상 언어문자열 필수정확한 표현 이름 ~에서 언어 목록.
번역 유형문자열 필수하나 인증됨, 기준, 전문화된, 맹세하다, 나아티.
전환문자열 필수정기적인 또는 빠른.
배송[방법]문자열 필수하나 이메일, 공증된 이메일, 메일_표준, 다음 날 우편 발송.
배송[주소][...]물체필수 사항 메일_표준 / 다음 날 우편 발송: 거리, 도시, 우편번호, 국가 (상태 선택 과목). 국가 ISO 코드입니다. 예: 우리를.
아포스티유[활성화됨]부울아포스티유 처리 절차를 추가하세요. 아래 규칙을 참조하십시오.
아포스티유[문서]정수아포스티유를 받을 문서 수. 활성화 시 필수 항목입니다.
아포스티유[목적지_국가]끈아포스티유를 발급받을 국가.
메모끈자유 형식 지침.
쿠폰 코드끈적용할 할인 코드입니다. 명백히 유효하지 않거나 적용할 수 없는 코드는 생성 시 거부됩니다. 422 유효성 검사 실패할인 금액은 주문 가격이 확정된 후에 최종적으로 적용됩니다(아래 참고 사항 참조).
파일[]파일[] 필수파일 1~20개. 허용 파일 형식: pdf, jpg, jpeg, png, doc, docx, tiff, heic. 각 파일 최대 용량: 20MB.
멱등성. 참조 조직마다 고유합니다. 동일한 사용자로 생성을 반복하면 문제가 발생합니다. 참조 기존 주문을 반환합니다. 200 중복 주문을 생성하는 대신 (새 주문이 반환됩니다) 201).
아포스티유 규정. 아포스티유는 대상 언어가 영어(모든 변형 포함)인 경우에만 가능하며, 이러한 주문에는 다음 형식을 사용해야 합니다. 메일_표준 배송 방법. 다음 날 우편 발송 미국 주소로만 배송 가능합니다.

예

curl -X POST https://www.rapidtranslate.org/api/v1/orders \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json" \ -F "reference=APO-10432" \ -F "customer[name]=Jane Doe" \ -F "customer[email]=jane@example.com" \ -F "source_language=Spanish" \ -F "target_language=English (US)" \ -F "translation_type=certified" \ -F "turnaround=regular" \ -F "delivery[method]=email" \ -F "files[]=@/path/to/birth-certificate.pdf"
{
  "data": {
    "id": "9b1c2d3e-...-uuid",
    "reference": "APO-10432",
    "livemode": true,
    "status": "pending",
    "source_language": "Spanish",
    "target_language": "English (US)",
    "translation_type": "certified",
    "turnaround": "regular",
    "total": null,
    "currency": "USD",
    "created_at": "2026-08-28T10:15:00+00:00"
  }
}

새로 생성된 주문은 다음과 같이 시작됩니다. 보류 중 함께 널 가격 계산 중 총액입니다. 설문조사 주문 조회 또는 들어보세요 주문 상태 웹훅을 통해 가격 및 상태 업데이트를 확인할 수 있습니다.

쿠폰. 에이 쿠폰 코드 두 단계에 걸쳐 검사가 진행됩니다. 생성 단계에서는 문서 길이에 관계없이 유효한 코드, 사용 제한, 적용 가능한 번역/서비스 유형 등을 검증하고, 유효하지 않은 코드는 즉시 거부합니다. 페이지/단어 수(및 할인 금액 자체)에 따라 달라지는 규칙은 문서 계산 후 적용되므로 할인 금액이 문서에 반영됩니다. 가격 총액이지 초기값이 아닙니다. 보류 중 만약 주문 수량 확인 후 쿠폰이 적용되지 않는 것으로 판명될 경우, 주문은 정가로 처리되며 담당 팀에서 검토할 수 있도록 표시됩니다.

주문 조회

얻다 /orders/{id}

해당 항목을 통해 단일 주문을 가져옵니다. ID (생성 시 반환된 UUID). 반환값 404 찾을 수 없음 주문이 귀하의 조직에 속하지 않는 경우.

범위: 주문:읽기

curl https://www.rapidtranslate.org/api/v1/orders/9b1c2d3e-...-uuid \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"

주문 목록

얻다 /명령

조직의 주문 내역을 최신순으로 페이지네이션과 함께 반환합니다. 메타모든 쿼리 매개변수는 선택 사항입니다.

범위: 주문:읽기

질문메모
상태하나 보류 중, 승인 대기 중, 처리 중, 완전한, 취소.
참조참조 번호를 기준으로 필터링하세요.
소스 언어 / 대상 언어언어 이름으로 필터링하세요.
created_from / created_to날짜 범위(포함).
종류-생성됨_at (기본값, 최신순) 또는 created_at (가장 오래된 순서부터).
페이지당1~100. 기본값은 표준 페이지 크기입니다.
페이지페이지 번호.
curl "https://www.rapidtranslate.org/api/v1/orders?status=completed&per_page=50" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"

주문을 승인하세요

우편 /orders/{id}/승인

주문에 대한 계산된 총액을 승인합니다. 승인 대기 중이를 활성화하여 작업을 완료합니다. 이는 작업 시작 전에 계정 승인이 필요한 경우에만 필요합니다. 이 호출은 멱등성을 가집니다.

범위: 주문:쓰기

curl -X POST https://www.rapidtranslate.org/api/v1/orders/9b1c2d3e-...-uuid/approve \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"

승인이 완료되면 업데이트된 주문 정보가 반환됩니다. 주문이 승인을 기다리고 있지 않은 경우 다른 메시지가 표시됩니다. 409 승인 대기 중이 아님충전이 필요하지만 실패하면 다음과 같은 결과가 나옵니다. 402 결제 실패 또는 402 크레딧_홀드.

필드 값

주문 생성 시 허용되는 고정 세트입니다.

번역 유형

값설명
인증됨공증 번역 (페이지당 가격).
기준표준 번역 (단어당 가격 책정).
전문화된전문/특수 번역 서비스 (페이지당).
맹세하다공증 번역본 (페이지당).
나아티NAATI 인증 번역(페이지당).

턴어라운드

값설명
정기적인일반적인 처리 기간입니다.
빠른신속한 처리.

배송 방법

값주소설명
이메일아니요이메일을 통한 디지털 배송(무료).
공증된 이메일아니요공증된 디지털 전송.
메일_표준예실물 우편; 배송 가능 국가로 배송됩니다.
다음 날 우편 발송예익일 배송 (미국 주소에 한함).

웹훅

폴링 방식 대신 웹훅 엔드포인트를 구성하여 이벤트 발생 시 수신하세요. URL을 설정하고 서명 비밀 키는 비즈니스 설정 → 웹훅 에서 확인할 수 있습니다. 웹훅은 편리한 기능이며, 주문 조회는 항상 공식적인 결과를 제공합니다.

이벤트

이벤트보낸 시점
주문 상태주문 상태가 변경되었습니다.
고객 리뷰주문 가격이 책정되었으며 승인을 기다리고 있습니다(승인 모드에서만 가능).
문서 전달번역된 문서가 다운로드 URL과 함께 준비되었습니다.
결제 실패승인된 주문에 대한 요금을 청구할 수 없습니다. 실패 차단하다 (이유, 메시지지갑 카드 정보를 업데이트하고 다시 승인하세요.
신용보유승인된 주문은 신용 한도를 초과할 수 있으며, 이 경우 추가 비용이 발생합니다. 신용보유 차단하다 (메시지청구서를 결제하거나 더 높은 한도를 요청하세요.

봉투

모든 배송에는 동일한 봉투가 들어 있습니다: 이벤트 블록(포함) 라이브모드) 및 이벤트별 데이터 차단하다.

{
  "event": {
    "type": "order_status",
    "id": "evt_9b1c...",
    "livemode": true,
    "sent_at": "2026-08-28T10:20:00+00:00"
  },
  "data": {
    "order": {
      "id": "9b1c2d3e-...-uuid",
      "reference": "APO-10432",
      "status": "completed"
    }
  }
}

그만큼 문서 전달 이벤트가 추가됩니다 서류 배열(각각은 ~을 포함함) 이름, 다운로드_URL, 버전, 상태) 그리고 a 문 링크. 고객 리뷰 이벤트는 항목별 목록을 추가합니다. 가격 블록과 액션.승인 호출할 URL이 담긴 객체입니다.

서명 확인

각 요청에는 서명이 되어 있으므로 누가 요청했는지 확인할 수 있습니다. Rapid Translate 우리는 세 개의 헤더를 보냅니다.

헤더값
X-RapidTranslate-Signaturesha256=<hmac>
X-RapidTranslate-타임스탬프서명에 사용된 유닉스 타임스탬프
X-RapidTranslate-이벤트고유 이벤트 ID

예상 서명을 해당 문자열의 HMAC-SHA256으로 계산합니다. "{타임스탬프}.{원시 요청 본문}" 웹훅 서명 비밀 키를 사용하여 헤더 값과 비교합니다.

// PHP
$expected = 'sha256=' . hash_hmac(
    'sha256',
    $timestamp . '.' . $rawBody,
    $webhookSecret
);
$valid = hash_equals($expected, $signatureHeader);

Node.js(Express) — 정확한 바이트 수를 유지하기 위해 raw body 파서를 사용하여 경로를 마운트합니다.

// app.use('/webhooks/rapidtranslate', express.raw({ type: 'application/json' }))
const crypto = require('crypto');

const timestamp = req.get('X-RapidTranslate-Timestamp');
const received  = req.get('X-RapidTranslate-Signature'); // "sha256=..."
const rawBody   = req.body;                               // Buffer, untouched

const expected = 'sha256=' + crypto
  .createHmac('sha256', WEBHOOK_SECRET)
  .update(`${timestamp}.${rawBody}`)
  .digest('hex');

const valid = received &&
  crypto.timingSafeEqual(Buffer.from(received), Buffer.from(expected));

사람들이 흔히 실수하는 세 가지:

  • 그만큼 X-RapidTranslate-Signature 헤더는 다음을 포함합니다 샤256= 접두사. 또는 ~와 비교하십시오. 'sha256=' + yourHmac (위와 같이) 비교하기 전에 접두사를 제거하세요. 16진수 값만 전체 헤더와 비교하지 마세요.
  • 수신된 요청 본문을 있는 그대로 해시합니다. 파싱된 JSON을 다시 직렬화하면 공백과 키 순서가 바뀌므로 서명이 일치하지 않습니다. 따라서 JSON 미들웨어가 파싱하기 전에 본문을 읽어야 합니다.
  • 일정한 시간 간격에서 비교하십시오.hash_equals / 크립토.타이밍세이프이퀄), 절대 ~와 함께 == 또는 ===.

그만큼 {타임스탬프} 서명된 문자열의 일부이므로 헤더에서 읽어 해싱하기 전에 앞에 추가해야 합니다. 또한 이를 통해 만료되었거나 재전송된 메시지(예: 5분보다 오래된 타임스탬프)를 거부할 수 있습니다.

전송 실패 시 지수적 백오프 방식으로 재시도합니다(최대 5회). 응답하려면 다음을 입력하십시오. 2xx 수신 확인을 위한 상태 메시지입니다.