curl -X GET https://api.bizmori.com/api/v3/orders/ORDER_ID \
-H "Authorization: Bearer YOUR_API_KEY"const orderId = 'ORDER_ID';
const response = await fetch(`https://api.bizmori.com/api/v3/orders/${orderId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const { data } = await response.json();
import requests
order_id = 'ORDER_ID'
response = requests.get(
f'https://api.bizmori.com/api/v3/orders/{order_id}',
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
data = response.json()['data']
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bizmori.com/api/v3/orders/{orderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bizmori.com/api/v3/orders/{orderId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bizmori.com/api/v3/orders/{orderId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bizmori.com/api/v3/orders/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"orderId": "1234567891",
"status": "complete",
"processingDelayed": false,
"expiresAt": "2026-10-08T03:00:00.000Z",
"files": [
{
"fileId": "601",
"uploadUrl": null
},
{
"fileId": "602",
"uploadUrl": null
}
],
"outputs": [],
"result": {
"detectionStatus": "detected",
"reportSupported": true,
"watermarkText": "MORI-2026-001"
},
"reports": [
{
"locale": "en-US",
"status": "completed"
}
]
}
}{
"code": "VALIDATION_FAILED"
}{
"code": "AUTH_NOT_AUTHENTICATED"
}{
"code": "ORDER_NOT_FOUND"
}{
"code": "SERVER_INTERNAL_ERROR"
}워터마크 주문 상세 조회
v3 API로 생성한 워터마크 주문의 상태, 업로드 URL, 삽입 결과, 추출 결과, 보고서 상태를 조회합니다. 주문 상태와 관계없이 항상 호출할 수 있습니다.
POST /api/v3/orders/wtr-embed·wtr-extract로 만든 워터마크 주문만 조회합니다. Anti-AI, AI Detection 등 그 외 주문은 404 ORDER_NOT_FOUND를 반환하므로 GET /api/v2/orders/{orderId}를 사용하세요.
files[].uploadUrl은 주문status가pending이고 보관 기한 전이며 업로드 대기 중인 파일에만 발급합니다. 그 외에는null입니다result는detectionStatus,reportSupported,watermarkText만 포함합니다. 삽입 주문과 추출 결과가 나오기 전에는null입니다result.watermarkText는 검출된 워터마크를 호출 계정이 직접 삽입했고 발급 기록이 정확히 1건일 때만 삽입 문구를 반환하며, 그 외에는null입니다
curl -X GET https://api.bizmori.com/api/v3/orders/ORDER_ID \
-H "Authorization: Bearer YOUR_API_KEY"const orderId = 'ORDER_ID';
const response = await fetch(`https://api.bizmori.com/api/v3/orders/${orderId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const { data } = await response.json();
import requests
order_id = 'ORDER_ID'
response = requests.get(
f'https://api.bizmori.com/api/v3/orders/{order_id}',
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
data = response.json()['data']
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bizmori.com/api/v3/orders/{orderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bizmori.com/api/v3/orders/{orderId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bizmori.com/api/v3/orders/{orderId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bizmori.com/api/v3/orders/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"orderId": "1234567891",
"status": "complete",
"processingDelayed": false,
"expiresAt": "2026-10-08T03:00:00.000Z",
"files": [
{
"fileId": "601",
"uploadUrl": null
},
{
"fileId": "602",
"uploadUrl": null
}
],
"outputs": [],
"result": {
"detectionStatus": "detected",
"reportSupported": true,
"watermarkText": "MORI-2026-001"
},
"reports": [
{
"locale": "en-US",
"status": "completed"
}
]
}
}{
"code": "VALIDATION_FAILED"
}{
"code": "AUTH_NOT_AUTHENTICATED"
}{
"code": "ORDER_NOT_FOUND"
}{
"code": "SERVER_INTERNAL_ERROR"
}인증
외부 클라이언트 접근을 위한 Bearer API 키. 일반 키는 sk_ 접두사를 사용하고, 테스트 키는 sk_test_ 접두사로 모의 응답을 사용해 실제 처리나 크레딧 사용 없이 주문 흐름을 검증합니다.
경로 매개변수
주문 ID
응답
주문 상세
v3 API로 생성한 비가시성 워터마크 주문
Hide child attributes
Hide child attributes
주문 ID
주문 처리 상태
pending- 파일 업로드 대기inProgress- 처리 중complete- 처리 완료. 추출 주문은result에서 결과를 확인합니다failed- 처리 실패, 또는 12시간 안에 업로드되지 않음expired- 보관 기한이 지나 파일이 삭제됨
pending, inProgress, complete, failed, expired 자동 재시도를 모두 소진해 수동 복구를 기다리면 true. 주문은 inProgress로 유지됩니다
요청 순서의 입력 파일. 추출 주문은 원본, 검사 파일 순서입니다
삽입 결과. 워터마크 문구마다 1개이며 추출 주문은 빈 배열입니다
Hide child attributes
Hide child attributes
{inputFileId}-{순번} 형식의 결과 파일 ID(outputs[].fileId)
이 결과를 만든 입력 파일 ID
입력 파일 watermarks 안에서 해당 문구의 위치
x >= 0삽입한 워터마크 문구
이 결과 파일의 처리 상태
pending, queued, processing, completed, failed, retry_required image, pdf 추출 결과 요약. 삽입 주문과 결과가 나오기 전에는 null이며 아래 필드만 포함합니다
Hide child attributes
Hide child attributes
detected- 워터마크를 찾음not_detected- 끝까지 검사했으나 워터마크 없음inconclusive- 후보는 있으나 확신 기준 미달로 판단 불가unsupported- 처리할 수 없는 입력 (크레딧 환불)error- 검출 처리 실패, 워터마크 없음과 다름 (크레딧 환불)
detected, not_detected, inconclusive, unsupported, error 이 결과로 보고서를 만들 수 있는지 여부. PDF에서 캡처한 이미지는 false
검출된 워터마크의 삽입 문구. detectionStatus가 detected이고, 호출 계정이 직접 삽입했으며 발급 기록이 정확히 1건일 때만 반환합니다.
다른 계정이 삽입한 워터마크 등 그 외에는 null입니다.
주문 파일이 삭제되는 시각. 이후 다운로드와 보고서는 ORDER_EXPIRED를 반환합니다