機能 / 配る

REST と GraphQL

公開したエントリーを REST と GraphQL で取り出せます。式で絞り込み、並べ替え、参照の先も一緒に取れます。

REST
curl -G https://<ホスト名>.hakocms.net/api/v1/content/posts \
  -H "Authorization: Bearer <API キー>" \
  --data-urlencode 'where=title contains "Rust"'

こんなときに

  • Next.js や Astro のサイトに、お知らせの一覧を出したいとき
  • 製品のうち、決まった価格より安いものだけを出したいとき
  • サイトの中の検索を外部の検索サービスなしで作りたいとき

開発者から見ると

GraphQL のスキーマはコンテンツタイプから自動で作られます。下書きの取得(preview: true)と全文検索も使えます。

GraphQL
curl https://<ホスト名>.hakocms.net/api/v1/graphql \
  -H "Authorization: Bearer <API キー>" \
  -H "Content-Type: application/json" \
  -d '{"query": "{ postsCollection(limit: 2) { total items { title } } }"}'

エントリーの作成、更新、公開、予約は、REST の書き込みで行います。sys.version を渡すと、ほかの人の更新を上書きせずに止めます。

細かい仕様

1 回に取れる件数100 件まで(初めの設定は 20 件)
絞り込み(where)= != < <= > >= contains not contains startsWith in not in exists。and、or、not とかっこで組み合わせます。条件は 30 個まで
参照の展開0〜3 段(初めの設定は 1 段)
全文検索(q)テキスト、テキストエリア、リッチテキストの中を探し、関連の強い順に並べます
リッチテキストJSON(初めの設定)か HTML で受け取れます
GraphQLPOST /api/v1/graphql。1 回に返すエントリーは、参照の先を含めて 1,000 件まで
呼び出しの回数数えません。プランの上限は転送量です

詳しくはドキュメントの「Content API のリファレンス」に書いています。

無料で始める

フリーのプランで、すべての機能を試せます。カードは要りません。