본문으로 이동
PacPikDeveloper
DOCUMENTATION / V1

Pack 공지 연동

외부 서버의 공지를 내 Pack 공식정보 화면으로 연결하세요.

1. 준비

Pack 운영 권한이 있는 계정으로 API 키를 발급합니다. 키는 서버 환경변수 PACPIK_API_KEY에 보관하세요. SOOP·CHZZK 등의 게시판 접근 권한을 대신 발급하는 기능은 아닙니다.

2. 공지 전송

HTTPS 서버에서 Bearer 키로 요청하세요. 브라우저 Origin 요청·세션 쿠키 인증·CORS 호출은 지원하지 않습니다.

POST/api/developer/v1/packs/:packId/notices
curl --request POST 'https://pacpik.com/api/developer/v1/packs/PACK_ID/notices'   --header "Authorization: Bearer $PACPIK_API_KEY"   --header 'Content-Type: application/json'   --data '{"externalId":"notice-001","title":"홈페이지 새 공지","body":"공지 본문입니다.","sourceUrl":"https://your-site.com/notices/001"}'

externalId는 Pack 내에서 고유한 외부 공지 ID(영문·숫자·._:-, 1~120자)입니다. 같은 ID·같은 내용의 재전송은 200 unchanged로 끝나며 공지와 감사 기록을 중복 생성하지 않습니다. 다른 내용이면 409로 거절합니다. 첫 생성은 201과 notice.id·notice.revision·notice.url을 반환합니다.

제목
1~200 Unicode 문자
본문
1~6,000 Unicode 문자 · 일반 텍스트만 표시
원문
공개 HTTPS URL · PacPik에서 자동으로 가져오지 않음
전체 요청
최대 24KiB JSON
전송 속도
계정·Pack당 분당 10회 / 시간당 60회. 키를 바꿔도 초기화되지 않음

3. 수정·철회

생성 응답의 notice.id를 사용해 같은 계정·Pack의 공지만 수정합니다. 원래 externalId는 유지하세요.

PUT /api/developer/v1/packs/PACK_ID/notices/NOTICE_ID
Authorization: Bearer YOUR_KEY
Content-Type: application/json
If-Match: "1"

{"externalId":"notice-001","title":"수정한 제목","body":"수정한 본문","sourceUrl":"https://your-site.com/notices/001"}

DELETE /api/developer/v1/packs/PACK_ID/notices/NOTICE_ID
Authorization: Bearer YOUR_KEY
If-Match: "2"

수정·철회마다 revision이 1 증가합니다. 잘못된 버전은 409, If-Match 누락은 428입니다. 철회한 공지는 공개 목록·상세에서 제외하지만 원본과 변경 이력은 보존합니다. 기존 수집 공식정보나 다른 계정의 공지는 수정하지 않습니다.

응답과 장애 처리

401 키·로그인 확인 · 403 Pack 범위/현재 권한 확인 · 409 버전/외부 ID 충돌 · 413 요청 크기 · 415 JSON 형식 · 429 Retry-After 후 재시도 · 503 일시 사용 불가.

공지 내용은 Pack 운영자가 작성한 것으로 표시합니다. PacPik의 외부 원문 자동 검증·AI 요약 완료라는 표시는 하지 않습니다. 웹훅·댓글/통계 동기화·이미지 업로드는 이 API에 포함되지 않습니다.