機能 / 配る
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 で受け取れます |
| GraphQL | POST /api/v1/graphql。1 回に返すエントリーは、参照の先を含めて 1,000 件まで |
| 呼び出しの回数 | 数えません。プランの上限は転送量です |
詳しくはドキュメントの「Content API のリファレンス」に書いています。
関連する機能とやり方
- 型と OpenAPI
- Webhook
- 下書きと公開
- やり方:ドキュメントの「エントリーを取り出す(一覧、1 件、シングル)」
無料で始める
フリーのプランで、すべての機能を試せます。カードは要りません。