특징가격블로그

교통 인텔리전스 플랫폼

제품

  • 특징
  • 가격
  • 문서

회사

  • 소개
  • 블로그
  • 연락처

법적

  • 개인정보 보호
  • 용어

© 2026 Magicgate. 모든 권리 보유.

플랫폼 가이드

문서

트래픽 필터링 요구 사항에 맞게 Magicgate를 통합하고 구성하는 데 필요한 모든 것입니다.

플랫폼 가이드
API 참조
섹션 1

빠른 시작

5분 이내에 Magicgate를 시작하고 실행하세요. 이 가이드에서는 첫 번째 트래픽 흐름 생성, 기본 필터 구성, API 테스트 과정을 안내합니다.

Magicgate는 구성 가능한 필터 세트와 비교하여 모든 방문자를 평가하여 실제 사용자와 봇 트래픽을 분리합니다. 플랫폼은 10밀리초 이내에 'white'(bot/crawler/unwanted) 또는 'offer'(실제 사용자)라는 평결을 반환합니다.

두 가지 통합 모드가 있습니다. API Mode를 사용하면 REST 엔드포인트를 통해 방문자 속성을 보내고 애플리케이션이 작동하는 JSON 결과를 받을 수 있습니다. Direct Mode는 모든 것을 자동으로 처리합니다. 도메인을 Magicgate로 지정하면 방문자는 코드 변경 없이 필터링되고 리디렉션됩니다.

이 빠른 시작은 개발 중에 가장 많은 제어력과 가장 빠른 피드백 루프를 제공하므로 API Mode에 중점을 둡니다. 익숙해지면 제로 코드 통합이 선호되는 프로덕션 배포를 위해 Direct Mode로 전환할 수 있습니다.

단계

  1. 1

    magicgate.io에서 가입하고 이메일 주소를 확인하세요. 새로운 작업 공간이 있는 대시보드로 이동하게 됩니다.

  2. 2

    흐름으로 이동하여 '흐름 만들기'를 클릭합니다. 설명이 포함된 이름을 지정합니다(예: '랜딩 페이지 - 미국 교통'). 통합 유형으로 API Mode를 선택합니다.

  3. 3

    필터를 하나 이상 구성하세요. 기본 설정의 경우 GeoIP(대상 국가) 및 봇 감지(알려진 크롤러 차단)를 활성화합니다. 나중에 더 많은 필터를 추가할 수 있습니다.

  4. 4

    제안 페이지 URL(실제 사용자가 접속해야 하는 위치)과 화이트 페이지 URL(봇이 리디렉션되는 위치)을 설정합니다.

  5. 5

    흐름을 저장합니다. Settings 페이지에서 Flow Label과 API key를 복사하세요.

  6. 6

    cURL 또는 선호하는 HTTP 클라이언트를 사용하여 테스트 요청을 보냅니다(아래 예 참조).

  7. 7

    대시보드 분석 탭을 확인하여 테스트 요청이 결과 및 필터 분석과 함께 나타나는지 확인하세요.

Free 요금제에는 월 5,000회 확인, 1개 흐름, 4개 기본 필터(GeoIP, 차단 목록, User-Agent, Referer)가 포함됩니다. 29개 이상의 필터와 추가 흐름을 모두 잠금 해제하려면 Starter 이상으로 업그레이드하세요.

코드 예

cURL
curl -X POST https://api.magicgate.io/api/v1/check \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key_here" \
  -d '{
    "label": "my-campaign",
    "ip_address": "203.0.113.42",
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
    "referer": "https://google.com"
  }'

# Response:
# {
#   "verdict": "offer",
#   "url": "https://example.com/landing",
#   "display_mode": "redirect",
#   "filter_reason": "",
#   "processing_ms": 8
# }
섹션 2

봇 감지

Magicgate가 29개 이상의 구성 가능한 필터, 실시간 IP 인텔리전스 및 행동 분석을 사용하여 봇 트래픽을 식별하고 분류하는 방법을 이해하십시오.

Magicgate는 다층 탐지 파이프라인을 기준으로 들어오는 모든 방문자를 평가합니다. 각 필터는 독립적으로 실행되며 최종 판정에 기여합니다. 전체 평가는 10밀리초 이내에 완료되므로 실제 사용자가 인지할 수 있는 지연 시간이 전혀 발생하지 않습니다.

탐지 파이프라인은 네트워크 수준 검사(IP 평판, GeoIP, VPN/proxy/Tor 탐지, 데이터 센터 식별), 브라우저 수준 검사(사용자 에이전트 분석, JavaScript 지문, 헤더 일관성), 행동 검사(클릭 패턴, 세션 속도, 리퍼러 유효성 검사), 목록 기반 검사(차단 목록, 허용 목록, ISP 필터링) 등 여러 범주로 나뉩니다.

각 필터는 흐름별로 개별적으로 활성화하거나 비활성화할 수 있습니다. 이러한 세부적인 제어를 통해 다양한 트래픽 소스에 대한 탐지를 미세 조정할 수 있습니다. 예를 들어 미국 모바일 사용자를 대상으로 하는 캠페인에서는 GeoIP(미국만 해당), VPN/프록시 감지 및 모바일 장치 확인을 활성화하는 동시에 ISP 필터링을 비활성화할 수 있습니다.

GeoIP 필터링은 지연 시간 없는 조회를 위해 매주 업데이트되는 로컬 호스팅 MaxMind 데이터베이스를 사용합니다. 국가, 지역, 도시별로 트래픽을 타겟팅하거나 제외할 수 있습니다. 데이터베이스는 99.8%의 국가 수준 정확도로 IPv4 및 IPv6 주소를 다룹니다.

VPN, 프록시 및 Tor 탐지는 여러 상용 및 오픈 소스 데이터베이스를 결합합니다. Magicgate는 알려진 VPN 출구 노드, 공용 및 개인 프록시 서버, Tor 출구 릴레이 및 주거용 프록시 네트워크의 목록을 지속적으로 업데이트하여 유지 관리합니다. 탐지에는 IPv4 및 IPv6 범위가 모두 포함됩니다.

데이터 센터 감지는 클라우드 제공업체(AWS, GCP, Azure, DigitalOcean, OVH, Hetzner 및 기타 200개 이상)에서 발생하는 트래픽을 식별합니다. 이는 가상 머신에서 실행되는 자동화된 스크립트와 헤드리스 브라우저를 포착하는 데 특히 효과적입니다.

사용자 에이전트 분석은 알려진 크롤러, 봇 및 자동화 도구의 데이터베이스와 비교하여 방문자의 사용자 에이전트 문자열을 구문 분석합니다. 또한 불일치도 감지합니다. 예를 들어 Windows에서 Chrome이라고 주장하지만 Linux 관련 헤더를 보내는 사용자 에이전트가 있습니다.

차단 목록 필터를 사용하면 항상 봇으로 분류되어야 하는 IP 주소, IP 범위(CIDR 표기법) 및 사용자 에이전트 패턴의 사용자 지정 목록을 유지 관리할 수 있습니다. 반대로, 허용 목록 필터를 사용하면 항상 통과해야 하는 신뢰할 수 있는 IP(예: 자체 테스트 인프라)를 허용 목록에 추가할 수 있습니다.

Referer 유효성 검사는 예상 패턴과 비교하여 HTTP Referer 헤더를 확인합니다. 특정 도메인(예: Google, Facebook)에서 트래픽이 들어오도록 요구하거나 비어 있거나 누락되었거나 의심스러운 리퍼러가 있는 트래픽을 차단할 수 있습니다.

공격적인 필터 조합에는 주의하세요. 너무 많은 제한 필터를 동시에 활성화하면 거짓 긍정이 증가할 수 있습니다. 즉, 합법적인 사용자가 봇으로 잘못 분류될 수 있습니다. 몇 가지 핵심 필터(GeoIP + 봇 ​​감지)로 시작하고 대시보드에서 트래픽 패턴을 분석하면서 더 많은 필터를 추가하세요.
필터 사용 가능 여부는 요금제에 따라 다릅니다. Free 플랜에는 4가지 기본 필터(GeoIP, Blocklist, User-Agent, Referer)가 포함되어 있습니다. Starter 이상에서는 VPN/프록시 감지, 데이터 센터 식별 및 행동 분석을 포함한 29개 이상의 필터를 모두 잠금 해제합니다.
분석 탭을 사용하여 필터 성능을 검토하세요. 각 검사에는 어떤 필터가 트리거되었는지, 그 이유가 표시되어 시간이 지남에 따라 구성을 미세 조정하는 데 도움이 됩니다.

코드 예

cURL
# Check a visitor with full attributes for bot detection
curl -X POST https://api.magicgate.io/api/v1/check \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key_here" \
  -d '{
    "label": "my-campaign",
    "ip_address": "203.0.113.42",
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
    "referer": "https://www.google.com/search?q=example"
  }'

# Response with verdict and detection details:
# {
#   "verdict": "offer",
#   "url": "https://example.com/offer",
#   "display_mode": "redirect",
#   "filter_reason": "",
#   "processing_ms": 8,
#   "country_code": "US",
#   "is_vpn": false,
#   "is_bot": false,
#   "is_datacenter": false
# }
섹션 3

트래픽 라우팅

Magicgate가 필터 결과에 따라 방문자를 올바른 목적지로 라우팅하는 방법을 알아보세요. 화이트 페이지와 제안 페이지 모델, 리디렉션 메커니즘 및 판정 처리를 이해합니다.

Magicgate의 핵심은 트래픽 라우터입니다. 모든 방문자는 구성된 필터를 기준으로 평가되고 '제안'(합법적인 사용자) 또는 '화이트'(봇, 크롤러 또는 원치 않는 트래픽)라는 판정이 할당됩니다. 판정에 따라 방문자가 리디렉션되는 위치가 결정됩니다.

제안 페이지는 실제 랜딩 페이지, 제안 페이지 또는 전환 유입경로, 즉 실제 방문자가 보기를 원하는 페이지입니다. 화이트 페이지는 봇, 크롤러 및 광고 네트워크 검토자에게 표시되는 미끼 또는 양성 페이지입니다. 일반적인 화이트 페이지에는 간단한 블로그 게시물, 뉴스 기사 또는 일반적인 정보 콘텐츠가 포함됩니다.

이러한 분리는 캠페인 보호에 필수적입니다. 광고 네트워크 규정 준수 검토자, 클릭 사기 봇 및 경쟁업체는 흰색 페이지를 보고, 타겟 고객의 실제 사용자는 제안 페이지에 도달합니다. 라우팅은 투명하게 유선 속도로 이루어집니다.

Direct Mode에서는 라우팅이 완전 자동으로 이루어집니다. 도메인의 DNS을 Magicgate로 지정하면 플랫폼이 전체 요청 수명 주기를 처리합니다. 즉, 방문자를 수신하고, 필터를 평가하고, 적절한 대상으로 HTTP 리디렉션(기본적으로 302)을 실행합니다. 방문자는 중간 페이지를 볼 수 없습니다.

API Mode에서 애플리케이션은 방문자 속성을 사용하여 /api/v1/check 엔드포인트를 호출하고 판정 및 권장 리디렉션 URL이 포함된 JSON 응답을 받습니다. 그러면 애플리케이션이 리디렉션 자체를 처리합니다. 이를 통해 사용자 경험을 완벽하게 제어할 수 있습니다. 리디렉션하기 전에 사용자 정의 로직, 로깅 또는 A/B 테스트를 추가할 수 있습니다.

Magicgate는 방문자 라우팅을 위해 세 가지 디스플레이 모드를 지원합니다. '리디렉션'(기본값)은 대상 URL로 HTTP 리디렉션을 발행합니다. '프록시'는 브라우저 주소 표시줄을 변경하지 않고 원래 URL에서 대상 페이지 콘텐츠를 제공합니다. 'Iframe'은 원래 URL의 iframe 내부에 도착 페이지를 로드합니다. 디스플레이 모드는 흐름별로 구성 가능합니다.

동일한 방문자의 빠른 연속 요청(예: 초기 리디렉션 후 페이지 리소스 로드)을 처리하기 위해 판정은 동기식으로 처리되고 간략하게 캐시됩니다. 캐시 TTL은 흐름별로 구성 가능하며 기본값은 30초입니다.

Direct Mode는 코드 변경 없이 라우팅을 자동으로 처리합니다. 사용자 정의 리디렉션 로직이 필요하지 않은 경우 Direct Mode이 가장 간단한 통합 경로입니다. 자세한 비교는 API와 Direct Mode 섹션을 참조하세요.
API Mode에 장애 조치 논리 구현을 고려하세요. Magicgate API에 연결할 수 없는 경우 방문자가 오류를 표시하는 대신 제안 페이지로 이동할 수 있도록 하세요. 일시적인 API 중단으로 인해 합법적인 트래픽이 차단되어서는 안 됩니다.
리디렉션 체인을 피하세요. 제안 페이지 자체가 리디렉션(예: 현지화된 버전)되는 경우 방문자는 여러 홉을 경험하게 됩니다. 지연 시간을 최소화하려면 Magicgate에서 최종 도착 URL을 구성하세요.

코드 예

cURL
# API Mode: Get verdict and redirect URL
curl -X POST https://api.magicgate.io/api/v1/check \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key_here" \
  -d '{
    "label": "my-campaign",
    "ip_address": "203.0.113.42",
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
  }'

# Successful response:
# {
#   "verdict": "offer",
#   "url": "https://example.com/offer",
#   "display_mode": "redirect",
#   "filter_reason": "",
#   "processing_ms": 8
# }
섹션 4

API Mode 대 Direct Mode

Magicgate에서 제공하는 두 가지 통합 모드를 비교해 보세요. 최대 제어를 위해 API Mode를 사용해야 하는 경우와 Direct Mode가 가장 간단한 배포 경로를 제공하는 경우를 이해합니다.

Magicgate는 서로 다른 사용 사례와 기술 요구 사항에 맞게 설계된 두 가지 통합 모드를 제공합니다. 올바른 모드를 선택하면 배포 복잡성, 사용자 경험 제어 및 운영 오버헤드에 영향을 미칩니다.

API Mode은 프로그래밍 방식 통합입니다. 애플리케이션은 방문자 속성(IP 주소, 사용자 에이전트, 리퍼러 등)과 함께 /api/v1/check 엔드포인트에 POST 요청을 보내고 결과가 포함된 JSON 응답을 받습니다. 그런 다음 코드는 라우팅을 처리하여 봇을 화이트 페이지로 리디렉션하고 실제 사용자가 통과할 수 있도록 합니다. 이 모드를 사용하려면 통합 코드를 작성해야 하지만 요청 흐름을 완벽하게 제어할 수 있습니다.

Direct Mode은 DNS 수준 통합입니다. 도메인의 DNS 레코드(CNAME ~ proxy.magicgate.io 또는 루트 도메인의 경우 ALIAS/ANAME)가 Magicgate를 가리키도록 구성합니다. 방문자가 도착하면 Magicgate는 투명하게 요청을 가로채고 방문자를 평가한 후 제안 페이지나 화이트 페이지로 HTTP 리디렉션을 보냅니다. 애플리케이션에서 코드를 변경할 필요가 없습니다. 전체 필터링 및 라우팅 계층이 원본 서버 앞에 위치합니다.

API Mode 장점: 라우팅 로직을 완벽하게 제어할 수 있습니다. 판정 수신과 사용자 리디렉션 사이에 로깅, A/B 테스트 할당, 쿠키 설정, 분석 이벤트 또는 판정 메타데이터를 기반으로 하는 조건부 논리 등 사용자 지정 처리를 추가할 수 있습니다. API Mode는 모든 백엔드 스택에서 작동하며 DNS 변경이 필요하지 않습니다. 또한 클라이언트 측 JavaScript가 확인 호출을 수행하는 단일 페이지 애플리케이션(SPA)에도 이상적입니다.

API Mode 단점: 애플리케이션에서 코드 변경이 필요합니다. API 호출, 오류 사례(시간 초과, 속도 제한) 및 리디렉션 논리를 처리해야 합니다. API 호출은 페이지 로드 시간에 네트워크 왕복을 추가합니다(일반적으로 Magicgate 가장자리와의 지리적 근접성에 따라 10~50ms).

Direct Mode 장점: 코드 변경이 전혀 없습니다. DNS를 지정하고 흐름을 구성하세요. 방문자는 자동으로 필터링되고 리디렉션됩니다. Direct Mode은 추가 API 왕복이 없기 때문에 최종 사용자에게는 더 빠릅니다. 필터링은 DNS 해결 및 초기 HTTP 요청의 일부로 가장자리에서 발생합니다. 또한 모든 극단적인 경우(시간 초과, 재시도)를 투명하게 처리합니다.

Direct Mode 단점: 라우팅 프로세스에 대한 통제력이 떨어집니다. 판정과 리디렉션 사이에 맞춤 논리를 삽입할 수 없습니다. DNS 변경사항은 천천히(분에서 몇 시간) 전파되므로 테스트 및 롤백 속도가 느려집니다. Direct Mode에서는 공개 URL을 통해 화이트 페이지와 제안 페이지에 액세스할 수 있어야 합니다.

하이브리드 접근 방식도 가능합니다. 기본 랜딩 페이지(제로 코드 통합이 우선시되는 경우)에는 Direct Mode를 사용하고, 맞춤형 판정 처리가 필요한 특정 엔드포인트(예: 양식 제출, API 엔드포인트 또는 결제 흐름)에는 API Mode를 사용하세요.

손쉬운 테스트와 디버깅을 위해 개발 중에 API Mode로 시작하세요. 단순성과 성능이 최우선인 프로덕션 배포의 경우 Direct Mode로 전환하세요.
두 모드 모두 동일한 필터 파이프라인을 사용하고 동일한 결과를 생성합니다. 유일한 차이점은 확인이 실행되는 방식과 리디렉션이 처리되는 방식입니다.
Direct Mode를 사용할 때 원본 서버가 IP 주소를 통해 공개적으로 액세스할 수 없는지 확인하세요. 봇이 도메인의 DNS를 우회하고 원본에 직접 도달할 수 있는 경우 필터링 레이어가 완전히 우회됩니다.

코드 예

cURL
# ---- API Mode: Manual check + redirect ----
# Send visitor data and receive a verdict
curl -X POST https://api.magicgate.io/api/v1/check \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key_here" \
  -d '{
    "label": "my-campaign",
    "ip_address": "203.0.113.42",
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
    "referer": "https://google.com"
  }'

# ---- Direct Mode: DNS configuration ----
# Point your domain to Magicgate's proxy:
# CNAME  landing.example.com  ->  proxy.magicgate.io
# For root domains that don't support CNAME, use ALIAS/ANAME:
# ALIAS  landing.example.com  ->  proxy.magicgate.io
# No API calls needed -- Magicgate handles everything at the edge.
섹션 5

도메인 관리

Magicgate 계정에 사용자 정의 도메인을 추가하고, DNS 레코드를 구성하고, 도메인 확인을 관리하세요. Cloudflare 통합 및 SSL 인증서 처리가 포함됩니다.

모든 Magicgate 계정은 즉시 사용할 수 있는 공유 도메인(go.magicgate.io)에 액세스할 수 있습니다. Starter 플랜 이상에서는 브랜드 URL에 대한 사용자 정의 도메인을 추가하고 광고 네트워크에 대한 신뢰 신호를 향상시킬 수 있습니다.

맞춤 도메인을 사용하면 공유 도메인 대신 자신의 URL(예: track.yourbrand.com)을 사용할 수 있습니다. 이는 광고 규정 준수에 중요합니다. 많은 광고 네트워크는 공유 추적 도메인보다는 브랜드 도메인에서 들어오는 트래픽에 더 관대합니다.

Magicgate는 하위 도메인(track.yourbrand.com)과 루트 도메인(yourbrand.com)을 모두 지원합니다. 하위 도메인은 기본 웹 사이트의 DNS 구성을 방해하지 않고 관리하기 쉽기 때문에 권장됩니다.

도메인 확인은 proxy.magicgate.io를 가리키는 CNAME 레코드를 사용합니다. 도메인을 추가할 때 도메인의 CNAME 레코드를 proxy.magicgate.io로 구성합니다. CNAME 레코드를 지원하지 않는 루트 도메인의 경우 대신 proxy.magicgate.io를 가리키는 ALIAS 또는 ANAME 레코드를 사용하세요. Magicgate는 DNS 레코드가 프록시 엔드포인트로 올바르게 확인되는지 확인하여 소유권을 확인합니다.

SSL 인증서는 DNS 전파가 완료된 후 Let's Encrypt를 통해 자동으로 프로비저닝됩니다. Magicgate는 인증서 발급, 갱신, 설치를 담당합니다. 사용자 정의 도메인은 DNS 구성 후 몇 분 내에 유효한 인증서를 사용하여 HTTPS를 통해 트래픽을 제공합니다.

Cloudflare 사용자의 경우 Magicgate를 가리키는 CNAME 레코드에 대해 프록시(주황색 구름)가 비활성화되어 있는지 확인하세요. Cloudflare의 프록시는 트래픽이 Magicgate에 도달하기 전에 차단하여 방문자 평가를 방해할 수 있습니다. 레코드를 'DNS 전용'(회색 구름) 모드로 설정합니다.

Magicgate 마켓플레이스를 통해 직접 도메인을 구매할 수도 있습니다. 이러한 도메인은 사전 구성되어 즉시 사용할 수 있습니다. DNS 설정이나 확인이 필요하지 않습니다. 마켓플레이스는 트래픽 캠페인에 적합한 다양한 깨끗한 도메인을 제공합니다.

단계

  1. 1

    설정 > 도메인으로 이동한 후 '도메인 추가'를 클릭하세요. 맞춤 도메인(예: track.yourbrand.com)을 입력하세요.

  2. 2

    DNS 공급자에 CNAME 레코드를 추가하세요. 이름 = 도메인, 값 = proxy.magicgate.io. 루트 도메인의 경우 공급자가 apex 도메인에서 CNAME을 지원하지 않으면 ALIAS/ANAME을 사용하십시오. DNS 전파에는 최대 24시간이 걸릴 수 있습니다.

  3. 3

    Magicgate 대시보드에서 'DNS 확인'을 클릭하세요. 확인되면 SSL 인증서가 자동으로 프로비저닝됩니다. 도메인 상태가 활성으로 변경됩니다.

Cloudflare를 사용하는 경우 CNAME 레코드를 'DNS 전용'(회색 구름)으로 설정하세요. Cloudflare의 프록시 모드는 트래픽이 Magicgate에 도달하기 전에 차단하여 적절한 방문자 평가를 방해합니다.
SSL 인증서는 DNS 전파 후 자동으로 프로비저닝됩니다. 수동 인증서 업로드가 필요하지 않습니다. 인증서는 만료되기 전에 자동으로 갱신됩니다.
루트 도메인 대신 하위 도메인(track.yourbrand.com)을 사용하세요. 하위 도메인은 구성하기가 더 쉽고 기본 웹사이트에 영향을 주지 않으며 CNAME 레코드를 직접 지원합니다.

코드 예

cURL
# Verify DNS configuration using dig
# Check CNAME record points to Magicgate proxy
dig CNAME track.yourbrand.com +short
# Expected: proxy.magicgate.io.

# Check SSL certificate is provisioned
curl -vI https://track.yourbrand.com 2>&1 | grep "SSL certificate"
# Expected: SSL certificate verify ok
섹션 6

Webhook 구성

교통 상황에 대한 실시간 알림을 받도록 웹후크를 설정하세요. 페이로드 구조, 재시도 로직, 서명 확인 및 이벤트 유형에 대해 알아보세요.

Webhooks Magicgate 계정에서 흐름 변경, 도메인 확인, 결제 업데이트 등 중요한 이벤트가 발생할 때 실시간 HTTP POST 알림을 받을 수 있습니다.

Magicgate는 플로우 이벤트(flow.created, flow.updated, flow.deleted), 도메인 이벤트(domain.added, domain.verified, domain.deleted, domain.registration_failed), 화이트 페이지 이벤트(white_page.ready, white_page.failed, white_page.deleted), 블랙리스트 이벤트(blacklist.created, blacklist.updated, blacklist.deleted), API key 이벤트(apikey.created, apikey.deleted, apikey.activated, apikey.deactivated), 지갑 이벤트(wallet.credited, wallet.debited), 구독 이벤트(subscription.changed, subscription.canceled, subscribe.plan_changed 등), 결제 이벤트(payment.completed, payment.failed), 지원 이벤트(ticket.created, ticket.replied, ticket.resolved, ticket.closed).

각 웹후크 전달에는 X-Webhook-Signature(HMAC-SHA256 16진수 다이제스트), X-Webhook-Timestamp(Unix 타임스탬프) 및 X-Webhook-ID(엔드포인트 식별자)의 세 가지 보안 헤더가 포함됩니다. 서명은 HMAC-SHA256(비밀, 타임스탬프 + '.' + 본문)으로 계산되는 타임스탬프와 본문을 함께 포함하여 변조 및 재생 공격을 모두 방지합니다. 서명을 확인하고 5분보다 오래된 타임스탬프가 있는 요청을 거부해야 합니다. 서명 비밀은 웹후크 엔드포인트를 생성할 때 생성되고 한 번 표시되므로 안전하게 저장하세요.

Magicgate는 실패한 웹훅 전달을 다시 시도합니다. 엔드포인트가 2xx가 아닌 상태 코드를 반환하거나 10초 이내에 응답하지 않으면 전달이 다시 시도됩니다. 모든 재시도가 소진되면 이벤트가 실패로 표시되고 엔드포인트의 실패 횟수가 증가합니다.

Webhook 페이로드는 { id, event, timestamp, data } 구조로 JSON 인코딩됩니다. 'event' 필드에는 이벤트 유형 문자열(예: 'domain.verified')이 포함되고, 'id'는 멱등성을 위한 고유한 전달 ID이고, 'timestamp'는 ISO 8601 날짜/시간이며, 'data'에는 이벤트별 세부정보가 포함됩니다.

계정당 여러 개의 웹후크 엔드포인트를 구성할 수 있으며 각각은 서로 다른 이벤트 유형을 구독합니다. 예를 들어 이를 통해 도메인 이벤트를 배포 파이프라인으로 라우팅하고 청구 이벤트를 회계 시스템으로 라우팅할 수 있습니다.

단계

  1. 1

    Magicgate 대시보드에서 설정 > Webhooks로 이동합니다.

  2. 2

    '엔드포인트 추가'를 클릭하고 웹훅 URL(HTTPS여야 함)을 입력하세요.

  3. 3

    받고 싶은 이벤트 유형(flow.created, domain.verified, payment.completed 등)을 선택하세요.

  4. 4

    생성 후 표시되는 서명 비밀을 복사합니다. 환경 변수에 저장하십시오.

  5. 5

    POST 요청을 수신하고 서명을 확인하는 웹후크 핸들러를 서버에 구현합니다.

  6. 6

    대시보드의 '테스트 이벤트 보내기' 버튼을 사용하여 웹훅을 테스트합니다.

  7. 7

    Webhook 로그 탭에서 전송 상태를 모니터링하여 성공적으로 수신되었는지 확인하세요.

항상 서명 비밀 및 X-Webhook-Timestamp와 함께 HMAC-SHA256을 사용하여 X-Webhook-Signature 헤더를 확인하세요. 서명은 타임스탬프 + '.'를 포함합니다. + 본체는 변조 및 재생 공격을 모두 방지합니다. 확인 없이 웹훅 페이로드를 처리하지 마세요.
멱등성을 위해서는 이벤트 ID 필드를 사용하세요. 웹훅이 재시도되면 동일한 이벤트 ID가 다시 전송됩니다. 중복 처리를 방지하려면 처리된 이벤트 ID를 추적하세요.
Webhook 엔드포인트는 HTTPS을 사용해야 합니다. HTTP 엔드포인트는 구성 중에 거부됩니다. SSL 인증서가 유효하고 자체 서명되지 않았는지 확인하세요.

코드 예

cURL
# Test webhook endpoint manually
# Headers match what Magicgate sends: X-Webhook-Signature, X-Webhook-Timestamp, X-Webhook-ID
TIMESTAMP=$(date +%s)
BODY='{"id":"evt_1234567890","event":"domain.verified","timestamp":"2024-01-15T10:30:00Z","data":{"domain":"track.yourbrand.com"}}'
SECRET="your_webhook_secret"
SIGNATURE=$(echo -n "${TIMESTAMP}.${BODY}" | openssl dgst -sha256 -hmac "$SECRET" | awk '{print $2}')

curl -X POST https://your-server.com/webhooks/magicgate \
  -H "Content-Type: application/json" \
  -H "X-Webhook-Signature: $SIGNATURE" \
  -H "X-Webhook-Timestamp: $TIMESTAMP" \
  -H "X-Webhook-ID: endpoint-uuid-here" \
  -d "$BODY"
섹션 7

청구 및 결제

Magicgate 지갑 기반 청구 모델, 지원되는 결제 제공업체 및 계획 관리를 이해합니다. 대시보드를 통해 구독 및 예금을 관리하세요.

Magicgate는 지갑 기반 과금 모델을 사용합니다. 암호화폐 예금을 통해 지갑에 자금을 추가하면 각 청구 주기마다 지갑 잔액에서 구독이 자동 갱신됩니다. 이를 통해 반복적으로 카드를 청구할 필요가 없으며 지출을 완벽하게 제어할 수 있습니다.

CCPayment, NowPayments 및 TransVoucher의 세 가지 결제 제공업체가 지원됩니다. 각 공급자는 비트코인, 이더리움, USDT, USDC 및 50개 이상의 추가 암호화폐를 지원합니다. 입금을 시작하면 지불 주소와 금액이 생성됩니다. 블록체인이 거래를 확인하면 지갑 잔액이 자동으로 업데이트됩니다.

계획에 따라 월별 확인, 흐름 수, 흐름당 규칙, API 액세스, 사용자 지정 도메인 등 기능 제한이 결정됩니다. 인증 없이 이용 가능한 요금제를 보실 수 있습니다. 업그레이드 또는 다운그레이드는 즉시 적용됩니다. 현재 기간의 미사용 잔액은 일할 계산되어 귀하의 지갑으로 다시 적립됩니다.

구독은 월간 또는 연간일 수 있습니다. 연간 구독에는 할인이 제공됩니다. 언제든지 취소할 수 있습니다. 구독은 현재 청구 기간이 끝날 때까지 활성 상태로 유지됩니다. 취소된 구독을 재개하면 새 구독을 만들지 않고도 복원됩니다.

지갑은 예금, 구독료, 환불, 비례 배분 크레딧 등 모든 거래를 추적합니다. 각 거래에는 이를 원래 이벤트(입금, 구독 갱신, 요금제 변경 등)에 연결하는 참조 유형 및 ID가 포함됩니다.

단계

  1. 1

    공개 /billing/plans 엔드포인트를 사용하여 사용 가능한 요금제를 확인하고 필요에 맞는 요금제를 찾으세요.

  2. 2

    가입하고 대시보드에서 설정 > 청구로 이동하세요.

  3. 3

    지갑에 자금을 추가하세요. '입금'을 클릭하고 결제 제공업체와 암호화폐를 선택한 후 금액을 입력하세요.

  4. 4

    생성된 주소를 이용해 암호화폐 결제를 완료하세요. 블록체인 확인 후 지갑이 업데이트됩니다.

  5. 5

    요금제를 구독하세요. 구독료는 지갑 잔액에서 차감됩니다.

  6. 6

    청구 섹션에서 지갑 잔액과 거래 내역을 모니터링하세요.

  7. 7

    지갑에 다음 갱신을 위한 충분한 자금이 있는지 확인하기 위해 잔액 부족 알림을 설정하세요.

서비스 중단을 방지하려면 지갑 잔액을 계획의 월별 비용보다 높게 유지하세요. 갱신 시 지갑 잔액이 부족한 경우 자금이 추가될 때까지 구독이 일시 중지됩니다.

코드 예

cURL
# List available plans (public -- no auth required)
curl -s https://api.magicgate.io/api/v1/billing/plans | jq '.data'

# Check enabled payment providers (public)
curl -s https://api.magicgate.io/api/v1/billing/providers | jq '.data'
# { "ccpayment": true, "nowpayments": true, "transvoucher": false }
섹션 8

대시보드 사용량

Magicgate 대시보드를 효과적으로 탐색하세요. 분석 보기, 흐름 관리, 설정 패널 및 트래픽 필터링을 실시간으로 모니터링하는 방법을 이해하세요.

Magicgate 대시보드는 트래픽 흐름 관리, 분석 모니터링, 계정 설정 구성을 위한 중앙 제어판입니다. 로그인하면 계정의 주요 지표 요약을 보여주는 개요 페이지가 나타납니다.

개요 페이지에는 처리된 총 검사 수, 판정 분포(제안 및 화이트), 활성 흐름 및 최근 활동이 표시됩니다. 시계열 차트는 지난 24시간, 7일 또는 30일 동안의 트래픽 양을 보여줍니다. 이를 통해 트래픽 상태와 필터링 효율성을 즉시 확인할 수 있습니다.

흐름 섹션에서는 트래픽 흐름을 생성하고 관리합니다. 각 흐름은 필터 세트, 제안 페이지 URL, 화이트 페이지 URL 및 통합 설정(API Mode 또는 Direct Mode) 등 고유한 필터링 구성을 나타냅니다. 다양한 캠페인, 랜딩 페이지 또는 트래픽 소스에 대해 여러 흐름을 가질 수 있습니다.

각 흐름의 세부 정보 보기 내에서 총 확인 수, 판정 분석, 필터 적중률, 지리적 분포, 상위 추천자 등 흐름별 분석을 볼 수 있습니다. 이 세부적인 데이터는 각 특정 캠페인에 대한 필터 설정을 최적화하는 데 도움이 됩니다.

분석 섹션은 모든 흐름에 대한 포괄적인 보기를 제공합니다. 차트에는 시간 경과에 따른 판정 추세, 필터 효과(가장 자주 실행되는 필터), 트래픽 출처, 장치 및 브라우저 분석, 시간별 트래픽 패턴을 보여주는 지리적 히트맵이 포함됩니다. 모든 차트는 기간 필터링과 흐름별 필터링을 지원합니다.

도메인 섹션에는 구성된 모든 도메인(공유 및 사용자 정의)이 나열됩니다. 각 도메인에 대해 해당 상태(활성, 확인 보류 중, DNS 오류), SSL 인증서 상태 및 관련 흐름을 볼 수 있습니다. 도메인 상태 확인은 자동으로 실행되며 DNS 또는 SSL 문제가 감지되면 알려줍니다.

설정 섹션에는 계정 전체 구성이 포함되어 있습니다. API 키: 선택적 만료 날짜가 있는 API key를 생성하고 관리합니다. Webhooks: 웹훅 엔드포인트를 구성하고 전송 로그를 봅니다. 제공업체: 결제 및 DNS 제공업체를 추가하고 관리합니다. 청구: 지갑 잔액, 충전 내역, 구독 상태를 확인하세요. 팀: 역할 기반 액세스(사용자, 관리자)로 팀 구성원을 초대합니다.

대시보드는 밝은 테마와 어두운 테마를 모두 지원하며 오른쪽 상단에 테마 토글이 있습니다. 모든 페이지는 반응형이며 모바일 장치에서 작동하지만 데스크톱 환경은 가장 포괄적인 데이터 보기를 제공합니다.

분석 데이터는 무료 플랜의 경우 90일, 유료 플랜의 경우 365일 동안 보관됩니다. 데이터가 보존 기간에서 순환되기 전에 분석 섹션에서 데이터를 CSV 또는 JSON으로 내보냅니다.
두 기간을 비교하려면 Analytics의 '비교' 기능을 사용하십시오. 이는 트래픽 패턴 전후를 비교하여 필터 구성 변경의 영향을 측정하는 데 유용합니다.
API key는 계정의 트래픽 확인 기능에 대한 전체 액세스 권한을 부여합니다. 비밀번호처럼 취급하십시오. 버전 제어에 커밋하지 말고, 환경 변수를 사용하고, 주기적으로 교체하십시오.