인증 확인
발급된 API ID와 secret key 조합이 유효한지 확인합니다.
Request
요청 본문 없음Response
{
"success": true,
"authenticated": true,
"apiKeyId": "ez_xxx",
"userIdx": 1
}이 문서는 이지센더 API의 인증 방식, 공통 요청 규칙, 오류 응답 형식과 각 API의 요청 및 응답 구조를 설명합니다.
https://ezsender.net/api/v1
X-EZSENDER-ID: YOUR_API_ID
X-EZSENDER-SECRET: YOUR_SECRET_KEY
모든 요청 본문은 JSON이며, 응답도 JSON으로 반환됩니다. 인증 정보는 계정 설정의 API 설정 화면에서 생성합니다.
{
"code": "Errors.Data.InvalidRequest",
"httpStatusCode": 400,
"message": "잘못된 요청입니다."
}curl -X GET "https://ezsender.net/api/v1/auth-check" \
-H "X-EZSENDER-ID: YOUR_API_ID" \
-H "X-EZSENDER-SECRET: YOUR_SECRET_KEY"Live Console
발급한 API ID와 secret key로 문서의 엔드포인트를 현재 환경에서 직접 호출하고 응답을 확인합니다.
발급된 API ID와 secret key 조합이 유효한지 확인합니다.
Request
요청 본문 없음Response
{
"success": true,
"authenticated": true,
"apiKeyId": "ez_xxx",
"userIdx": 1
}캠페인을 최신 생성순으로 조회합니다.
Query
Request
요청 본문 없음Response
{
"campaigns": [
{
"id": 10,
"title": "7월 뉴스레터",
"status": "draft"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"totalPages": 1
}
}작성중 상태의 이메일 캠페인을 생성합니다.
Request
{
"title": "7월 뉴스레터",
"subject": "새 소식입니다",
"html": "<h1>Hello</h1>",
"recipients": {
"groups": [
1
],
"segments": []
}
}Response
{
"campaign": {
"id": 10,
"title": "7월 뉴스레터",
"status": "draft"
}
}캠페인 본문과 수신 대상 설정을 함께 조회합니다.
Request
요청 본문 없음Response
{
"campaign": {
"id": 10,
"subject": "새 소식입니다",
"html": "<h1>Hello</h1>",
"recipients": {
"groups": [
1
]
}
}
}제목, 본문, 발신자, 수신 대상 등을 수정합니다.
Request
{
"subject": "수정된 제목",
"html": "<p>Updated</p>"
}Response
{
"campaign": {
"id": 10,
"subject": "수정된 제목"
}
}캠페인을 삭제합니다.
Request
요청 본문 없음Response
{
"success": true,
"deletedId": 10
}기존 캠페인과 수신 대상 설정을 복사해 새 작성중 캠페인을 만듭니다.
Request
요청 본문 없음Response
{
"campaign": {
"id": 11,
"title": "7월 뉴스레터 복사본",
"status": "draft"
}
}캠페인 본문을 지정한 이메일 주소로 테스트 발송합니다.
Request
{
"to": [
"test@example.com"
]
}Response
{
"success": true,
"recipients": [
"test@example.com"
],
"server": "primary-mail"
}즉시 발송 또는 예약 발송을 실행합니다.
Request
{
"mode": "immediate"
}Response
{
"success": true,
"id": 10,
"status": "scheduled",
"recipientCount": 120
}주소록 그룹과 그룹별 구독자 수를 조회합니다.
Request
요청 본문 없음Response
{
"groups": [
{
"id": 1,
"name": "기본 그룹",
"active": 100,
"total": 102
}
]
}새 주소록 그룹을 생성합니다.
Request
{
"name": "VIP 고객",
"description": "고가치 고객 그룹"
}Response
{
"group": {
"id": 2,
"name": "VIP 고객"
}
}그룹 이름 또는 설명을 수정합니다.
Request
{
"name": "VIP 고객 2026"
}Response
{
"group": {
"id": 2,
"name": "VIP 고객 2026"
}
}주소록 그룹을 삭제합니다.
Request
{
"deleteSubscribers": false
}Response
{
"success": true,
"deletedId": 2
}구독자 목록을 이메일 기준으로 조회합니다.
Query
Request
요청 본문 없음Response
{
"subscribers": [
{
"id": 100,
"email": "user@example.com",
"status": "active",
"groups": [
"기본 그룹"
]
}
]
}지정한 그룹에 구독자를 추가하거나 기존 정보를 갱신합니다.
Request
{
"groupName": "기본 그룹",
"subscribers": [
{
"email": "user@example.com",
"name": "홍길동"
}
]
}Response
{
"success": true,
"inserted": 1,
"updated": 0,
"failed": 0
}구독자 상태를 active 또는 unsubscribed로 변경합니다.
Request
{
"emails": [
"user@example.com"
],
"status": "unsubscribed"
}Response
{
"success": true,
"updated": 1,
"status": "unsubscribed"
}구독자를 ID 또는 이메일 기준으로 삭제합니다.
Request
{
"emails": [
"user@example.com"
]
}Response
{
"success": true,
"deleted": 1
}자동화 목록을 조회합니다.
Query
Request
요청 본문 없음Response
{
"automations": [
{
"id": 3,
"name": "웰컴 자동화",
"status": "active"
}
]
}자동화 시작 조건과 단계 구성을 조회합니다.
Request
요청 본문 없음Response
{
"automation": {
"id": 3,
"name": "웰컴 자동화",
"steps": []
}
}자동화 흐름에 이메일 단계를 추가합니다.
Request
{
"title": "첫 인사 메일",
"subject": "가입을 환영합니다",
"html": "<p>Welcome</p>"
}Response
{
"success": true,
"step": {
"type": "email",
"title": "첫 인사 메일"
}
}활성 상태의 대상 선택 후 실행 자동화를, 활성 구독자에게 실행합니다.
Request
{
"subscriberIds": [
12
]
}Response
{
"success": true,
"id": 3,
"status": "active",
"executionCount": 1
}