ホーム / 製品 / API / HTTP 勤怠 API
API

HTTP 勤怠 API

勤怠を生成するあらゆるクライアントのための、単一の HTTPS 受け口。HTTP 勤怠 API は、デバイスのシリアル番号とトークンで認証し、認識された打刻を、すべての Cams ネイティブエンジンと同じ保存・お客様へのプッシュのパイプラインに流し込みます。

概要

あらゆるクライアントからの打刻、ハートビート、サブスクリプション確認を取り込む、デバイス非依存の HTTPS 窓口です。

HTTP 勤怠 API は、/api/attendance/v1/{op} のパスにある、デバイス非依存の窓口です。リクエストごとに、デバイスのシリアル番号(sn)と auth-token ヘッダーで認証し、取り込みを行います。punch(認識された勤怠イベント 1 件)、heartbeat(デバイスの稼働確認)、validity(サブスクリプションの確認)、config を公開しています。打刻は共有パイプラインに流れ込み、ネイティブの HTTP、TCP、MQTT トランスポートと同じ保存と、お客様のサーバーへのプッシュが行われるため、勤怠がどの経路で届いても、連携の動作は一貫します。

APIRESTHTTPSJSONC++
POST /api/attendance/v1/punch
curl https://api.camsbiometrics.com/api/attendance/v1/punch \
  -H "sn: SN7A2300583" -H "auth-token: $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "user_id":"1001", "att_time":"2026-06-21 09:30:00",
        "att_state":1, "input_type":50 }'
# -> 200 {"ok":true}

機能

できること

打刻の取り込み

認識された勤怠イベント 1 件を、ユーザー、タイムスタンプ、IN/OUT の状態、入力タイプ、任意の位置情報とともに POST します。

稼働状況の報告

ボディなしでハートビートを送信し、デバイスをオンラインとして記録します。

有効性の確認

データを送信する前に、デバイスの勤怠サブスクリプションが有効かどうかを照会します。

統合パイプライン

すべての打刻は、ネイティブの TCP や MQTT の取り込みと同じ保存・プッシュの経路に届きます。

特長

すべて含まれています

  • エッジ、アプリ、Web、ハイブリッドの各クライアントのための、/api/attendance/v1/{op} にある単一の HTTPS 受け口
  • ヘッダーベースの認証: デバイスのシリアル番号(sn)と auth-token、サブスクリプションによるゲート付き
  • punch エンドポイントが、認識された勤怠イベント(ユーザー、時刻、IN/OUT、入力タイプ、任意のジオロケーション)を取り込みます
  • heartbeat エンドポイントが、稼働状況の追跡のためにデバイスをオンラインとして記録します
  • validity エンドポイントが、クライアントがデータを送信する前に、最新のサブスクリプション状態を返します
  • 共有パイプライン: ネイティブエンジンと同一の保存と、お客様のサーバーへのプッシュ
  • シリアル番号の欠落、不明なデバイス、無効なトークン、非アクティブなサブスクリプションに対する、一貫した JSON エラー仕様
  • nginx を前段に配置し、ボディサイズの上限とレート制限を設定

HTTP 勤怠 API で構築する

キーを取得し、ドキュメントを読んで、リリースしましょう。最初の連携は私たちのチームがサポートします。

よくある質問

よくある質問

HTTP 勤怠 API は何をしますか?

認識された勤怠の打刻、ハートビート、サブスクリプション確認を受け付け、デバイスのシリアル番号とトークンで認証して、Cams の共有勤怠パイプラインに流し込む、デバイス非依存の窓口です。

リクエストはどのように認証されますか?

すべてのリクエストには、デバイスのシリアル番号(sn)ヘッダーと auth-token ヘッダーを付与し、どちらも有効である必要があります。生体認証のエンドポイントでは、さらに有効な勤怠サブスクリプションが必要です。

HTTP 経由の勤怠は、デバイスからの勤怠と同じように扱われますか?

はい。打刻は、ネイティブの HTTP、TCP、MQTT エンジンが使う同じパイプラインに流れ込むため、トランスポートにかかわらず、保存と下流へのプッシュは同一です。

関連情報

プラットフォームをもっと見る