* 開発者向けAPI [#h0a4a034] #contents ** 概要と注意事項 [#l0805fa7] - kukuluLIVE の開発者向けAPIは実験的に提供されているものです。&br; - 予告なく変更や廃止したり、制限を課す場合がありますのでご了承ください。&br; - 認証が必要なAPIを利用するAPIキーは[[このリンク>https://live.erinn.biz/login.php?action=getAPIKey]]から生成できます。 - 従来より内部で使用しているものも含まれるため、このドキュメントに記載のないレスポンスパラメータが返るものがありますが、維持が保証されないため使用は非推奨です。 ** 放送中の配信一覧を取得 [#qb6815f6] *** リクエストフォーマット [#f10ebbe7] https://live.erinn.biz/api/?category=live - category: live - (認証なし) *** レスポンスフォーマット [#r26ee6a6] - フォーマット: JSON - エンコード: UTF8 #html{{ <pre> { "live": [ { "hash": 配信番号, "_id": 配信者識別番号, "broadcaster_language": "配信者言語", "broadcaster_locale": "配信者接続国", "created_at": "放送開始日時", "created_at_unix": 放送開始日時のUNIXタイム, "name": "配信者の名前@アカウントタイプ", "display_name": "配信者の名前表示", "game": "プレイ中のゲーム", "game_category": "プレイ中のゲームのカテゴリ", "games": [ "配信でプレイしたゲームの一覧", ... ], "language": "配信のデフォルト言語", "logo": "配信者のサムネイル", "title": "配信のタイトル", "description": "配信の説明", "updated_at": "最後のプッシュ接続日時", "updated_at_unix": 最後のプッシュ接続日時のUNIXタイム, "url": "配信視聴URL", "video_banner": "配信映像のサムネイル画像URL", "viewers": 現在の視聴者数, "viewers_max": 瞬間最大視聴者数, "views": 累積訪問者数, "comments": コメント数, "partner_hash": 共同配信の場合の配信番号(ない場合は0) }, { ... } ], "_total": 生放送中の配信の数, "success": 取得成功の場合は1, "error": エラーの場合はエラー番号 } </pre> }} *** レスポンスサンプル [#ld0b0cfe] #html{{ <pre> { "live": [ { "hash": 4566456456543, "_id": 9930, "broadcaster_language": "JP", "broadcaster_locale": "JP", "created_at": "2019-07-27 12:42:58", "created_at_unix": 1564198978, "name": "kukusama@Twitter", "display_name": "kukusama", "game": "", "game_category": "", "games": [ ], "language": "JP", "logo": "https://live.erinn.biz/reguser/noimage.jpeg", "title": "初配信です", "description": "人生初心者ですがよろしくお願いします", "updated_at": "2019-07-27 12:45:19", "updated_at_unix": 1564199119, "url": "https://live.erinn.biz/live.php?h0", "video_banner": "https://live.erinn.biz/live.capture.view.php?hash=0", "viewers": 141, "viewers_max": 216, "views": 231, "comments": 855, "partner_hash": 0 }, { "hash": 4566456456544, "_id": 9931, "broadcaster_language": "JP", "broadcaster_locale": "JP", "created_at": "2019-07-27 12:38:30", "created_at_unix": 1564198710, "name": "くくさま", "display_name": "くくさまりゆ", "game": "マビノギ", "game_category": "MMO", "games": [ "マビノギ", "ぷーさんのホームランダービー", "Minecraft" ], "language": "JP", "logo": "https://live.erinn.biz/reguser/noimage.jpeg", "title": "ウィズエリートTA", "description": "目指せ24時間切り", "updated_at": "2019-07-27 12:39:27", "updated_at_unix": 1564198767, "url": "https://live.erinn.biz/live.php?h0", "video_banner": "https://live.erinn.biz/live.capture.view.php?hash=0", "viewers": 542, "viewers_max": 952, "views": 3126, "comments": 1252, "partner_hash": 0 } ], "_total": 2, "success": 1, "error": 0 } </pre> }} ** 放送枠の取得 [#l71156d7] *** リクエストフォーマット [#f10ebbe7] https://live.erinn.biz/api/?category=mylive&type=port_get&apikey={APIKEY}&eula=1&withrec={0|1} - category: mylive - type: port_get - apikey: 自身のkukuluIDのAPIキー ([[こちらから取得>https://live.erinn.biz/login.php?action=getAPIKey]]) - eula: 1 (=すべてのルールに同意したとみなします) - withrec: 1 (=録画あり放送枠), 0 (=録画なし放送枠) *** レスポンスフォーマット [#r26ee6a6] - フォーマット: JSON - エンコード: UTF8 #html{{ <pre> { "success": 成功した場合は1, "error": エラーの場合はエラー番号, "error_display": "エラーの詳細情報(ある場合)" } </pre> }} *** レスポンスサンプル [#ld0b0cfe] #html{{ <pre> { "success": 1, "error": 0 } </pre> }} ** 自分の配信の放送枠情報を取得 [#q99ba63f] 放送枠の取得状態や放送番号、プッシュ接続状態等を取得できます。&br; *** リクエストフォーマット [#f10ebbe7] https://live.erinn.biz/api/?category=mylive&type=port_info&apikey={APIKEY} - category: mylive - type: port_info - apikey: 自身のkukuluIDのAPIキー ([[こちらから取得>https://live.erinn.biz/login.php?action=getAPIKey]]) *** レスポンスフォーマット [#r26ee6a6] - フォーマット: JSON - エンコード: UTF8 #html{{ <pre> { "success": 成功した場合は1, "error": エラーの場合はエラー番号, "error_display": "エラーの詳細情報(ある場合)" "mylive": 放送枠取得時は1、未取得時は0, "status": 準備中は1、公開放送中は2、非公開放送中は3, "connect": プッシュ未接続は0、プッシュ接続中は1, "hash": 配信番号, "livepriv": 録画あり放送枠は10、録画なし放送枠は11, "serveraddr": "RTMP接続先", "streamname": "RTMPストリームキー", "socketaddr": "チャットサーバアドレス", "socketport": チャットサーバポート番号, "livetitle": "配信のタイトル", "livecomment": "配信の説明", "liveuser_image": "配信者サムネイル", "getport_from_pc": パソコン用放送枠の場合は1、スマホ向け放送枠の場合は1, "liveowner_key": "配信者認証キー(チャットサーバで使用)" } </pre> }} *** レスポンスサンプル [#ld0b0cfe] #html{{ <pre> { "success": 1, "mylive": 1, "status": 1, "connect": 0, "hash": 98797645345222, "livepriv": 10, "serveraddr": "rtmp://pushlive-edge-000-00-000-00.erinn.biz:11935/live/", "streamname": "h98797645345222_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "socketaddr": "livec2.kukulu.erinn.biz", "socketport": 6862225, "livetitle": "初配信です", "livecomment": "人生初心者ですが優しくしてください", "liveuser_image": "https://kukulu.erinn.biz/reguser/noimage.jpeg", "getport_from_pc": 1, "liveowner_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } </pre> }} ** 自分の配信の設定を変更 [#h4df20ed] 配信のタイトルや説明を変更できます。&br; *** リクエストフォーマット [#f10ebbe7] https://live.erinn.biz/api/?category=mylive&type=port_modify&apikey={APIKEY}&title={TITLE}&description={DESCRIPTION} - category: mylive - type: port_modify - apikey: 自身のkukuluIDのAPIキー ([[こちらから取得>https://live.erinn.biz/login.php?action=getAPIKey]]) - title: 配信のタイトル - description: 配信の説明 *** レスポンスフォーマット [#r26ee6a6] - フォーマット: JSON - エンコード: UTF8 #html{{ <pre> { "success": 成功した場合は1, "error": エラーの場合はエラー番号, "error_display": "エラーの詳細情報(ある場合)" } </pre> }} *** レスポンスサンプル [#ld0b0cfe] #html{{ <pre> { "success": 1, "error": 0 } </pre> }} ** 自分の配信の放送状態の変更や放送枠の返上 [#a21633bb] プッシュ接続完了後に公開放送または非公開放送にできます。&br; 放送枠を返上して配信を終わることもできます。&br; 公開放送はkukuluLIVEのトップページに表示されます。非公開放送はトップページには表示されませんがプロフィールページには表示されます。&br; *** リクエストフォーマット [#f10ebbe7] https://live.erinn.biz/api/?category=mylive&type=port_status&apikey={APIKEY}&status={0|1|2} - category: mylive - type: port_modify - apikey: 自身のkukuluIDのAPIキー ([[こちらから取得>https://live.erinn.biz/login.php?action=getAPIKey]]) - status: 0 (=放送枠の返上), 1 (=公開放送の開始), 2 (=非公開放送の開始) *** レスポンスフォーマット [#r26ee6a6] - フォーマット: JSON - エンコード: UTF8 #html{{ <pre> { "success": 成功した場合は1, "error": エラーの場合はエラー番号, "error_display": "エラーの詳細情報(ある場合)" } </pre> }} *** レスポンスサンプル [#ld0b0cfe] #html{{ <pre> { "success": 1, "error": 0 } </pre> }} ** 自分の配信のコメントを取得 [#r11023d6] 自身の配信のコメントを全て取得したり、最新のもののみを取得したりすることができます。&br; [[kukuluLIVE Coffretソフトウェアの外部転送機能>kukuluLIVE Coffret#tfaba290]]を使うほうが楽な場合もありますので最適な実装を選択してください。&br; *** リクエストフォーマット [#f10ebbe7] https://live.erinn.biz/api/?category=comment&type=list&apikey={APIKEY}&hash={LIVE_NUMBER}&cnum={COMMENT_ID} - category: comment - type: list - apikey: 自身のkukuluIDのAPIキー ([[こちらから取得>https://live.erinn.biz/login.php?action=getAPIKey]]) - hash: 自身の配信番号 - cnum: 最新コメントのみを取得する場合は既に取得した最後のコメントID(任意) *** レスポンスフォーマット [#r26ee6a6] - フォーマット: JSON - エンコード: UTF8 #html{{ <pre> { "success": 成功した場合は1, "error": エラーの場合はエラー番号, "error_display": "エラーの詳細情報(ある場合)" "comments": [ { "type": "データ種別", "cnum": コメントID, "from": "投稿種別またはマーカー(空白=一般, master=配信者, partner=共同配信者, #XXXXXX=マーカー色, admin=管理者告知)", "date": "投稿時間(HH:MM)", "message": "コメント本文", "ipid": "配信ごとの視聴者ユニークID", "url": "リンク先URL", "icon_num": "コテハン番号", "icon_name": "コテハンの名前@アカウント種別", "time": 投稿時間のUNIXタイム, "number": コメント番号, "link_number": "レス先のコメント番号", "flag_first": 配信ごとの初コメフラグ(1=初コメ, それ以外=初コメではない), "language": "日本語以外の場合のみコメントの言語(EN等)" }, { ... } ], "_total": コメント数 } </pre> }} *** レスポンスサンプル [#ld0b0cfe] #html{{ <pre> { "success": 1, "error": 0, "comments": [ { "type": "comment", "cnum": 59176067, "from": "", "date": "18:32", "message": "1: やふーじゃぱん https://kuku.lu/s3/", "ipid": "fc6be1", "url": "https://kuku.lu/s3/", "icon_num": "", "icon_name": "", "time": 1564219964, "number": 1, "link_number": "", "flag_first": "", "language": "" }, { "type": "comment", "cnum": 59176070, "from": "", "date": "18:32", "message": "2: ほげほげ", "ipid": "fc6be1", "url": "", "icon_num": "", "icon_name": "", "time": 1564219967, "number": 2, "link_number": "", "flag_first": "", "language": "" }, { "type": "comment", "cnum": 59176078, "from": "master", "date": "18:32", "message": "3: てすとてすと", "ipid": "", "url": "", "icon_num": 1, "icon_name": "くくさまりゆ@Twitter", "time": 1564219973, "number": 3, "link_number": "", "flag_first": "", "language": "" } ], "_total": 3 } </pre> }}