Open API

Contiple が提供するヘルプセンターのお知らせ、FAQ、チケット情報など、さまざまな問い合わせ関連情報を Open API を通じてご活用いただけます。


➊ API認証方法

1-1. OPEN API 有効化

  • [サービス管理]→[認証]でOPEN APIを有効にしてください。

  • 有効化すると、サービス Keyが自動生成されます。

    • API の呼び出しおよび送信されるデータの暗号化に使用される認証キーです。

    • API Key変更ボタンをクリックして変更することができます。


1-2. 認証 Header

各リクエストヘッダーに下記の値を必ず設定しなければなりません。

  • 「セキュリティサービス」機能を使用しているサービスの場合、[サービス管理] → [セキュリティ管理] → [スパム管理]メニューで顧客のIPを基準にスパムポリシーを有効化できます。

  • Open APIを通じてチケットを作成する際、リクエストヘッダーにOC-Client-IP値を設定すると、該当IPを基準にスパムかどうかが判断されます。

  • Authorization: Security Keyで生成された認証文字列

  • X-TC-Timestamp: 現在のUTC時間値{newDate().getTime()}

  • OC-Client-IP: 顧客のIPアドレス (設定しない場合、デフォルトのOwner)


1-3. Authorization 文字列の生成方法

① 下記のルールに従って文字列を生成

  • 組織ID(Organization ID)

    • NHN Cloudの組織IDです。[全体管理 > 契約サービス管理 > 組織情報]画面から確認できます。

    • AbcdE1fghIj23K4x のような形式で構成されています。

  • API URI

    • 呼び出す API の URI を入力します。URI にはサービス ID を含める必要があります。

    • 例: /yourService/openapi/v1/ticket.json

  • クエリパラメータ

    • 呼び出す API にクエリパラメータが存在する場合、キー(Key)をアルファベット順に並び替えた後、値(Value)を & 記号で連結します。パラメータが 1 件のみの場合は & 記号を使用せず、パラメータが存在しない場合は省略します。

    • 例:

      • クエリパラメータが page=1&pageSize=10&language=ko の場合、

      • キー(Key)をアルファベット順に並び替え : language=ko&page=1&pageSize=10

      • 値(Value)を & 記号で連結 : ko&1&10

  • タイムスタンプ

    • API をリクエストする時点の Timestamp を適用します。リクエスト Header に送信される X-TC-Timestamp の値と一致している必要があります。

    • 例: 1764031689401

② 文字列の暗号化

  • 生成した文字列を、1-1. Open API 有効化 にて発行された API Key を使用して暗号化し、認証キーを生成します。

  • 暗号化方式には HmacSHA256 を使用します。

認証キーの送信

  • 生成した認証キーを、リクエスト Header の Authorization に設定し、Contiple に送信します。

  • Contiple は、受信した Header および Body の変数値を同一の API Key で暗号化し、Hash 値を比較します。

  • 一致した場合、API は正常に処理され、一致しない場合は エラーコード 400 を返却します。

1-4. JAVA 例題

(1) 一般リクエスト(GET)

(2) 一般リクエスト(POST)

(3) ファイルアップロード

(3) Contiple側の認証方法

  • Contipleの認証に失敗した場合、結果は以下のとおり返却されます。 (Authorization 文字列の暗号化方式が正しいかご確認ください。)

  • 認証失敗のケース

400

  1. Authorization is blank

  2. X-TC-Timestamp is not numeric

  3. X-TC-Timestamp is expired (5分以内有効)

  4. Multipart request but file is null

  5. Authorization is incorrect

403

  1. securityKey is null

  2. clientIp is not allowed


➋ 共通リターン結果

2-1. リターン結果例題


2-2. リターン結果の説明

名称
変数
データタイプ
説明

Header

resultCode

Integer

リターン結果コード:正常時は 200

resultMessage

String

リターン エラーメッセージ

isSuccessful

Boolean

実行結果(成功: true、失敗: false)

Result

contents

JSON

一覧結果内容

content

JSON

詳細結果内容


2-3. リターンコード情報

  • 200 : SUCCESS

  • 400 : Bad Request

  • 403 : Access Denied(Forbidden)

  • 404 : Not Data Found

  • 500 : Server Error

  • 9007 : 関連データが既に存在

  • 9005 : 関連データなし

  • 1001 : お問い合わせの回数が上限を超えています。 しばらくしてからお問い合わせください。

    • [スパム管理] → [スパム問い合わせのブロック] 機能使用時に作動

    • 同一IPで1分以内に3回以上問い合わせを試みた場合、24時間チケットの生成がブロックされます。

  • 1002 : お問い合わせの回数が上限を超えています。 しばらくしてからお問い合わせください。

    • [スパム管理] → [スパム問い合わせのブロック] 機能使用時に作動

    • 同一IPで24時間以内に10回以上問い合わせを試みた場合、24時間チケットの生成がブロックされます。


2-4. リターン コード(失敗) 詳細

400

  1. Authorization is blank

  2. X-TC-Timestamp is not numeric

  3. X-TC-Timestamp is expired (5分以内有効)

  4. Multipart request but file is null

  5. Authorization is incorrect

  6. Invalid parameter

403

  1. securityKey is null

  2. clientIp is not allowed


➌ API 目録

3-1. 開発環境 URL

環境
BaseUrl

Alpha

https://{domain}.oc.alpha-nhncloud.com

Beta

https://{domain}.oc.beta-nhncloud.com

Real

https://{domain}.oc.nhncloud.com


3-2. Security Key URL

Security Key
URL

サービスのSecurity Key

/{serviceId}/openapi/v1/*

認証なしで直接使用可能

/{serviceId}/api/v2/*


3-3. API 目録

グループ
名称
類型
URL
説明

サービス

サービス詳細

GET

/{serviceId}/api/v2/service.json

サービスIDでサービス情報照会

お知らせ

テーマリスト

GET

/{serviceId}/api/v2/notice/categories.json

お知らせテーマリスト取得

タグリスト

GET

/{serviceId}/api/v2/notice/tags.json

お知らせタグリスト取得

お知らせリスト

GET

/{serviceId}/api/v2/notice/list.json

ヘルプセンターお知らせリスト

お知らせ詳細

GET

/{serviceId}/api/v2/notice/detail/{id}.json

お知らせIDでお知らせ内容を取得

お知らせ添付ファイルを開く/ダウンロード

GET

/{serviceId}/api/v2/notice/attachments/{id}

お知らせ添付ファイルを開く/ダウンロード

FAQ

カテゴリーリスト

GET

/{serviceId}/api/v2/helpdoc/categories.json

FAQカテゴリーリスト取得

FAQリスト

GET

/{serviceId}/api/v2/helpdoc/list.json

ヘルプセンターFAQリスト

FAQ詳細

GET

/{serviceId}/api/v2/helpdoc/detail/{id}.json

FAQ IDによりFAQ内容を取得

FAQ添付ファイルを開く/ダウンロード

GET

/{serviceId}/api/v2/helpdoc/attachments/{id}

FAQ添付ファイルを開く/ダウンロード

お問合せ

受付タイプリスト

GET

/{serviceId}/api/v2/ticket/categories.json

サービス内の受付タイプリスト照会

受付タイプフィールドリスト

GET

/{serviceId}/api/v2/ticket/field/user/{categoryId}.json

受付タイプで対応するフィールドリストを確認

チケット添付ファイルアップロード

POST

/{serviceId}/openapi/v1/ticket/attachments/upload.json

サーバーにファイルアップロード

チケット作成

POST

/{serviceId}/openapi/v1/ticket.json

新規チケットの作成

お問合せ履歴

顧客チケットリスト

GET

/{serviceId}/openapi/v1/ticket/enduser/{usercode}/list.json

検索条件により、条件に合った顧客のチケットリストを取得

チケット詳細

GET

/{serviceId}/openapi/v1/ticket/enduser/{usercode}/{ticketId}/detail.json

顧客が受け付けたチケット詳細照会

チケット添付ファイルを開く/ダウンロード

GET

/{serviceId}/api/v2/ticket/attachments/{id}

チケット添付ファイルを開く/ダウンロード

顧客再問合せ

POST

{serviceId}/openapi/v1/ticket/enduser/{usercode}/{ticketId}/comment.json

チケットIDを基準に再お問い合わせ

最終更新