시작하기
AI에게 맡기기
ChatGPT, Claude, Cursor 같은 AI 도구에 아래 글을 그대로 붙여 넣으면 됩니다. 연결에 필요한 내용은 모두 한 장짜리 설명서에 있습니다.
뉴스옥션 보도자료 주문 API를 우리 시스템에 연결해 줘.
설명서: https://news-auction.com/api/v1/llms.txt (이 문서를 먼저 끝까지 읽고 그대로 따를 것)
API 키는 환경 변수 NEWSAUCTION_API_KEY 에서 읽어.
할 일: 매체 목록과 가격 불러오기, 신청 보내기(client_ref 로 중복 방지), 상태 확인해서 기사 주소 저장하기, 오류 메시지 사용자에게 보여 주기.
키는 AI 대화창에 붙여 넣지 말고 서버 환경 변수에만 넣어 주세요.
- 회원가입·포인트 충전
뉴스옥션에 가입하고 사이트에서 포인트를 충전합니다(무통장 입금). 신청 금액은 이 포인트에서 차감됩니다(1P = 1원, 부가세 별도). API로는 충전이나 카드 결제를 할 수 없습니다. - API 키 만들기
로그인하면 이 페이지에서 바로 받을 수 있습니다. 회사 계정이면 대표 계정으로 받아 주세요. 키는 받을 때 한 번만 보입니다. - 매체 목록 받기
action=media로 신청할 수 있는 매체와 귀사 가격을 받습니다. - 신청하기
action=order로 원고와 매체를 보냅니다. 바로 포인트가 차감되고 신청번호가 돌아옵니다. - 진행 확인
action=status로 송출 여부와 기사 주소를 확인합니다.
인증
모든 요청은 HTTPS 로 보내고, 요청 머리에 발급받은 키를 넣습니다.
Authorization: Bearer na_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
| 항목 | 값 |
|---|---|
| 주소 | https://news-auction.com/api/v1/press.php?action=… |
| 응답 | JSON. 성공 {"ok": true, "data": {…}}, 실패 {"ok": false, "error": {"code", "message"}} |
| 호출 한도 | 키마다 1분에 60번 |
계정·잔액
?action=account계정과 남은 포인트를 알려 줍니다.
{"ok": true, "data": {"member": "company_id", "name": "회사명", "point": 1250000}}
매체 목록
?action=media&category=10 (선택: 소재로 거르기)지금 신청할 수 있는 매체와 귀사 가격입니다. 매체 상태와 가격은 바뀔 수 있으니 신청 전에 새로 받아 쓰는 걸 권합니다.
{"ok": true, "data": {"count": 124, "media": [
{"id": "1558507769", "name": "ABC뉴스", "category_id": "10", "category": "일반", "price": 35000,
"portal": {"naver": true, "daum": true, "google": true},
"named": true, "cp": false, "deadline": "16:00", "avg_time": "02:00"}
]}}
| 칸 | 뜻 |
|---|---|
id | 매체 번호. 신청할 때 씁니다 |
category | 소재(일반·의료·뷰티·창업·부동산·건기식·법률·블록체인 등). 한 번 신청에는 한 소재만 넣습니다 |
price | 귀사 가격(원) |
portal | 노출 포털. 네이버·다음·구글 |
named | 기명 기사(기자 이름이 붙음) 여부 |
cp | CP(포털 뉴스 제휴) 매체 여부 |
deadline | 당일 송출 마감 시각. 지나면 다음 영업일에 처리됩니다 |
avg_time | 평균 소요 시간(시:분) |
신청
?action=orderJSON(Content-Type: application/json)으로 보내거나, 파일을 붙일 때는 multipart 로 보냅니다.
| 칸 | 필수 | 설명 |
|---|---|---|
client_ref | 예 | 귀사 주문번호(영문·숫자·._:-, 64자 이내). 같은 값으로 다시 보내면 새로 만들지 않고 처음 결과를 돌려줍니다. 네트워크 오류로 다시 보내도 두 번 차감되지 않습니다 |
title | 예 | 기사 제목(200자 이내) |
content | 예 | 본문(텍스트 또는 HTML, 50자 이상). HTML 은 줄바꿈만 살리고 태그는 지웁니다 |
media | 예 | 매체 번호 배열(최대 20곳, 같은 소재끼리) |
keywords | 키워드 배열. 첫 번째가 대표 키워드 | |
comment | 요청사항(담당자·언론사에 전할 말) | |
reserve_at | 예약 송출 시각 YYYY-MM-DD HH:MM. 비우면 바로 진행 | |
images | 기사 이미지 주소 배열(최대 2장, jpg·png·gif·webp, 10MB 이하). multipart 면 파일 images[] | |
source | multipart 원문 파일 1개(hwp·hwpx·doc·docx·pdf·txt) |
curl -X POST 'https://news-auction.com/api/v1/press.php?action=order' \ -H 'Authorization: Bearer na_...' \ -H 'Content-Type: application/json' \ -d '{ "client_ref": "PK-20261019-001", "title": "기사 제목", "content": "본문 ...", "media": ["1558507769", "1589249255"], "keywords": ["대표키워드", "보조키워드"], "images": ["https://example.com/photo.jpg"] }'const res = await fetch('https://news-auction.com/api/v1/press.php?action=order', { method: 'POST', headers: { 'Authorization': 'Bearer ' + process.env.NEWSAUCTION_KEY, 'Content-Type': 'application/json' }, body: JSON.stringify({ client_ref: 'PK-20261019-001', title: '기사 제목', content: '본문 ...', media: ['1558507769', '1589249255'], keywords: ['대표키워드', '보조키워드'], }), }); const json = await res.json(); if (!json.ok) throw new Error(json.error.code + ': ' + json.error.message); console.log(json.data.order_ids, json.data.total);$ch = curl_init('https://news-auction.com/api/v1/press.php?action=order'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('NEWSAUCTION_KEY'), 'Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode([ 'client_ref' => 'PK-20261019-001', 'title' => '기사 제목', 'content' => '본문 ...', 'media' => ['1558507769'], 'keywords' => ['대표키워드'], ], JSON_UNESCAPED_UNICODE), ]); $json = json_decode(curl_exec($ch), true);import os, requests r = requests.post('https://news-auction.com/api/v1/press.php', params={'action': 'order'}, headers={'Authorization': 'Bearer ' + os.environ['NEWSAUCTION_KEY']}, json={'client_ref': 'PK-20261019-001', 'title': '기사 제목', 'content': '본문 ...', 'media': ['1558507769'], 'keywords': ['대표키워드']}) data = r.json()
파일을 붙일 때(multipart)
curl -X POST 'https://news-auction.com/api/v1/press.php?action=order' \
-H 'Authorization: Bearer na_...' \
-F client_ref=PK-20261019-002 -F 'title=기사 제목' -F 'content=본문 ...' \
-F media=1558507769 -F media=1589249255 \
-F 'images[]=@photo1.jpg' -F 'source=@release.hwp'
성공 응답(201)
{"ok": true, "data": {"duplicate": false, "order_ids": ["2610190001", "2610190002"],
"total": 95000, "point_left": 1155000, "deadline_note": ""}}
- 매체마다 신청번호가 하나씩 생깁니다(
order_ids). - 신청 금액(
total)이 바로 포인트에서 차감됩니다. 포인트가 모자라면 아무것도 만들지 않고 거절합니다(402). deadline_note가 있으면 당일 마감이 지나 다음 영업일에 처리된다는 안내입니다.- 같은
client_ref로 다시 보내면"duplicate": true와 처음 신청번호가 돌아옵니다(200).
상태 조회
?action=status&ids=신청번호,… 또는 &refs=귀사주문번호,…{"ok": true, "data": {"orders": [
{"order_id": "2610190001", "media_id": "1558507769", "media": "ABC뉴스",
"status": "published", "status_label": "완료", "price": 35000,
"article_url": "https://...", "ordered_at": "2026-10-19 13:37:06", "reserve": ""}
]}}
| status | 뜻 |
|---|---|
received | 접수됨 |
in_progress | 진행 중(언론사 전달) |
needs_confirm | 귀사 확인 필요(언론사 수정 요청 등). 뉴스옥션 사이트 신청내역에서 확인해 주세요 |
scheduled | 예약 완료 |
published | 송출 완료. article_url 에 기사 주소 |
rejected · canceled · refunded | 반려 · 취소 · 환불 |
한 번에 100건까지 조회됩니다. 진행 알림은 상태 조회로 확인해 주세요. 몇 분에 한 번 정도면 충분합니다.
오류 코드
| HTTP | code | 뜻 · 대처 |
|---|---|---|
| 401 | unauthorized | 키가 없거나 틀렸거나 꺼짐. 키를 확인하고 담당자에게 문의 |
| 402 | point | 포인트 부족. 충전 후 다시 보내기 |
| 422 | client_ref title content media reserve_at images source | 입력 문제. message 에 까닭이 있습니다 |
| 429 | rate_limited | 1분 60번 초과. 잠시 뒤 다시 |
| 403 | member | 키에 연결된 계정을 쓸 수 없음(탈퇴·차단) |
| 404 | not_found | 없는 action |
권장 흐름
- 하루 한 번이나 신청 직전에
media를 받아 매체 번호·가격을 맞춥니다. - 신청 전에
account로 포인트를 확인합니다. order를 보낼 때client_ref에 귀사 주문번호를 넣습니다. 응답을 못 받았으면 같은 값으로 다시 보내면 됩니다.status를 몇 분 간격으로 불러published가 되면article_url을 귀사 고객에게 전달합니다.
자주 묻는 질문
가격은 어떻게 정해지나요?
사이트에서 같은 계정으로 신청할 때와 같은 가격입니다. 매체별 가격은 media 응답의 price 로 확인해 주세요.
API로 결제나 충전도 되나요?
안 됩니다. API 신청은 미리 충전해 둔 포인트에서만 차감되고, 카드 결제나 충전 기능은 없습니다. 포인트 충전은 뉴스옥션 사이트의 포인트 충전(무통장 입금)으로 해 주세요.
반려되면 포인트는 어떻게 되나요?
사이트에서 신청한 것과 같은 규칙으로 처리됩니다. 반려되면 status 가 rejected 로 바뀌고, 대체 매체나 환불은 담당자가 안내드립니다.
직원마다 키를 따로 받을 수 있나요?
아니요. 키는 회사 대표 계정에 하나만 있습니다. 여러 시스템에서 같은 키를 쓰고, 새로 받으면 예전 키는 바로 멈춥니다.
시험해 볼 수 있나요?
실제 신청이 들어가므로 처음에는 저렴한 매체 하나로 시험하고, 담당자에게 시험 건이라고 알려 주시면 취소·환불해 드립니다.
