本ドキュメントには、FeliCa HTMLタグ利用ページを作成するための情報を記載しています。
FeliCa HTMLタグ利用してHTMLページを作成すると、FeliCaブラウザエクステンション※1のインストールされたMicrosoft Internet Explorer※2(以降この組み合わせをFBE+IEとよびます)などのFeliCa HTMLタグに対応したWebブラウザを介して、FeliCaカードを利用したサービスを提供することができます。
※1. FeliCaツールバーも含みます。
※2. バージョン6.0または7.0です。
FeliCa HTMLタグとは、HTML文書内にFeliCaカードへのアクセスロジックを記載するためのタグです。
このタグに対応するWebブラウザでは、その内容に基づいてFeliCaカードへのアクセス処理が行われます。
FeliCa HTMLタグを利用して行うFeliCaカードへのアクセス処理は、リンク、フォーム、またはクリッカブルマップに関連付けて定義します。
つまり、"リンクをクリックする"、"フォームを送信する(ボタンを押す)"、"クリッカブルマップをクリックする"といった動作を行うと、FeliCaカードへのアクセスが行われます。
そして、その結果をページ内に展開したり、サーバに送信したりすることができます。
FeliCa HTMLタグはHTML文書に下記のように、記載します。
<body>
FeliCa HTMLタグへの対応に関わらず、すべてのWebブラウザに表示されます
FeliCa HTMLタグに対応した機能が有効の場合には、表示されません
FeliCa HTMLタグとHTMLタグ※が利用できます
※ 記述スタイルに制限があります(詳細は「HTMLファイル作成上の注意」を参照)
FeliCa HTMLタグへの対応に関わらず、すべてのWebブラウザに表示されます
FeliCa HTMLタグは、<span id="FeliCa">〜</span>の中の注釈(<!--〜-->)の中だけでのみ、有効になります。
この部分をFeliCa HTMLタグ記述部とよびます。
つまり、FeliCa HTMLタグに対応しないWebブラウザには影響を与えずに、FeliCa HTMLタグに対応したページコンテンツを作成することができます。
FeliCa HTMLタグ記述部に注釈(<!--〜-->)を記述することはできません。
<span id="FeliCa">〜</span>の中の注釈外の部分は、FeliCa HTMLタグに対応しないWebブラウザに対する内容を記述します。
この部分は、FeliCa HTMLタグに対応したWebブラウザでは表示されません。
一つのHTML文書内に、下記のように複数のFeliCa HTMLタグ記述部を記述することもできます。
<body>
このとき、同じ<span id="FeliCa">〜</span>の中であるならば、複数のFeliCa HTMLタグ記述部の間にまたがって、アクセス対象のデータの共有を行うことができます。
FeliCa HTMLタグには下記の種類のタグがあります。
| 既存のHTMLタグを拡張したもの | |
|---|---|
| <a> | HTMLの<a>と同じ機能を持ちますが、機能が拡張されています。 |
| <area> | HTMLの<area>と同じ機能を持ちますが、機能が拡張されています。 |
| <form> | HTMLの<form>と同じ機能を持ちますが、機能が拡張されています。 |
| <input> | HTMLの<input>と同じ機能を持ちますが、機能が拡張されています。 |
| 新規に定義したもの | |
| <confirm> | 確認ダイアログを表示します。 |
| <pin> | PINの解除を行います。 |
| <polling> | FeliCaカードにポーリングを行います。 |
| <push> | 携帯電話上のアプリケーションにデータを送信します。 |
| <read> | FeliCaカードからのデータを読み込みます。 |
| <result> | FeliCaカードへのアクセス(ポーリング,読み込み)の結果を展開します。 |
| <update> | FeliCaブラウザエクステンションのダウンロード画面への遷移を行います。 |
| <write> | FeliCaカードにデータを書き込みます。 |
タグ名、属性名について、大文字/小文字の区別はありません。
◆説明
<confirm>、<pin>、<polling>、<push>、<read>、または<write>のいずれかをその内部要素として含んだ状態で定義されたリンクをクリックすると、ページ遷移前にその内部に定義されたタグのそれぞれに対応する処理が行われます。
内部要素として、複数のタグによる定義があった場合、記述した順にFeliCaカードへの処理が行われます。
そして、ページ遷移を行う際に、<pin>、<polling>、<read>、または<write>の結果について、サーバに送信させることができます。
また、href属性に"felica:"を指定した場合は、リンクをクリックしてもページの遷移は行われず、内部に定義したFeliCaカードへの処理のみが行われます。
このときの処理結果は<result>、<input>で表示させることができます。
<form>や<area>と一緒に入れ子になっている状態で、<confirm>、<pin>、<polling>、<push>、<read>、および<write>が定義された場合は、直上のタグに対応して処理が行われます。
| 使用例 | <a href="...">ケータイにメッセージを送る<push appli="..." code="...">message</push></a> |
|---|---|
| 包含可能要素 | HTML標準の<a>の許すもの <confirm> <pin> <polling> <push> <read> <write> |
| href=href | リンク先 属性値に"felica:"を指定した場合には、ページ遷移は行われません。 |
|---|---|
| その他 | HTML標準の<a>に準じます。 |
◆説明
<confirm>、<pin>、<polling>、<push>、<read>、または<write>のいずれかをその内部要素としてに含んだ状態で定義されたクリッカブルマップをクリックすると、ページ遷移前にその内部に定義されたタグのそれぞれに対応する処理が行われます。
内部要素として、複数のタグによる定義があった場合、記述した順にFeliCaカードへの処理が行われます。
そして、ページ遷移を行う際に、<pin>、<polling>、<read>、または<write>の結果について、サーバに送信させることができます。
また、href属性に"felica:"を指定した場合は、リンクをクリックしてもページの遷移は行われず、内部に定義したFeliCaカードへの処理のみが行われます。
このときの処理結果は<result>、<input>で表示させることができます。
<a>や<form>と一緒に入れ子になっている状態で、<confirm>、<pin>、<polling>、<push>、<read>、または<write>が定義された場合は、直上のタグに対応して処理が行われます。
| 使用例 | <area shape="..." coords="..." href="..." alt="..."> <push>http://〜</push> </area> |
|---|---|
| 包含可能要素 | <confirm> <pin> <polling> <push> <read> <write> |
| href=href | リンク先 属性値に"felica:"を指定した場合には、ページ遷移は行われません。 |
|---|---|
| その他 | HTML標準の<area>に準じます。 |
◆説明
<confirm>、<pin>、<polling>、<push>、<read>、または<write>のいずれかをその内部要素としてに含んだ状態で定義されたフォームの送信操作が行うと、ページ遷移前にその内部に定義されたタグのそれぞれに対応する、FeliCaカードへの処理が行われます。
複数のタグによる定義があった場合、記述した順にFeliCaカードへの処理が行われます。
そして、ページ遷移を行う際に、<pin>、<polling>、<read>、または<write>の結果について、サーバに送信させることができます。
また、action属性に"felica:"を指定した場合は、リンクをクリックしてもページの遷移は行われず、内部に定義したFeliCaカードへの処理のみが行われます。
このときの処理結果は<result>、<input>で表示させることができます。
<a>や<area>と一緒に入れ子になっている状態で、<confirm>、<pin>、<polling>、<push>、<read>、または<write>が定義された場合は、直上のタグに対応して処理が行われます。
| 使用例 | <form action="..."> <push>http://〜</push> <input type="..." name="..." /> </form> |
|---|---|
| 包含可能要素 | HTML標準の<form>の許すものに下記のタグを加えたもの <confirm> <pin> <polling> <push> <read> <write> |
| action=action | フォーム送信先 属性値に"felica:"を指定した場合には、ページ遷移は行われません。 |
|---|---|
| その他 | HTML標準の<form>に準じます。 |
◆説明
name属性に、同じ<span id="FeliCa">〜</span>に含まれるFeliCa HTMLタグ記述部内の<polling>、または<read>のresult属性と同じ値を指定することで、それらの処理結果をそのフォーム値(value属性の値)として展開し、表示させることができます。
展開するテキストデータの一部の記号文字は、下記のように変換されます
※ブラウザ上の見た目は記号のままです。
- & → &
- < → <
- > → >
また、name属性に、同じ<span id="FeliCa">〜</span>に含まれるFeliCa HTMLタグ記述部内の<pin>または<write>のfrom属性と同じ値を指定することで、それらの処理の元データとしてフォーム値(value属性の値)を使用させることができます。
| 使用例(1) | <form action="..."> <input type="..." name="output" /> </form> ※他の場所で下記のようなタグがあるときに機能します。 <read target="..." result="output" /> |
|---|---|
| 使用例(2) | <form action="..."> <input type="..." name="input" /> </form> ※他の場所で下記のようなタグがあるときに機能します。 <write target="..." from="input" /> |
| 包含可能要素 | なし |
| name=name | 入力フォームのパラメータ名 <polling>または<read>のresult属性に指定した値と同じ値を指定した場合は、その<polling>や<read>の結果が<input>の値(value属性の値)として設定されます。 <pin>または<write>のfrom属性に指定した値と同じ値を指定した場合は、<input>の値(value属性の値)が、<pin>のPINデータとして、または<write>の書き込むデータとして設定されます。 |
|---|---|
| value=value | 入力フォームの値 <polling>または<read>のresult属性に指定した値と同じ値をname属性値として指定した場合、この属性値はその<polling>や<read>の結果に設定されます。 既定値がある場合でも、その対応する<polling>や<read>の結果に更新されます。 <pin>または<write>のfrom属性に指定した値と同じ値をname属性値として指定した場合、この属性値が<pin>のPINデータとして、または<write>の書き込むデータとして設定されます。 |
| その他 | HTML標準の<input>に準じます。 |
◆説明
このタグを含んだ、<a>、<area>、または<form>のそれぞれにて、リンクのクリック、クリッカブルマップのクリック、または
フォームの送信操作を行うと、message属性で指定した確認メッセージが、ダイアログ表示されます。
ダイアログには、確認メッセージのほかに"OK"、"キャンセル"のボタンが表示されます。
ユーザが"OK"を押下した場合は、以降のFeliCa HTMLタグの定義による処理が行われます。
ユーザが"キャンセル"を押下した場合は、以降のFeliCa HTMLタグにて定義された処理が行われずに、リンク、フォーム、またはクリッカブルマップによる画面の遷移が行われます※。
ユーザが確認ダイアログを非表示の設定にしていた場合は、ダイアログは表示されず"OK"を選択した場合と同様に、以降のFeliCa HTMLタグの定義による処理が行われます。
| 使用例 | <a href="..."> <confirm message="..." /> <read .../> </a> |
|---|---|
| 包含可能要素 | なし |
| message=message | 表示されるメッセージ この属性を省略した場合は、ダイアログは表示されません。 |
|---|
◆説明
このタグを含んだ、<a>、<area>、または<form>のそれぞれにて、リンクのクリック、クリッカブルマップのクリック、またはフォームの送信操作を行うと、FeliCaカードへPIN解除のアクセスが行われます。
| 使用例 | <a href="..."> <pin target="..." from="..." name="..." value="..." encoding="...">〜</pin> </a> |
|---|---|
| 包含可能要素 | PINデータを表すテキストデータ(ビッグエンディアン) encoding属性で指定された方式でデコードされ、PIN値としてアクセスが行われます。 4バイトに満たない場合は、上位バイトが0埋めされます。 (値が空の場合は4バイトとも0のPIN値として扱われます) 4バイト以上の値の場合は、先頭の4バイトデータのみが利用されます。 前後の空白は無視されます。 パース不能な文字列が指定された場合は、処理が行われません。 |
| target=target | アクセス対象のターゲットID この属性を省略した場合は、処理が行われません。 |
|---|---|
| from=from | PINデータとして取り込む、同じ<span id="FeliCa">〜</span>に含まれるFeliCa
HTMLタグ記述部内の<input>のname属性の値 <input>の内容(value属性の値)がPINデータを表すテキストデータとして取り込まれます。 PINデータを表すテキストデータの解釈のルールは、このタグの要素部に指定する場合(上記「包含可能要素」を参照)と同じです。 この属性を省略した場合は、このタグの要素がPINデータとして使用されます。 この属性とこのタグの要素の両方を指定した場合は、この属性の設定が有効になります。 この属性で指定した内容に対応する<input>が複数存在する場合は、初出のものが優先になります。 この属性で指定した内容に対応する<input>が見つからなかった場合は、処理が行われません。 |
| name=name | 処理結果をサーバに送信する際の、パラメータ名 処理成功時には、このパラメータの値としてvalue属性で設定した値が送信されます。 処理失敗時には、このパラメータの値として""(空文字列)が送信されます。 この属性を省略した場合、結果に関わらず処理結果は、サーバに送信されません。 |
| value=value | 処理結果をサーバに送信する際の、パラメータ値 name属性の値と組み合わされて、「name=value」の形で送信されます。 この属性を省略した場合、"succeed"が指定されたものとして処理されます。 |
| encoding=encoding | PINデータのエンコーディング方式 "base64"、"binary"、"ascii"が指定できます。 この属性を省略した場合は、"ascii"が指定されたものとして処理されます。 "base64"、"binary"、"ascii"以外が指定された場合は、"ascii"が指定されたものとして処理されます。 |
◆説明
このタグを含んだ、<a>、<area>、または<form>のそれぞれにて、リンクのクリック、クリッカブルマップのクリック、またはフォームの送信操作を行うと、FeliCaカードへポーリングが行われます。
アクセス対象のシステムは、ターゲットID作成時に指定します。
アクセス結果として得られるIDmは、文字列として扱われます。
| 使用例 | <form action="..."> <polling target="..." name="..." result="..." /> </form> |
|---|---|
| 包含可能要素 | なし |
| target=target | アクセス対象のターゲットID この属性を省略した場合は、処理が行われません。 |
|---|---|
| name=name | 取得したIDmをサーバに送信する際の、パラメータ名 処理成功時には、このパラメータの値としてIDmがbinary文字列として送信されます。 処理失敗時には、このパラメータの値として""(空文字列)が送信されます。 この属性を省略した場合、結果に関わらずIDmは、サーバに送信されません。 |
| result=result | アクセス結果を格納する変数 ここで変数に格納した値は、<result>や<input>にて展開し、表示させることができます。 変数名は、<read>とあわせて同じ<span id="FeliCa">〜</span>に含まれるFeliCa HTMLタグ記述部内で一意である必要があります。 対応する<result>や<input>が複数存在する場合は、初出のものが優先されます。 ページ内に結果を展開させない場合は、この属性は必要ありません。 |
◆説明
このタグを含んだ、<a>、<area>、または<form>のそれぞれにて、リンクのクリック、クリッカブルマップのクリック、またはフォームの送信操作を行うと、モバイルFeliCa ICチップ内蔵の携帯電話へデータが送信されます。
この処理を行うためには、携帯電話側に対応するアプリケーションがセットアップされていることが必要です。
また、この処理の結果を、FeliCa HTMLタグ対応Webブラウザ側では確認することができません。
使用した携帯電話側の挙動にて確認してください。
このタグは、<a>、<area>、または<form>の中に複数定義しても、先に処理に成功したものの他は処理が成功しません。
FeliCaカード内蔵の携帯電話は、この処理が終了すると外部 R/W からのアクセスを待つ状態に戻す※1まで、FeliCaカードへのアクセスを受け付けなくなるためです。
続けて処理を行いたい場合は、先の<push>とは別の<a>、<area>、
または<form>の中に定義してください※2。
| ※1 | FeliCa HTMLタグの処理を終了させる、R/Wから携帯電話をはずす、などで行うことができます。 |
| ※2 | クリックなどのユーザアクションも、別に複数回行うことになります。 |
| 使用例 | <a href="..."> <push appli="..." code="...">〜</push> </a> |
|---|---|
| 包含可能要素 | 携帯電話に送信するテキストデータ この値を省略した場合は、""(空文字列)が送信されます。 一部の記号を記述する際には、下記のようにあらかじめ変換を行う必要があります。
|
| appli=appli | 携帯電話上のアプリケーションのURL この属性を省略した場合は、""(空文字列)が指定されたものとして処理されます。 code属性もあわせて省略すると、FeliCa HTMLタグ対応Webブラウザの既定の値※が指定されます。 |
|---|---|
| code=code | 携帯電話上のアプリケーションの起動チェックコード この属性を省略した場合は、""(空文字列)が指定されたものとして処理されます。 code属性もあわせて省略すると、FeliCa HTMLタグ対応Webブラウザの既定の値※が指定されます。 |
| ※ | FBE+IEでは、「かざポン」に対応した値が指定されます。 「かざポン」はフェリカネットワークス株式会社が提供する携帯電話用アプリケーションです。 |
◆説明
このタグを含んだ、<a>、<area>、または<form>のそれぞれにて、リンクのクリック、クリッカブルマップのクリック、またはフォームの送信操作を行うと、FeliCaカードからのデータ読み込みが行われます。
1つのタグで、1つのサービスの最大12ブロックまでのデータ読み込みを指定することができます。
複数のサービスからの読み込み、13ブロック以上のデータの読み込みを行う場合には、このタグを複数使用してください。
アクセス対象のシステム、サービスなどは、ターゲットID作成時に指定します。
ターゲットIDにデータ暗号化を指定した場合は、読み込んだデータの暗号化が行われます。
この暗号化処理については、「読み込み結果データの復号化」を参照してください。
| 使用例 | <a href="..."> <read target="..." name="..." result="..." encoding="..." /> </a> |
|---|---|
| 包含可能要素 | なし |
| target=target | アクセス対象のターゲットID この属性を省略した場合は、処理が行われません。 |
||||||
|---|---|---|---|---|---|---|---|
| name=name | 読み込み結果をサーバに送信する際の、パラメータ名 処理成功時には、このパラメータの値として読み込み結果が送信されます。 処理失敗時には、このパラメータの値として""(空文字列)が送信されます。 この属性を省略した場合、結果に関わらず読み込み結果は、サーバに送信されません。 |
||||||
| result=result | 読み込んだデータを格納する変数 ここで変数に格納した値は、<result>や<input>にて展開し、表示させることができます。 変数名は、<polling>とあわせて同じ<span id="FeliCa">〜</span>に含まれるFeliCa HTMLタグ記述部内で一意である必要があります。 対応する<result>や<input>が複数存在する場合は、初出のものが優先されます。 結果をページ内に展開しない場合は、この属性は必要ありません。 |
||||||
| encoding=encoding | 読み込んだデータを、サーバ送信やページ内展開のためにテキスト形式に直す際のエンコード方式 ターゲットIDでデータ暗号化を指定しなかった場合は、"base64"、"binary"、"ascii"が指定できます。 ターゲットIDでデータ暗号化を指定した場合は、"base64"、"binary"が指定できます。 "ascii"を指定した場合、読み込んだデータ中の「0x00」は、スペースに置換されます。 また、日本語データについてはShift_JISコードとしてデコードされます。※1 この属性を省略した場合は、"ascii"を指定したものとして処理されます。 "base64"、"binary"、"ascii"以外が指定された場合は、"ascii"を指定したものとして処理されます※2。
|
||||||
◆説明
このタグの位置に、<polling>によって取得したIDm、または<read>によって取得したデータが展開されます。
このタグは、このタグを含んだ<a>、<area>、または<form>の遷移先に"felica:"を指定して、ページ遷移を行わせない場合に使用します。
展開するテキストデータの一部の記号文字は、下記のように変換されます
※ ブラウザ上の見た目は記号のままです。
- & → &
- < → <
- > → >
| 使用例 | <result name="..." /> |
|---|---|
| 包含可能要素 | なし |
| name=name | データの格納されている変数名 |
|---|
◆説明
HTML文書の読み込む際に、使用中のFeliCa HTMLタグ対応機能が、このタグで指定されたバージョンより古い場合、そのアップデートを促す処理が行われます。
FBE+IEでは、上記の場合、FeliCaブラウザエクステンションのダウンロードページへ遷移を行うかどうかの、確認ダイアログが表示されます。
このダイアログに対して"OK"を押下すると、WebブラウザはFeliCaブラウザエクステンションのダウンロードページへと遷移し、そのページの内容が表示されます。
"キャンセル"を押下した場合は、このタグ以降のFeliCa HTMLタグによる処理が行われません。
使用中のFeliCa HTMLタグ対応機能が、指定されていたバージョンと等しい、もしくは新しい場合、このタグは無視され、通常通りのFeliCa HTMLタグによる処理が行われます。
このタグを使用する場合は、HTML文書中のFeliCa HTMLタグ記述部の先頭に記述してください。
FeliCa HTMLタグ記述部では、このタグを処理するまでの部分について、バージョンに関わらず処理が行われるためです。
| 使用例 | <update version="..." /> |
|---|---|
| 包含可能要素 | なし |
| version=version | バージョンを示す文字列 [上位バージョン値(10進表記).下位バージョン値(10進表記)] この属性を省略した場合は、処理が行われません。 バージョン値として不正な文字列が指定されていた場合は、処理が行われません。 |
|---|
◆説明
このタグを含んだ、<a>、<area>、または<form>のそれぞれにて、リンクのクリック、クリッカブルマップのクリック、またはフォームの送信操作を行うと、FeliCaカードへデータが書き込まれます。
1つのタグで、1つのサービスに最大8ブロックまでのデータ書き込みを指定することができます。
複数のサービスへの書き込み、9ブロック以上のデータの書き込みを行う場合には、このタグを複数使用してください※。
※ この場合、複数の<write>の間でのトランザクションは保障されません。
アクセス対象のシステム、サービスなどは、ターゲットID作成時に指定します。
ターゲットIDにデータ暗号化を指定した場合は、書き込む前に対象データの復号化が行われます。
この暗号化処理については、「書き込み対象データの暗号化」を参照してください。
また、ターゲットIDにドメイン指定もした場合は、書き込み対象データに指定されたドメイン値とページデータ送信元のアドレスを比較して、正しいページ作者が作成したデータかどうかの検証が行われます。
そして、この検証の結果が正しい場合は、書き込みが行われます。
また、正しくない場合は、処理が行われません。
| 使用例 | <area href="..."
shape="..." coords="..." alt="..."> <write target="..." from="..." name="..." value="..." encoding="...">〜</write> </area> |
|---|---|
| 包含可能要素 | 書き込むデータを表すテキストデータ(ビッグエンディアン) encoding属性で指定された方式でデコードされ、書き込むデータとしてアクセスが行われます。 ターゲットIDで指定されたブロック数に満たない場合は、下位バイトが0埋めされます。 前後の空白は無視されます。 パース不能な文字列が指定された場合は、処理が行われません。 文字列が存在しない場合は、処理が行われません。 ターゲットIDで指定されたブロック数以上の値の場合は、処理が行われません。 |
| target=target | アクセス対象のターゲットID この属性を省略した場合は、処理が行われません。 |
|---|---|
| from=from | 書き込むデータとして取り込む、同じ<span id="FeliCa">〜</span>に含まれるFeliCa
HTMLタグ記述部内の<input>のname属性の値 <input>の内容(value属性の値)が書き込むデータとして取り込まれます。 書き込むデータの解釈のルールは、このタグの要素部に指定する場合(上記「包含可能要素」を参照)と同じです。 この属性を省略した場合は、このタグの要素が書き込むデータとして使用されます。 この属性とこのタグの要素の両方を指定した場合は、この属性の設定が有効になります。 この属性で指定した内容に対応する<input>が複数存在する場合は、初出のものが優先になります。 この属性で指定した内容に対応する<input>が見つからなかった場合は、処理が行われません。 |
| name=name | 書き込み結果をサーバに送信する際の、パラメータ名 処理成功時には、このパラメータの値としてvalue属性で設定した値が送信されます。 処理失敗時には、このパラメータの値として""(空文字列)が送信されます。 この属性を省略した場合、結果に関わらず書き込み結果は、サーバに送信されません。 |
| value=value | 書き込み結果をサーバに送信する際の、パラメータ値 name属性の値と組み合わされて、「name=value」の形で送信されます。 この属性を省略した場合、"succeed"が指定されたものとして処理します。 |
| encoding=encoding | テキスト形式で指定されたデータを、書き込みを行うバイナリデータ列に直す際のエンコード方式 ターゲットIDでデータ暗号化を指定しなかった場合は、"base64"、"binary"、"ascii"が指定できます。 ターゲットIDでデータ暗号化を指定した場合は、"base64"、"binary"が指定できます。 この属性を省略した場合は、"ascii"が指定されたものとして処理されます。 "base64"、"binary"、"ascii"以外が指定された場合は、"ascii"が指定されたものとして処理されます※。 ※ データ暗号化指定を行った場合は、正しく"base64"または"binary"を指定する必要があります。 |
| 1. | FeliCa HTMLタグ記述部に記載するHTMLタグは、整形式でなくてはなりません。つまり、「要素を持つタグは必ず開始タグと終了タグが対になっている」、「要素を持たないタグは閉じる」、「正しい入れ子構造である」などの条件を満たす必要があります。 例)
|
||||||||||||||||||||||||
| 2. | FeliCa HTMLタグ記述部に記載するFeliCa HTMLタグ、HTMLタグは、タグ名、属性名は大文字、小文字が区別されません。しかし、属性値、要素に関しては大文字、小文字が区別されます。 例:
|
||||||||||||||||||||||||
| 3. | FeliCa HTMLタグ記述部の中に<label>を記述する場合は、そのid属性値に、同じFeliCa HTMLタグ記述部内の<result>のname属性値と同じ値を設定してはいけません。 同じ値を指定してしまうと、 予期した内容と異なる表示となる場合があります。 |
||||||||||||||||||||||||
| 4. | FeliCa HTMLタグ記述部には、一部の記号を下記のように変換して記述する必要があります。FeliCa HTMLタグ記述部に通常の文字列を記述する場合と、<push>の要素として文字列を記述する場合は、注意してください。
|
||||||||||||||||||||||||
| 5. | <span id="FeliCa">は、インライン要素を包含可能なHTMLタグ※の直下に記述してください。 そうしない場合、エラーダイアログ(エラーコード:2200005)が表示されたり、テーブル構造が乱れたりするなど、正しく表示ができない場合があります。
|
||||||||||||||||||||||||
<polling>、<pin>、<read>、または<write>にてFeliCaカードへのアクセスを指定する際に、データの所在(システム・サービス・ブロックNo.)を、ターゲットIDという文字列で指定します。
ターゲットIDは、対象となる領域の所有者のみが作成できる値です。
※ <push>のみの利用の場合は必要ありません。
また、書き込みデータを暗号化してHTMLに記載することと、読み込み処理の結果と復号化して取り出すことは、ターゲットIDを作成できる者だけが行うことができます。
サービスの開始とその運用は、下記の流れで行います。
| HTMLファイルの作成 | 領域の管理者からキーファイルを取得し、本ページよりターゲットID作成ツールを取得します。(「準備」を参照) |
|---|---|
| 用途に応じて、アクセス先のターゲットIDを作成します。(「ターゲットIDの作成」を参照) | |
| データ書き込みを行い、かつその内容を暗号化してHTMLファイルに記載する場合は、そのデータの暗号化を行い、記載するデータを作成します。(「書き込み対象データの暗号化」を参照) | |
| 運用 | 読み込み結果をサーバに通知し、かつその内容を暗号化する場合は、サーバ側でそのデータの復号化を行います。(「読み込み結果データの復号化」を参照) Webアプリケーションを作成するなどして、対応してください。 |
ターゲットIDを作成するには、下記のものが必要です。
- キーファイル
- ターゲットID作成ツール
キーファイルは、共通領域利用契約を締結いただいている事業者様からご要望があった場合、フェリカネットワークス株式会社より個別にご提供させて頂いています。
なお、共通領域におけるサービスについてのご質問はフェリカネットワークス株式会社までお問合せ下さい。
キーファイルの内容は、FeliCaカード内のアクセスを許可する領域を定義したアクセス許可証と、ターゲットID作成時に用いる暗号鍵を定義したターゲットID作成鍵から構成されます。
フォーマットは以下のようになります。
| 内容 | 意味 | |
|---|---|---|
| 1行目 | 16進表記バイナリ文字列(32文字) | アクセス許可証データ |
| 2行目 | 16進表記バイナリ文字列(32文字) | ターゲットID作成鍵データ |
キーファイルの内容が漏洩すると、FeliCaカードの対象領域のノンセキュリティ領域へ、自由にアクセスされたりしてしまいます。
また、ターゲットID作成鍵は、読み込み/書き込み対象データを暗号化する際にも使用します。
必ず、ターゲットID作成鍵は秘密に管理しておいてください。
ターゲットID作成ツールは、こちらからダウンロードできます。
使用許諾規約をよくお読みの上、内容に同意いただいた上でご利用ください。
| ・ ターゲットID作成ツール | (約52KB) |
ターゲットID作成ツールは、コマンドラインアプリケーションです。
ダウンロードした"gettid.exe"を適当なフォルダに保存してください。
"コマンドプロンプト"を起動して、その上で"gettid.exe"を実行してご利用ください。
※ Windows XPでのみ動作確認を行っております。

◆ <polling>用ターゲットIDの作成
コマンドに"polling"を指定して、オプションを指定せずにコマンドを実行すると、簡単なヘルプが出力されます。
オプションに、キーファイルを指定します。
※ アクセスできるシステムは、キーファイル取得時に申請した領域に限られます。

上記の例ではターゲットIDは「VZ8hQqPYyMZs4Z1g95n8VQ==」になります。
<polling>のtarget属性に指定します。
◆ <pin>用ターゲットIDの作成
コマンドに"pin"を指定して、オプションを指定せずにコマンドを実行すると、簡単なヘルプが出力されます。
オプションに、キーファイルとPIN解除対象のサービスコードを指定します。
※ アクセスできるシステムは、キーファイル取得時に申請した領域に限られます。

上記の例ではターゲットIDは「VZ8hQqPYyMZs4Z1g95n8VULsP/GGibQqi4kaXW+xgUAH」になります。
<pin>のtarget属性に指定します。
◆ <read>用ターゲットIDの作成
コマンドに"read"を指定して、オプションを指定せずにコマンドを実行すると、簡単なヘルプが出力されます。
オプションに、キーファイル、読み込み対象のサービスコード、ブロック番号、およびブロック数を指定します。
データの暗号化を行う場合には、"-c"オプションを指定します。
※ アクセスできるシステムは、キーファイル取得時に申請した領域に限られます。

上記の例ではターゲットIDは「VZ8hQqPYyMZs4Z1g95n8VamRQo1hPGrFDrS9XO4jWSAH」になります。
<read>のtarget属性に指定します。
◆ <write>用ターゲットIDの作成
コマンドに"write"を指定して、オプションを指定せずにコマンドを実行すると、簡単なヘルプが出力されます。
オプションに、キーファイル、書き込み対象のサービスコード、ブロック番号、およびブロック数を指定します。
データの暗号化やドメイン指定を行う場合には、それぞれ"-c"、"-d"オプションを指定します。
※ アクセスできるシステムは、キーファイル取得時に申請した領域に限られます。

上記の例ではターゲットIDは「VZ8hQqPYyMZs4Z1g95n8VS5QZJpgv/elih7HANNv4lcH」になります。
<write>のtarget属性に指定します。
HTMLファイルに記載する、<write>処理を行うためのデータを暗号化します。
対象のデータから下記のフォーマットのデータを作成します。
ドメイン指定を行う場合| 意味 | サイズ | 備考 |
|---|---|---|
| ブロック数 | 1バイト | |
| データ | 16×m バイト | mはブロック数 |
| ドメイン名長 | 1バイト | |
| ドメイン名 | nバイト | nはドメイン名長 |
| パディング | 8 - (n + 6 mod 8)バイト | 値はすべて 8 - (n + 6 mod 8) |
| パリティ | 4バイト | パディングまでのデータに対するSHA-1ハッシュ値の末尾32ビット |
| 意味 | サイズ | 備考 |
|---|---|---|
| ブロック数 | 1バイト | |
| データ | 16×n バイト | nはブロック数 |
| パディング | 3バイト | 0x03,0x03,0x03, |
| パリティ | 4バイト | パディングまでのデータに対するSHA-1ハッシュ値の末尾32ビット |
ドメイン指定を行うかどうかは、ターゲットID作成時の指定と合わせてください。
このデータを、ターゲットID作成鍵を使用して暗号化します。
ターゲットID作成鍵の前後8バイトずつで区切り、トリプルDES※の暗号演算を行います。
※ EDEモードで、初期ベクトルはオール0です。
暗号化を行ったデータを、次に<write>のencoding属性に指定するエンコーディング方式(binary/base64)でエンコードします。
こうしてできた文字列を、<write>の要素として指定します。
例)
<write target="[ターゲットID]" encoding="[binary/base64]">[作成した文字列]</write>
<read>の処理結果から得られるデータを復号化します。
復号の前に、<read>のencoding属性に対応したエンコーディング方式(binary/base64)で、<read>の処理結果である文字列をデコードし、バイナリデータとします。
このとき、<read>の処理結果のデータのみでは、エンコーディング方式を判別することはできませんので、別途<read>を行うページの指定と整合をとってください。
こうして出来たバイナリデータを、ターゲットID作成鍵を使用して復号化します。
ターゲットID作成鍵の前後8バイトずつで区切り、トリプルDES※の復号演算を行います。
※ EDEモードで、初期ベクトルはオール0です。
復号後の結果は、下記のフォーマットのデータになります。
| 意味 | サイズ | 備考 |
|---|---|---|
| ブロック数 | 1バイト | |
| データ | 16×n バイト | nはブロック数 |
| パディング | 3バイト | 0x03,0x03,0x03, |
| パリティ | 4バイト | パディングまでのデータに対するSHA-1ハッシュ値の末尾32ビット |
FeliCa HTMLタグを利用したページを作成した際に、ページ内容に誤りがあると、FBE+IEではエラー内容を示すダイアログを表示します。
下記に、ダイアログ表示された内容の意味とその対処方法を示します。
| ダイアログメッセージに「ページ内容に誤りがあったため、FeliCaカードへの処理を行いませんでした。」と表示されるもの各FeliCa HTMLタグの使用方法に誤りがあります。 |
| エラーコード | 意味 | 対処方法 |
|---|---|---|
| 1319001 | <pin>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1319002 | <pin>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1319003 | <pin>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1319014 | <pin>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1319016 | <pin>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1319101 | <pin>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1319105 | <pin>に指定したターゲットIDに含まれるサービスコードが、キーファイルで許可されていない範囲の値を示しています | ターゲットIDの作成の際に、キーファイルの取得に際して許可された範囲のサービスコードを指定してください |
| 1319115 | <pin>にターゲットIDが指定されていません | target属性に正しいターゲットIDを指定してください |
| エラーコード | 意味 | 対処方法 |
| 1329001 | <polling>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1329002 | <polling>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1329014 | <polling>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1329016 | <polling>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1329101 | <polling>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1329115 | <polling>にターゲットIDが指定されていません | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| エラーコード | 意味 | 対処方法 |
| 1339109 | <push>に指定した携帯電話上のアプリケーションのURLが長すぎます | 携帯電話上のアプリケーションのURL、起動チェックコード、および携帯電話に送信するデータの合計が、182文字に収まるように指定してください |
| 1339110 | <push>に指定した携帯電話上のアプリケーションの起動チェックコードが長すぎます | 携帯電話上のアプリケーションのURL、起動チェックコード、および携帯電話に送信するデータの合計が、182文字に収まるように指定してください |
| 1339111 | <push>に指定した携帯電話に送信するデータが大きすぎます | 携帯電話上のアプリケーションのURL、起動チェックコード、および携帯電話に送信するデータの合計が、182文字に収まるように指定してください |
| 1339112 | <push>に指定した携帯電話上のアプリケーションのURL、起動チェックコード、および携帯電話に送信するデータの合計が大きすぎます | 携帯電話上のアプリケーションのURL、起動チェックコード、および携帯電話に送信するデータの合計が、182文字に収まるように指定してください |
| エラーコード | 意味 | 対処方法 |
| 1349001 | <read>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1349002 | <read>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1349003 | <read>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1349014 | <read>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1349016 | <read>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1349101 | <read>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1349104 | <read>に指定したターゲットIDに含まれるブロック数が、1〜12の範囲外の値を示しています | ターゲットIDの作成の際に、ブロック数に1〜12の範囲の値を指定してください |
| 1349105 | <read>に指定したターゲットID含まれるサービスコードが、キーファイルで許可されていない範囲の値を示しています | ターゲットIDの作成の際に、キーファイルの取得に際して許可された範囲のサービスコードを指定してください |
| 1349107 | <read>に指定したターゲットIDに含まれるデータ部暗号化指定が有効を示しているときに、エンコーディング方式が"ascii"を示しています | ターゲットIDの作成の際にデータ部暗号化指定を行った場合は、エンコーディング指定に"binary"または"base64"を指定してくださいエンコーディング指定に"ascii"を指定する場合は、ターゲットIDの作成の際にデータ部暗号化指定は指定しないでください |
| 1349115 | <read>にターゲットIDが指定されていません | target属性に正しいターゲットIDを指定してください |
| エラーコード | 意味 | 対処方法 |
| 1359001 | <write>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1359002 | <write>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1359003 | <write>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1359004 | <write>に指定した書き込み対象データの内容が不正です | |
| 1359014 | <write>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1359016 | <write>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1359101 | <write>に指定したターゲットIDの内容が不正です | 正しいキーファイルを指定して、正しくターゲットID作成ツールを使用してください また、その出力を正しくHTMLファイルに転記してください |
| 1359102 | <write>に指定したターゲットIDに含まれるブロック数と、復号化された書き込み対象データのサイズとの間で、整合がありません | ターゲットID作成時に指定したブロック数に見合ったデータを暗号化して、書き込みデータを作成してください |
| 1359104 | <write>に指定したターゲットIDに含まれるブロック数が、1〜8の範囲外の値を示しています | ターゲットIDの作成の際に、ブロック数に1〜8の範囲の値を指定してください |
| 1359105 | <write>に指定したターゲットIDに含まれるサービスコードが、キーファイルで許可されていない範囲の値を示しています | ターゲットIDの作成の際に、キーファイルの取得に際して許可された範囲のサービスコードを指定してください |
| 1359106 | <write>に指定したターゲットIDに含まれるブロック数と、書き込み対象データのブロック数との間で、整合がありません | ターゲットID作成時に指定したブロック数に見合ったデータを書き込みデータとして指定してください |
| 1359107 | <write>に指定したターゲットIDに含まれるデータ部暗号化指定が有効を示しているときに、エンコーディング方式がasciiを示しています | ターゲットIDの作成の際にデータ部暗号化指定を行った場合は、エンコーディング指定に"binary"または"base64"を指定してください エンコーディング指定に"ascii"を指定する場合は、ターゲットIDの作成の際にデータ部暗号化指定は指定しないでください |
| 1359108 | <write>に指定したターゲットIDに含まれるドメイン指定が有効を示しているときに、ページのURLと書き込みデータに含まれるドメイン名と間で、整合がありません | ページを公開するURLに見合ったドメイン名を、書き込みデータに指定してください |
| 1359113 | <write>に指定したターゲットIDに含まれるブロック数と、平文で指定された書き込み対象データのサイズとの間で、整合がありません | ターゲットID作成時に指定したブロック数に見合ったデータを書き込みデータとして指定してください |
| 1359114 | <write>に書き込み対象データが指定されていません | 書き込み対象データを指定してください |
| 1359115 | <write>にターゲットIDが指定されていません | target属性に正しいターゲットIDを指定してください |
| 1359116 | <write>に指定した暗号化済み書き込み対象データのサイズが大きすぎます | データサイズを1〜8ブロック(16〜128バイト)の範囲に、ドメイン長を255文字までの範囲に、それぞれ収まるようにして、暗号化書き込みデータを作成してください |
| ダイアログメッセージに「ページ内容に誤りがあるため、FeliCa HTMLタグは有効に機能しません。」と表示されるもの <span id="FeliCa">〜</span>の内部に記述誤りがあります。 |
| エラーコード | 意味 | 対処方法 |
|---|---|---|
| 2200001 | FeliCa記述部の内容が、タグ記述ルール(XML)上不正です | FeliCa HTMLタグ記述部を正しいXML構造で記述してください |
| 2200002 | </span>が記述されていないか、<span>以降のタグ構造が不正なため見つけられません | <span>〜</span>を正しいXML構造で記述してください |
| 2200003 | <span>〜</span>内の注釈(FeliCa記述部)が閉じられていません | 注釈の終端(-->)を記述してください |
| 2200005 | 「HTML作成上の注意」の5に違反しています | <span>〜</span>を記述する場所を改めてください |
| ダイアログメッセージに「FeliCaカードへのアクセス時にエラーが発生しました。」と表示されるもの 詳しい内容は、一緒に表示されるステータスコードの値を参考にしてください。 |
| エラーコード | 意味 | 対処方法 |
|---|---|---|
| 1319200 | PIN照合処理に失敗しています。 PINの値が誤っているか、すでに誤り回数がオーバーしロックされている可能性があります。 |
正しいPINの値を指定してください ロックされている場合は、そのサービスの管理者の提供する手段で解除を行ってください |
| 1349200 | アクセス先のサービスコード、ブロック番号、およびブロック数に対応した領域が、FeliCaカードに存在しない可能性があります。 または、その領域がセキュリティ領域である可能性があります。 |
使用するFeliCaカードのフォーマットに応じたアクセスを行うようなターゲットIDを指定してください また、セキュリティ領域へのアクセスは、行うことができません |
| 1359200 | アクセス先のサービスコード、ブロック番号、およびブロック数に対応した領域が、FeliCaカードに存在しない可能性があります。 または、その領域がセキュリティ領域である可能性があります。 アクセス先がパースサービスの場合、加減算の値に不正がある場合があります |
使用するFeliCaカードのフォーマットに応じたアクセスを行うようなターゲットIDを指定してください また、セキュリティ領域へのアクセスは、行うことができません パースサービスの加減算の際には、減算結果が負にならないことと、キャッシュバック値以上の加算を行わないことに気をつけてください |
本ページ内の情報は、先にご同意いただきました規約に則ってご利用ください。
本ページの内容についての、無断転載を禁止いたします。
弊社では、本ページに記載の内容につきまして一切のお問い合わせに応じかねますので、ご了承ください。
「かざしてポン!」、「かざポン」は、フェリカネットワークス株式会社の登録商標です。
その他、記載されている会社名、製品名は、各社の登録商標または商標です。
