curl "https://docurise.io/api/preview/email/broadcasts/7f1c0f7e-3c5e-4b1a-9d34-2f0a5b6c8d90/insights" \
-H "Authorization: Bearer $DOCURISE_API_KEY"import requests
url = "https://docurise.io/api/preview/email/broadcasts/{id}/insights"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://docurise.io/api/preview/email/broadcasts/{id}/insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://docurise.io/api/preview/email/broadcasts/{id}/insights",
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://docurise.io/api/preview/email/broadcasts/{id}/insights"
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://docurise.io/api/preview/email/broadcasts/{id}/insights")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://docurise.io/api/preview/email/broadcasts/{id}/insights")
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{
"broadcastId": "7f1c0f7e-3c5e-4b1a-9d34-2f0a5b6c8d90",
"sent": 1280,
"delivered": 1262,
"opened": 604,
"clicked": 131,
"bounced": 14,
"deliveredRate": 0.9859,
"openedRate": 0.4786,
"clickedRate": 0.1038,
"bouncedRate": 0.0109
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}1회성 발송 인사이트 조회
1회성 발송 한 건의 발송, 도달, 열람, 클릭, 반송 집계 수치를 조회합니다
curl "https://docurise.io/api/preview/email/broadcasts/7f1c0f7e-3c5e-4b1a-9d34-2f0a5b6c8d90/insights" \
-H "Authorization: Bearer $DOCURISE_API_KEY"import requests
url = "https://docurise.io/api/preview/email/broadcasts/{id}/insights"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://docurise.io/api/preview/email/broadcasts/{id}/insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://docurise.io/api/preview/email/broadcasts/{id}/insights",
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://docurise.io/api/preview/email/broadcasts/{id}/insights"
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://docurise.io/api/preview/email/broadcasts/{id}/insights")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://docurise.io/api/preview/email/broadcasts/{id}/insights")
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{
"broadcastId": "7f1c0f7e-3c5e-4b1a-9d34-2f0a5b6c8d90",
"sent": 1280,
"delivered": 1262,
"opened": 604,
"clicked": 131,
"bounced": 14,
"deliveredRate": 0.9859,
"openedRate": 0.4786,
"clickedRate": 0.1038,
"bouncedRate": 0.0109
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"retryAfterSeconds": 123,
"details": {}
}
}인증
Settings → Developers에서 발급한 키를 Authorization: Bearer dr_live_<12자리 16진수>_<64자리 16진수> 형태로 전송합니다. 키는 명시적인 범위를
가지며 — 각 엔드포인트에 필요한 범위가 해당 엔드포인트에 명시되어 있습니다. 전체 키는 발급 시점에 딱 한
번만 표시되며 다시 조회할 수 없습니다 — 이후에는 keyId 접두어만 표시됩니다. 폐기된
키는 바로 다음 요청부터 인증에 실패합니다.
경로 매개변수
GET /api/preview/email/broadcasts에서 받은 1회성 발송 id.
응답
해당 1회성 발송의 집계 수치.
1회성 발송 한 건의 집계 전달 수치. 수신자 단위 데이터는 없습니다.
1회성 발송의 id입니다.
이 1회성 발송에 기록된 발송 건수입니다. 억제(suppressed), 실패, 반송 건을 포함해 상태와 관계없이 모두 셉니다. 이메일 제공업체로 실제 전달된 메시지로 한정되지 않습니다.
상태가 delivered, opened, clicked, complained인 기록된 발송 건수입니다(고유 수신자 수가 아니라 발송 건수).
열람 또는 클릭이 기록된 고유 수신자 이메일 주소 수.
콘텐츠 링크를 클릭한 고유 수신자 이메일 주소 수(수신 거부 링크만 클릭한 경우는 제외). 2026-05-17 이전에 발송된 1회성 발송은 기록된 모든 클릭을 셉니다.
상태가 bounced인 기록된 발송 건수.
delivered / sent, 0~1, 소수점 넷째 자리.
opened / delivered, 0~1, 소수점 넷째 자리.
clicked / delivered, 0~1, 소수점 넷째 자리.
bounced / sent, 0~1, 소수점 넷째 자리.
