A

A

스프링노트

스프링노트 API 문서 페이지에 오신 것을 환영합니다.

API 안내

스프링노트 API는 HTTPS 프로토콜을 지원하며, REST 방식을 따르고 있습니다.

요청

API 요청을 할 때는 아래 내용이 중요합니다.

  • 인증이 필요합니다.
  • 요청과 응답의 메시지 형식은 XMLJSON입니다.

    • 이를 지정하기 위해, 아래 리소스 URL 뒤에 .xml 또는 .json을 붙입니다. (반드시 붙여야 하며, 그렇지 않으면 API 호출로 인정되지 않습니다.)
    • 요청과 응답의 형식은 일치합니다. 즉, XML로 요청하면 XML로 응답합니다.
  • 요청 메시지는 3가지 방법으로 전달할 수 있습니다.

    • HTTP 요청 파라미터에 메시지 형식을 파라미터 이름으로 하여 메시지를 넣습니다. 파라미터 값은 물론 URL 인코딩해야 합니다. 이 때 파라미터명은 리소스명[속성명]으로 적어줍니다(추천).

      • 예) .../pages.xml?page[title]=NewPage&page[source]=test&page[relation_is_part_of]=1
    • HTTP 요청 파라메터에 XML이나 JSON을 직접 포함합니다. 이 때 파라메터명은 xml 또는 json입니다.

      • 예) .../pages.xml?xml=<page><title>NewPage</title>...</page>
    • HTTP 본문(body)에 넣습니다. 이 때 요청 HTTP 호출의 헤더에 Content Type을 정확히 명시해야 합니다. 예를 들어, XML이라면 ContentType이 'application/xml'이어야 하고, JSON이라면 'application/json'이어야 합니다.

요청 URL

  • 리소스 URL은

    • https://api.springnote.com/pages - 페이지 전체

      • 파라미터

        • domain(OPTIONAL) : 검색하고자 하는 스프링노트의 계정 명 
                                    ex> https://api.springnote.com/pages.xml?domain=humbroll => humbroll.springnote.com 접근요청
        • sort(OPTIONAL) : 정렬 기준으로 사용할 필드 정의, identifier | title | relation_is_par_of | date_modified | date_created  중 하나, 각 값들의 의미는 리소스 참고
                                    ex> https://api.springnote.com/pages.xml?sort=date_modified  => 수정된 날짜 기준으로 정렬 요청
        • order(OPTIONAL) : 응답 페이지 정렬 순서, desc | asc 중 하나.
                                    ex> https://api.springnote.com/pages.xml?sort=date_modified&order=desc => 최신 글 요청
        • offset(OPTIONAL) : 응답 페이지 리스트의 offset정의
                                    ex> https://api.springnote.com/pages.xml?sort=date_modified&offset=10 => 최신 글 중 10번째 글부터 요청
        • limit(OPTIONAL) : 응답페이지 리스트의 크기 정의
                                    ex> https://api.springnote.com/pages.xml?sort=date_modified&limit=10 => 최신글 10개만 요청
    • https://api.springnote.com/pages/pid - 특정 페이지, 이때 pid에는 페이지 리소스의 ID(숫자)가 들어가야 합니다.

      • 파라미터

    • https://api.springnote.com/pages/pid/attachments  - 특정 페이지에 속한 첨부 전체.
    • https://api.springnote.com/pages/pid/attachments/aid - 특정 첨부, 이때 aid에는 첨부 리소스의 ID(숫자)가 들어가야 합니다.

 

응답

CRUD 오퍼레이션

마지막으로, CRUD 오퍼레이션에 대한 리소스 대상에는 일정한 제약이 있습니다.

  • Create(HTTP POST)

    • pages와 attachments 가능합니다.
    • 응답 메시지는 생성된 리소스입니다.
    • 첨부(attachments)의 경우 요청 메시지를 XML이나 JSON이 아닌 HTTP의 multipart/form-data 형식으로 보내며 파라미터로는 Filedata에 첨부할 파일 정보와 내용을 넣습니다.
  • Retrieve(HTTP GET)

    • page, pages, attachments, attachment 모두 가능합니다.
    • 응답 메시지는 콜렉션 리소스 (복수) 또는 특정 리소스 (단수)
    • 검색(search)

  • Update(HTTP PUT)

    • page만 가능합니다.
    • 응답 메시지는 업데이트된 내용을 반영한 페이지입니다.
  • Delete(HTTP DELETE)

    • page, attachment 가능합니다.
    • 응답 메시지는 삭제된 리소스의 이전 내용입니다.

대체로 Create는 콜렉션 리소스에 대해서만 부를 수 있는 오퍼레이션입니다.

Retrieve는 콜렉션과 특정 리소스 모두 가능합니다.

Update와 Delete는 특정 리소스에만 가능합니다.

리소스에 대한 자세한 설명은 리소스을 참조하세요.

참고 사이트

스프링노트 API를 사용한 매시업 예제를 보시고 싶으시면 아래 링크들을 참고하세요.

Show/Hide the left navigation
Show/Hide bookmarks

Header

  1. View current page

    openmaru development documentation

loginBar