← 문서
REST API
대시보드가 하는 일을 API 키로 HTTPS 에서.
인증
설정 → API keys 에서 키를 만들고 Bearer 토큰으로 보내세요. 키는 한 번만 보여 줍니다.
curl https://api.adjoin.dev/v1/me \
-H "Authorization: Bearer adj_live_…"- read
- GET 요청.
- write
- 캠페인·사이트·슬롯 생성과 변경.
- conversions
- 서버 간 전환 엔드포인트만.
키는 관리자가 될 수 없고, 키 발급과 출금 요청은 할 수 없습니다 — 로그인한 사람만 가능합니다.
금액은 항상 micros 정수입니다: 1 USD = 1,000,000.
엔드포인트
- GET /v1/me
- 키의 주인.
- GET /v1/campaigns
- 내 캠페인과 상태·입찰가·예산·지출.
- POST /v1/campaigns
- 캠페인 생성. 심사부터 시작하고, 예산은 선불 잔액에서 확보됩니다.
- POST /v1/campaigns/plan
- 예산을 정하기 전에 시작 입찰가·도달 예측·예약액.
- GET /v1/refunds?campaign_id=cmp_…
- 걸러서 과금하지 않은 클릭과 각 사유.
- POST /v1/conversions/s2s
- 서버에서 전환 확인.
- POST /v1/conversions/s2s/refund
- 반품 기간 안의 주문 되돌리기.
- GET /v1/sites · POST /v1/sites
- 내 사이트, 도메인 등록.
- POST /v1/sites/{site_id}/verify
- 도메인 소유 확인 (DNS TXT·파일·메타 태그).
- GET /v1/placements?site_id= · POST /v1/placements
- 사이트의 슬롯, 슬롯 생성.
- GET /v1/placements/{placement_id}/live
- 최근 24시간 동안 슬롯에 요청이 들어왔는지.
- GET /v1/boost · POST /v1/boost
- Launch Day Boost 상태, 캠페인에 받기.
- GET /v1/credits
- 크로스프로모 크레딧 잔액과 최근 내역.
- GET /v1/segments
- 매체들이 붙인 오디언스 라벨과 7일 페이지뷰(100 이상만). 캠페인 생성 때 target_segments / exclude_segments 에 쓰세요.
캠페인 만들기
pricing_model 은 cpc, cpm, cpa, affiliate, guaranteed, cross_promo(크레딧으로 결제, 현금 예산 없음) 중 하나입니다. 402 는 사용 가능 잔액이 부족하다는 뜻입니다.
curl -X POST https://api.adjoin.dev/v1/campaigns \
-H "Authorization: Bearer adj_live_…" -H "Content-Type: application/json" \
-d '{
"name": "Launch",
"pricing_model": "cpc",
"bid_micros": 300000,
"total_budget_micros": 50000000,
"daily_cap_micros": 5000000,
"target_categories": ["devtools"],
"creatives": [{ "headline": "Ship faster", "body": "…", "cta": "Try it",
"landing_url": "https://myapp.dev", "format": "card" }]
}'서버 간 전환
캠페인의 전환 출처를 s2s 로 바꾼 뒤, conversions 범위 키로 서버에서 주문을 확인하세요. 그 캠페인은 픽셀로 과금되지 않으므로 한 주문이 두 경로로 과금되지 않습니다. 클릭 후 7일까지 확인할 수 있습니다.
# the ad click lands on https://myapp.dev/?aj_t=… — keep aj_t with the order
curl -X POST https://api.adjoin.dev/v1/conversions/s2s \
-H "Authorization: Bearer adj_live_…" -H "Content-Type: application/json" \
-d '{ "click_token": "<aj_t>", "order_id": "order_1234", "value_micros": 29000000 }'
# a return or cancellation, inside the return window
curl -X POST https://api.adjoin.dev/v1/conversions/s2s/refund \
-H "Authorization: Bearer adj_live_…" -H "Content-Type: application/json" \
-d '{ "campaign_id": "cmp_…", "order_id": "order_1234" }'오류
오류는 detail 필드가 있는 JSON 입니다. 401: 키가 없거나 틀림. 403: 범위 부족. 다른 계정의 객체도 404 로 답해 존재 여부를 알려 주지 않습니다.