본문으로 건너뛰기
도움말

홈페이지에 콘텐츠 연동하기

공개한 콘텐츠를 홈페이지에 불러오는 주소, 인증 방법, 요청 예시를 확인하고 복사합니다.

목차

외부 공개한 컬렉션의 콘텐츠는 주소로 불러올 수 있습니다. 홈페이지를 만드는 담당자가 이 주소로 공지사항이나 자주 묻는 질문을 가져오면, 화면에서 콘텐츠를 고칠 때마다 홈페이지 내용도 함께 갱신됩니다. 이 글은 연동에 필요한 정보를 찾고 전달하는 방법을 안내합니다.

시작하기 전에

  • 컬렉션의 외부 공개가 활성화되어 있어야 합니다. 비공개 컬렉션은 연동 주소로 조회되지 않습니다. 설정은 콘텐츠 컬렉션 만들기를 참고합니다.
  • 공개 상태인 콘텐츠만 제공됩니다. 임시 저장 콘텐츠와 예약 시각이 지나지 않은 콘텐츠는 제외됩니다.
  • 공개 키로 요청하려면 요청의 Origin 또는 Referer 헤더가 사이트에 등록된 도메인과 같아야 합니다. 브라우저는 이 헤더를 자동으로 보냅니다. 도메인은 사이트 설정에서 확인합니다.
  • 홈페이지 코드는 개발자가 작성합니다. 개발자에게 이 글의 주소와 인증 방법을 전달합니다.

순서

  1. 사이트 > 사이트 관리 > 콘텐츠 > 외부 연동을 선택합니다. 컬렉션 목록 오른쪽 위 외부 연동 버튼으로도 열 수 있습니다.
  2. 공개한 콘텐츠 영역에서 컬렉션별 가져올 주소를 확인합니다. 주소 복사를 선택하면 복사됩니다. 안내 문구대로 이 주소를 홈페이지 제작 담당자에게 전달합니다.
  3. 개발자에게 필요한 정보는 개발자용 상세를 펼쳐 확인합니다. 인증, 엔드포인트, 요청 예시가 있습니다.
  4. 인증에 사용하는 사이트 키는 사이트 > 설정 > 사이트 설정의 사이트 키 영역에서 복사합니다. 연동에는 공개 키를 사용합니다.
  5. 요청 예시를 복사해 홈페이지 코드에서 사용합니다.

외부 연동 화면. 개발자용 상세에 인증 방법, 엔드포인트, 요청 예시가 표시됩니다.

주소와 인증

항목 내용
콘텐츠 목록 GET https://did.kr/api/v1/cms/{컬렉션}/entries
콘텐츠 1건 GET https://did.kr/api/v1/cms/{컬렉션}/entries/{id}
필드 정보 GET https://did.kr/api/v1/cms/{컬렉션}
인증 요청 헤더에 Authorization: Bearer <공개 키>

{컬렉션}에는 컬렉션의 영문 이름(예: notice)을 입력합니다. 서버나 터미널에서 공개 키로 시험할 때는 -H "Origin: https://등록한도메인"을 함께 보냅니다. 서버에서만 호출한다면 비공개 키로도 조회할 수 있습니다. {id}에는 목록 응답에 있는 콘텐츠의 ulid를 입력합니다. 외부 연동 화면의 주소는 화면에 표시된 도메인을 그대로 사용합니다.

요청 예시

curl -H "Authorization: Bearer <공개 키>" \
"https://did.kr/api/v1/cms/{컬렉션}/entries"

응답에 담기는 정보

  • 목록 응답: collection(영문 이름, 이름, 유형), entries(콘텐츠 배열), meta(page, per_page, total, last_page)
  • 콘텐츠 한 건: ulid, title, is_pinned, published_at, fields(필드의 영문 이름별 값)
  • 쪽수는 page, 한 번에 가져올 개수는 per_page로 정합니다. per_page는 1에서 100까지이며 기본값은 20입니다.
  • 상단 고정한 콘텐츠가 맨 앞에 오고, 나머지는 컬렉션의 기본 정렬을 따릅니다.
  • 단일형 컬렉션의 값은 응답 entries의 첫 번째 항목에 있습니다.

이후에는

  • 공개 상태의 콘텐츠를 등록하거나 수정하면 연동 주소의 응답이 1분 안에 갱신됩니다. 응답은 1분간 캐시됩니다.
  • 컬렉션의 외부 공개를 해제하면 해당 주소는 「컬렉션을 찾을 수 없습니다.」(404)로 응답합니다.
  • 필드를 삭제하면 해당 필드는 응답에서 빠집니다.

안 될 때

증상 원인 해결
401 오류가 납니다 인증 헤더가 없거나 키가 맞지 않습니다 Authorization: Bearer <공개 키> 헤더를 확인합니다. 사이트 설정의 사이트 키에서 공개 키를 다시 복사합니다.
403 오류가 납니다 공개 키 요청의 Origin 또는 Referer가 사이트에 등록된 도메인과 다릅니다. 서버나 터미널 요청에는 이 헤더가 없습니다 사이트 설정에 도메인이 등록되어 있는지 확인합니다. 시험 요청에는 Origin 헤더를 추가합니다.
404 「컬렉션을 찾을 수 없습니다.」가 납니다 외부 공개가 비활성화되어 있거나 영문 이름이 맞지 않습니다 컬렉션 목록에서 「공개」 표시와 영문 이름을 확인합니다.
404 「콘텐츠를 찾을 수 없습니다.」가 납니다 콘텐츠가 공개 상태가 아니거나 id가 맞지 않습니다 콘텐츠가 공개 상태인지 확인하고 목록 응답의 ulid를 사용합니다.
응답이 비어 있습니다 공개 상태의 콘텐츠가 없습니다 콘텐츠를 공개 상태로 등록합니다. 예약 공개는 지정한 시각 뒤에 나타납니다.
콘텐츠를 고쳤는데 홈페이지가 그대로입니다 응답이 1분간 캐시됩니다 1분 뒤 다시 확인합니다.
사이트 키가 노출됐습니다 키가 공개 저장소나 공유 문서에 포함됐습니다 연동에는 공개 키만 사용합니다. 비공개 키가 노출됐다면 고객 지원에 알려 주세요.

관련 글

의견이 접수되었습니다. 감사합니다.

이 글이 도움이 되었나요?

마지막 수정일