JP2022011698A - Information providing apparatus, information providing method, data structure, and information providing program - Google Patents
Information providing apparatus, information providing method, data structure, and information providing program Download PDFInfo
- Publication number
- JP2022011698A JP2022011698A JP2020113007A JP2020113007A JP2022011698A JP 2022011698 A JP2022011698 A JP 2022011698A JP 2020113007 A JP2020113007 A JP 2020113007A JP 2020113007 A JP2020113007 A JP 2020113007A JP 2022011698 A JP2022011698 A JP 2022011698A
- Authority
- JP
- Japan
- Prior art keywords
- error
- information
- content
- information providing
- external server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、情報提供装置、情報提供方法、データ構造および情報提供プログラムに関する。 The present invention relates to an information providing device, an information providing method, a data structure and an information providing program.
従来、開発者による各種の設定や開発を補助するための技術が知られている。このような技術の一例として、画像処理に関する各種設定の入力を行って画像処理プログラムを容易に作成するための画像処理プログラム作成方法がある。 Conventionally, techniques for assisting developers in various settings and developments have been known. As an example of such a technique, there is an image processing program creation method for easily creating an image processing program by inputting various settings related to image processing.
しかしながら、上述した技術では、開発者のユーザビリティを改善する余地がある。 However, the above-mentioned techniques have room for improving the usability of developers.
例えば、上述した技術では、単一のコンピュータに対して所定の処理を実行させるためのプログラムに、文法エラーが含まれているかを判定しているにすぎない。このため、例えば、利用者の端末装置を用いた各種の決済サービス等、ある外部サーバが管理する情報を制御することで所定のサービスを提供するアプリケーションの開発を容易にすることができるとは言えない。 For example, in the above-mentioned technique, it is only determined whether or not a program for causing a single computer to execute a predetermined process contains a syntax error. Therefore, for example, it is possible to facilitate the development of an application that provides a predetermined service by controlling information managed by an external server, such as various payment services using a user's terminal device. do not have.
例えば、決済サービスにおいては、端末装置側から支払元となる口座、支払先となる口座、および送金額といった処理を実行するための各種パラメータが外部サーバへと通知される。このような場合、外部サーバは、通知されたパラメータに従って、口座間の送金処理を実行し、処理の実行結果を応答として端末装置へと提供する。 For example, in the payment service, various parameters for executing processing such as a payment source account, a payment destination account, and a remittance amount are notified from the terminal device side to an external server. In such a case, the external server executes the remittance process between accounts according to the notified parameter, and provides the execution result of the process to the terminal device as a response.
ここで、パラメータの値に誤りが含まれていた場合、外部サーバは、適切な処理を行うことができない。このように外部サーバが適切な処理を行うことができない場合、端末装置側のアプリケーションは、処理をそれよりも先に進めることができなくなる。しかしながら、上述した従来技術では、端末装置側で処理が適切に行われるか否かを判定しているにすぎないため、外部サーバ側で適切な処理が実行されなかった理由を開発者に示すことができない。 Here, if the parameter value contains an error, the external server cannot perform appropriate processing. When the external server cannot perform appropriate processing in this way, the application on the terminal device side cannot proceed with the processing further. However, in the above-mentioned conventional technique, since it is only determined whether or not the processing is properly performed on the terminal device side, the reason why the appropriate processing is not executed on the external server side should be shown to the developer. I can't.
本願は、上記に鑑みてなされたものであって、開発者のユーザビリティを改善することを目的とする。 The present application has been made in view of the above and aims to improve the usability of the developer.
本願に係る情報提供装置は、外部サーバが管理する情報を制御することで所定の機能を提供するアプリケーションが前記外部サーバに対して所定の処理の実行を指示した際に、当該外部サーバから前記アプリケーションに対して提供される前記所定の処理の実行結果を受け付ける受付部と、前記実行結果の内容に基づいて、前記所定の処理の実行において生じたエラーの内容を特定する特定部と、前記特定部により特定されたエラーの内容を示す情報を提供する提供部とを有することを特徴とする。 The information providing device according to the present application is the application from the external server when an application that provides a predetermined function by controlling information managed by the external server instructs the external server to execute a predetermined process. A reception unit that receives the execution result of the predetermined process provided to the user, a specific unit that specifies the content of an error that occurs in the execution of the predetermined process based on the content of the execution result, and the specific unit. It is characterized by having a providing unit that provides information indicating the content of the error identified by.
実施形態の一態様によれば、開発者のユーザビリティを改善することができる。 According to one aspect of the embodiment, the usability of the developer can be improved.
以下に、本願に係る情報提供装置、情報提供方法、データ構造および情報提供プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報提供装置、情報提供方法、データ構造および情報提供プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Hereinafter, the information providing device, the information providing method, the data structure, and the embodiment for implementing the information providing program (hereinafter referred to as “the embodiment”) according to the present application will be described in detail with reference to the drawings. It should be noted that this embodiment does not limit the information providing device, the information providing method, the data structure, and the information providing program according to the present application. In addition, each embodiment can be appropriately combined as long as the processing contents do not contradict each other. Further, in each of the following embodiments, the same parts are designated by the same reference numerals, and duplicate explanations are omitted.
〔1.情報提供装置について〕
まず、図1を用いて、選択装置の一例である情報提供装置10が実行する処理の一例について説明する。図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。なお、以下の説明では、情報提供装置10が実行する情報提供処理として、決済サーバ100が提供する決済サービスに関するアプリケーションの開発を容易にするため、各種パラメータの設定を行った際に決済サーバ100からアプリケーションに対して提供される応答の内容のシミュレーションを行う処理の一例について記載するが、実施形態は、これに限定されるものではない。
[1. Information provider]
First, with reference to FIG. 1, an example of processing executed by the
後述する説明で明らかとなるように、情報提供装置10が提供する情報は、決済サービス以外にも、外部のサーバ装置やクラウドシステム等、各種の外部サーバが管理する情報を制御することで、所定のサービスを利用者に提供するためのアプリケーションの開発に有意な情報となる。そこで、情報提供装置10は、決済サービス以外にも、利用者が利用する端末装置からの情報に従って、任意の処理を実行し、実行結果を提供する外部サーバのシミュレーションを提供してよい。
As will be clarified in the explanation described later, the information provided by the
〔1-1.情報提供装置の概要〕
図1に示すように、情報提供システム1は、情報提供装置10、決済サーバ100、利用者Uが利用する端末装置210、利用者に対して各種サービスを提供する店員Sが利用する端末装置220、および開発者Dが利用する開発者端末300を有する。なお、情報提供システム1は、情報提供装置10のみを有し、他の装置については、他のシステムに属するものであってもよい。
[1-1. Overview of information providing equipment]
As shown in FIG. 1, the
情報提供装置10は、インターネット等の所定のネットワークN(例えば、図3を参照。)を介して、各種の装置と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報提供装置10は、ネットワークNを介して、各装置と通信可能である。
The
決済サーバ100は、各種の決済サービスを提供する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、決済サーバ100は、利用者Uや店舗Sの口座を管理しており、各種の要求に応じて口座間の送金を行うことで、決済サービスの実現を行う。なお、決済サービスの詳細については、後述する。 The payment server 100 is an information processing device that provides various payment services, and is realized by, for example, a server device, a cloud system, or the like. For example, the payment server 100 manages the accounts of the user U and the store S, and realizes the payment service by remittance between the accounts in response to various requests. The details of the payment service will be described later.
端末装置210は、利用者Uが利用する情報処理装置であり、例えば、スマートフォンやタブレット等のスマートデバイスであり、3G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置220は、店舗Sが利用する情報処理装置であり、例えば、POS(Pont of Sales)端末、スマートフォンやタブレット等のスマートデバイス等により実現される。
The
ここで、端末装置210、220(以下、「端末装置200」と総称する場合がある。)は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者から指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付けてもよい。なお、端末装置200は、PC(Personal Computer)等の情報処理装置であってもよい。
Here, the
開発者端末300は、端末装置210にインストールさせるアプリケーションの開発を行う開発者Dが利用する端末装置であり、例えばPCやサーバ装置により実現可能である。例えば、開発者端末300は、各種の開発用アプリケーションがインストールされており、開発者Dによるプログラムコードの入力により、アプリケーションの生成を行うこととなる。
The developer terminal 300 is a terminal device used by the developer D who develops an application to be installed in the
〔1-2.決済サービスの概要〕
ここで、決済サーバ100が提供する決済サービスの一例について説明する。決済サーバ100は、端末装置200を用いた決済(電子決済)に関するサービスを提供する(ステップBS0)。
[1-2. Overview of payment service]
Here, an example of the payment service provided by the payment server 100 will be described. The payment server 100 provides a service related to payment (electronic payment) using the terminal device 200 (step BS0).
例えば、利用者Uが店舗Sにて各種の商品やサービスといった決済対象(取引対象)の利用や購入に伴う決済を行う場合、利用者Uは、端末装置210に予めインストールされた決済用のアプリケーション(以下、単に「決済アプリ」と記載する場合がある)を起動する。そして、利用者Uは、決済アプリを介して、店舗Aに設置された店舗識別情報(すなわち、支払先識別情報)を撮影する。例えば、店舗Sには、店舗Sを識別する2次元コード(QRコード(登録商標))等の店舗識別情報が設置されており、利用者Uは、このような店舗識別情報を端末装置200で撮影する。なお、店舗識別情報は、QRコード(登録商標)のみならず、バーコードや所定のマーク、番号等であってもよい。また、店舗識別情報は、各種の印刷物に付与されたものであってもよく、例えば、端末装置220の画面上に表示されたものであってもよい。
For example, when the user U uses or purchases a payment target (transaction target) such as various products or services at the store S, the user U is a payment application pre-installed on the
このような場合、端末装置210は、決済対象の価格を入力するための画面を表示し、利用者U或いは店舗Sの店員から決済金額の入力を受け付ける。そして、端末装置210は、利用者Uを識別する利用者識別情報(すなわち、支払元識別情報)と、店舗識別情報(若しくは、店舗識別情報が示す情報、すなわち、店舗Sを示す情報(例えば、店舗ID(Identifier))と、決済金額とを示す決済情報を決済サーバ100へと送信する。
In such a case, the
このような場合、決済サーバ100は、利用者識別情報が示す利用者Uの口座から、店舗識別情報が示す店舗Sの口座へと、決済金額が示す額の電子マネーを移行させる。そして、決済サーバ100は、決済が完了した旨の通知を端末装置210へと送信する。このような場合、端末装置210は、決済が完了した旨の画面や所定の音声を出力することで、電子マネーによる決済が行われた旨を通知する。
In such a case, the payment server 100 transfers the electronic money of the amount indicated by the payment amount from the account of the user U indicated by the user identification information to the account of the store S indicated by the store identification information. Then, the payment server 100 transmits a notification to the
なお、端末装置200を用いた決済は、上述した処理に限定されるものではない。例えば、端末装置200を用いた決済は、店舗Sに設置された端末装置220を用いたものであってもよい。例えば、端末装置210は、利用者Uを識別するための利用者識別情報を画面上に表示させる。このような場合、店舗Sに設置された端末装置220は、端末装置210に表示された利用者識別情報を読み取り、利用者識別情報(若しくは、利用者識別情報が示す情報、すなわち、利用者Uを示す情報(例えば、利用者ID))と、決済金額と、店舗Sを識別する情報とを示す決済情報を決済サーバ100へと送信する。このような場合、決済サーバ100は、利用者識別情報が示す利用者Uの口座から、店舗Sの口座へと、決済金額が示す額の電子マネーを移行させ、店舗Sの端末装置220または端末装置210に対し、決済が完了した旨の画面や所定の音声を出力させることで、決済が行われた旨を通知してもよい。
The payment using the
また、端末装置200を用いた決済は、利用者Uが予め電子マネーをチャージした口座から店舗Sの口座へと電子マネーを移行させる処理のみならず、例えば、利用者Uが予め登録したクレジットカードを用いた決済であってもよい。このような場合、例えば、端末装置200は、店舗Aの口座に対して決済金額の電子マネーを移行させるとともに、利用者Uのクレジットカードの運用会社に対し、決済金額を請求してもよい。
Further, the payment using the
〔1-3.情報提供処理の一例について〕
このような決済サービスそのものや、決済サービスに付随する他の付加的なサービスを提供するアプリケーションの開発が考えられる(ステップBS1)。例えば、複数の利用者で店舗の利用料金を割り勘するサービスや、利用額に応じて各種のクーポンを提供したりといったサービスが考えられる。このようなサービスを提供するには、各種サービスを実現するためのアプリケーションを開発し、端末装置210にインストールさせることとなる。
[1-3. About an example of information provision processing]
It is conceivable to develop such a payment service itself or an application that provides other additional services associated with the payment service (step BS1). For example, a service in which a plurality of users split the usage fee of a store and a service in which various coupons are provided according to the usage amount can be considered. In order to provide such a service, it is necessary to develop an application for realizing various services and install it on the
より具体的な例を挙げて説明する。例えば、上述したように、利用者が店舗での購買に決済サービスを用いる場合、端末装置210にインストールされたアプリケーションは、支払元口座の識別情報、支払額、および支払先口座の識別情報等を決済サーバ100に通知する。このような場合、決済サーバ100は、通知された識別情報が示す支払元口座から、通知された支払額を、通知された識別情報が支払先口座へと送金することで、決済サービスを実現することとなる。また、例えば、複数の利用者が決済額の割り勘を行う場合、代表者の端末装置210にインストールされたアプリケーションは、決算額を決済サーバ100に通知するとともに、決済サーバ100から通知された所定のQRコードを表示させる。このような場合、各利用者は、代表者の端末装置210に表示されたQRコードを自身の端末装置210で撮影する。そして、各利用者の端末装置210にインストールされたアプリケーションは、撮影したQRコードが示す情報を決済サーバ100へと送信する。このような場合、決済サーバ100は、所定のQRコードが示す情報を送信した利用者を割り勘を行う利用者として特定し、特定した利用者の口座から、店舗の口座へと、決済額を決済額を利用者の人数で除算した額の電子マネーを送金する。
A more specific example will be given for explanation. For example, as described above, when the user uses the payment service for purchasing at the store, the application installed on the
このように、端末装置210にインストールされたアプリケーションは、決済サーバ100が管理する各種の情報を制御することで、決済サービスを実現することとなる。例えば、アプリケーションは、支払前における口座の残余額、支払額、支払後における口座の残余額、支払によって提供されるポイントやキャッシュバックの額等、様々な情報を取得して表示したり、口座間の送金や送金額の制御を行うことで、支払、口座間の送金、クーポンを利用した値引き、キャッシュバック等といったサービスを実現することとなる。例えば、このようなアプリケーションは、利用者Uが支払を行った際に、決済サーバ100から支払に伴うキャッシュバック額やクーポンの内容等を取得し、取得した額やクーポンを表示する機能を有する。また、これらの処理以外にも、端末装置210にインストールされるアプリケーションは、例えば、利用者Uの認証や店舗に設置されたQRコードの認証等、セキュリティに関する様々な機能や、その他任意の機能を、決済サーバ100と通信を行うことで実現することとなる。
In this way, the application installed in the
しかしながら、このようなアプリケーションの開発には、手間がかかる。例えば、決済サービスに用いられるアプリケーションは、決済サーバ100に対して各種の情報を送信することで、決済サーバ100が管理する情報を制御し、制御結果として決済サーバ100が提供する応答の内容に応じて、次の処理を実行することとなる。また、このようなアプリケーションは、決済サーバ100から、各種の情報を取得し、取得した情報を用いて、次の処理(例えば、取得した情報の表示等)を行うこととなる。 However, developing such an application is time-consuming. For example, an application used for a payment service controls information managed by the payment server 100 by transmitting various information to the payment server 100, and responds to the content of a response provided by the payment server 100 as a control result. Then, the following processing will be executed. Further, such an application acquires various information from the payment server 100, and uses the acquired information to perform the next processing (for example, display of the acquired information).
例えば、決済サーバ100側は、端末装置210から提供される情報に基づいて、処理を実行する。このため、アプリケーションから決済サーバ100へ送信される情報(例えば、決済額や各種ID等のパラメータ)の内容や種別が、決済サーバ100に実行させる処理と対応していない場合、決済サーバ100に適切な処理を実行させることができない。より具体的には、アプリケーションは、決済サーバ100が提供するAPI(Application Programming Interface)に対応した情報を送信する必要がある。
For example, the payment server 100 side executes the process based on the information provided from the
しかしながら、このようなAPIに対応した情報がどのような情報であるかを確認するのは、手間がかかる。特に、決済サーバが提供するサービスが新規なサービスである場合、インターネット等で検索したとしても、適切な解説が開発者によって投稿済みである可能性は低く、どのような情報を送信するようにアプリケーションを作成すればよいかを認識するのは、難しい。 However, it is troublesome to confirm what kind of information corresponds to such API. In particular, if the service provided by the payment server is a new service, even if you search on the Internet etc., it is unlikely that the appropriate explanation has been posted by the developer, and what kind of information should be sent to the application. It's hard to know if you should create one.
特に、決済サーバ100は、アプリケーションからの要求に従って処理を行った場合、処理の実行結果を応答としてアプリケーションに送信する。例えば、決済サーバ100は、端末装置210が実行するアプリケーションからの要求に従って処理を実行した結果、処理が適切に行われた場合、端末装置210を利用する利用者Uの口座の残余額を含む応答等をアプリケーションに送信する場合がある。このような場合、アプリケーションは、応答に基づいて、例えば、口座の残余額を表示するといった次の処理を実行することとなる。
In particular, when the payment server 100 performs processing according to a request from the application, the payment server 100 transmits the execution result of the processing to the application as a response. For example, if the payment server 100 executes the process according to the request from the application executed by the
一方、決済サーバ100は、アプリケーションからの要求に従って適切な処理を実行することができない場合、処理を実行することができなかった旨の内容を含む応答を出力する。このような応答には、例えば、どのようなエラーが生じたかを示す文字列(以下、「エラーコード」と記載する場合がある。)や、エラーの種別を示す数値(以下、「レスポンスコード」と記載する場合がある。)が含まれる場合がある。このようなエラーを示す応答(以下、「エラーレスポンス」と記載する。)が決済サーバ100から出力された場合、開発者Dは、エラーレスポンスの内容から、エラーの原因を特定し、アプリケーションの修正を行う。 On the other hand, if the payment server 100 cannot execute an appropriate process according to the request from the application, the payment server 100 outputs a response including the content that the process could not be executed. Such a response includes, for example, a character string indicating what kind of error has occurred (hereinafter, may be referred to as "error code") or a numerical value indicating the type of error (hereinafter, "response code"). May be included.). When a response indicating such an error (hereinafter referred to as "error response") is output from the payment server 100, the developer D identifies the cause of the error from the content of the error response and corrects the application. I do.
しかしながら、エラーレスポンスからエラーの原因を推定するのは、手間がかかる。例えば、決済サーバ100に送信する情報が同一であったとしても、決済サーバ100に実行させる処理が異なる場合は、応答の内容が変化する。このため、開発者Dは、どのようなタイミングでどのような処理を行った際に、どのようなエラーレスポンスが提供されたかに応じて、送信する情報に誤りがあったのか、送信する情報の形式に誤りがあったのかといった事項を特定しなければならず、手間がかかる。とくに、アプリケーションと外部サーバとが利用者Uに対して提供するサービスが新規なサービスである場合、サービスの開発者とは異なる開発者Dがアプリケーションの開発時において、エラーの内容を特定するのは、難しい。 However, it is troublesome to estimate the cause of the error from the error response. For example, even if the information transmitted to the payment server 100 is the same, if the processing to be executed by the payment server 100 is different, the content of the response changes. Therefore, the developer D determines whether the information to be transmitted is incorrect or the information to be transmitted, depending on what kind of processing was performed at what timing and what kind of error response was provided. It takes time and effort to identify matters such as whether there was an error in the format. In particular, when the service provided by the application and the external server to the user U is a new service, the developer D, who is different from the developer of the service, specifies the content of the error when developing the application. ,difficult.
そこで、情報提供装置10は、決済サーバ100から提供されるエラーレスポンスの内容から、エラーの内容を特定し、特定した内容を示す情報を開発者Dに対して提供する。すなわち、情報提供装置10は、決済サーバ100が提供するエラーレスポンスの内容を解説する解説装置として動作する。
Therefore, the
以下、図1を用いて、情報提供装置10が実行する情報提供処理の流れの一例について説明する。まず、開発者Dは、開発者端末300から、エンドポイントや決済サーバ100から受けた応答メッセージを情報提供装置100へと提供する(ステップS1)。例えば、開発者Dは、アプリケーションの開発段階、もしくは配布済みのアプリケーションについて決済サーバ100が出力したエラーレスポンスを取得する。このような場合、開発者Dは、エラーレスポンス、すなわち、応答メッセージを情報提供装置10へと提供する。さらに、開発者Dは、このようなエラーレスポンスが提供されたエンドポイントを示す情報を合わせて提供する。
Hereinafter, an example of the flow of the information providing process executed by the
ここで、エンドポイントとは、アプリケーションと決済サーバ100とが通信を行うタイミングや、決済サーバ100が提供するAPIを介して通信を行う際に用いられるURI(Uniform Resource Identifier)等といった処理のエンドポイントである。例えば、アプリケーションは、何かしらの機能を発揮する場合、決済サーバ100が管理する情報を制御するためのリクエストを、処理の内容や処理を実行する目的に応じたAPIエンドポイントを介して、決済サーバ100に送信することとなる。例えば、アプリケーションは、決済サーバ100が管理する情報を制御する場合、口座の残余額等、決済サーバ100が管理する情報の取得(GET)、削除(DEL:Delete、もしくは情報の登録(POST)といった処理を行うことで、所定の機能を実現することとなる。 Here, the endpoint is an endpoint of processing such as the timing at which the application and the payment server 100 communicate with each other, the URI (Uniform Resource Identifier) used when communicating via the API provided by the payment server 100, and the like. Is. For example, when the application exerts some function, the payment server 100 makes a request for controlling the information managed by the payment server 100 via the API endpoint according to the content of the processing and the purpose of executing the processing. Will be sent to. For example, when the application controls the information managed by the payment server 100, such as acquisition (GET), deletion (DEL: Delete, or registration of information (POST)) of information managed by the payment server 100 such as the remaining amount of the account. By performing the processing, a predetermined function will be realized.
このような決済サーバ100が管理する情報を制御する処理は、アプリケーションと決済サーバ100とが通信を行うエンドポイントごとに異なる目的で実行されることとなる。この結果、例えば、同様のエラーコードを含むエラーレスポンスが提供されたとしても、リクエストを送信した際のエンドポイントが異なる場合、エラーの原因が変化すると考えられる。そこで、情報提供装置10は、エラーレスポンスとの文章とともに、どのエンドポイントにおいて決済サーバ100が提供したエラーレスポンスであるかを示す情報を開発者Dから取得する。
Such a process of controlling the information managed by the payment server 100 is executed for a different purpose for each endpoint with which the application and the payment server 100 communicate with each other. As a result, for example, even if an error response including a similar error code is provided, if the endpoints when the request is sent are different, the cause of the error is considered to change. Therefore, the
このような場合、情報提供装置10は、エラー内容を特定する(ステップS2)。例えば、情報提供装置10は、エラーレスポンスの内容と、エラーレスポンスが提供されたエンドポイントとの組み合わせに応じて、なぜエラーが発生したのか、どのようにすればエラーを解消できるのかといった情報を特定する。より具体的な例を挙げると、情報提供装置10は、決済額等、決済サーバ100が管理する情報を制御するためにアプリケーションが送信する各種のパラメータの値が所定の形式を満たしているか、パラメータの値に矛盾が含まれているかといったエラーの原因を特定する。
In such a case, the
さらに、情報提供装置10は、特定したエラーの原因に対応する対応策を特定する。例えば、情報提供装置10は、特定したエラーを解決するために(エラーが発生しないように)アプリケーションが実行すべき処理の内容を対応策として特定する。そして、情報提供装置10は、特定したエラーの内容を示す情報を提供する(ステップS3)。例えば、情報提供装置10は、エラーの内容や対応策を開発者Dに対して提供する(ステップS3)。このような処理の結果、開発者Dは、エラーの発生を防ぐようにアプリケーションの修正等といった開発を行うことができる(ステップS4)。
Further, the
〔1-4.解析画面の一例について〕
次に、図2~図4を用いて、情報提供装置10がエラーレスポンスを受け付け、エラーレスポンスが示すエラーの内容や解決方法を提供する解析コンテンツC10の一例について説明する。図2は、実施形態に係る解析コンテンツの一例を示す第1の図である。また、図3は、実施形態に係る解析コンテンツの一例を示す第2の図である。また、図4は、実施形態に係る解析コンテンツの一例を示す第3の図である。情報提供装置10は、図2~図4に示す解析コンテンツC10を提供することで、開発者Dに対し、エラーレスポンスが示すエラーの内容や対応策を提供する。
[1-4. About an example of the analysis screen]
Next, an example of the analysis content C10 in which the
例えば、図2に示す例では、解析コンテンツC10には、応答解析アイコンC11、原文解析アイコンC12、エンドポイント指定ウインドウC13、レスポンスコード指定ウインドウC14、エラーレスポンス入力ウインドウC15、および解析ボタンC16が配置されている。なお、図2、図3に示す画面を、以下では「応答解析画面」と記載する場合がある。 For example, in the example shown in FIG. 2, the response analysis icon C11, the original text analysis icon C12, the endpoint designation window C13, the response code designation window C14, the error response input window C15, and the analysis button C16 are arranged in the analysis content C10. ing. The screens shown in FIGS. 2 and 3 may be referred to as "response analysis screens" below.
応答解析アイコンC11は、図2に示す応答解析画面を表示させるためのアイコンである。情報提供装置10は、開発者Dが応答解析アイコンC11を選択した場合、図2に示すように、エンドポイント指定ウインドウC13、レスポンスコード指定ウインドウC14、エラーレスポンス入力ウインドウC15、および解析ボタンC16が配置された原文解析画面を表示する。
The response analysis icon C11 is an icon for displaying the response analysis screen shown in FIG. When the developer D selects the response analysis icon C11, the
原文解析アイコンC12は、エラーレスポンスの文章のみからエラーの内容や対応策を提供する原文解析画面(例えば、図4)を表示させるためのアイコンである。例えば、情報提供装置10は、開発者Dが原文解析アイコンC12を選択した場合、エンドポイント指定ウインドウC13、およびレスポンスコード指定ウインドウC14を有さず、エラーレスポンス入力ウインドウC15および解析ボタンC16のみが配置された原文解析画面を表示する。なお、原文解析画面の詳細については、後述する。
The original text analysis icon C12 is an icon for displaying an original text analysis screen (for example, FIG. 4) that provides error contents and countermeasures only from the error response text. For example, when the developer D selects the original text analysis icon C12, the
エンドポイント指定ウインドウC13は、入力するエラーレスポンスが受け付けられた際のエンドポイントを指定するための入力ウインドウである。例えば、開発者Dは、エラーレスポンスの解析を行う場合、エラーレスポンスが提供された際に利用したAPIエンドポイントを入力することとなる。なお、情報提供装置10は、エンドポイント指定ウインドウC13を介して、APIエンドポイントを示す文字列の入力を受け付けてもよく、例えば、ドロップダウンリスト等でAPIエンドポイントの候補を提供し、候補の中から開発者Dが選択したAPIエンドポイントを入力としてもよい。
The endpoint designation window C13 is an input window for designating an endpoint when an input error response is received. For example, when the developer D analyzes the error response, he / she inputs the API endpoint used when the error response is provided. The
レスポンスコード指定ウインドウC14は、エラーレスポンスが提供された際に決済サーバ100から提供されるレスポンスコードを入力するための入力ウインドウである。例えば、決済サーバ100は、リクエストに従って処理を実行した際にエラーが発生した場合、エラーレスポンスとともに、エラーの種別を示すレスポンスコードを出力する。このような場合、開発者Dは、レスポンスコードを、レスポンスコード指定ウインドウC14に入力する。なお、情報提供装置10は、ドロップダウンリスト等でレスポンスコードの候補を提供し、候補の中から開発者Dが選択したレスポンスコードを入力としてもよい。
The response code designation window C14 is an input window for inputting a response code provided by the payment server 100 when an error response is provided. For example, when an error occurs when the payment server 100 executes the process according to the request, the payment server 100 outputs a response code indicating the type of the error together with the error response. In such a case, the developer D inputs the response code into the response code designation window C14. The
エラーレスポンス入力ウインドウC15は、エラーレスポンスの文字列を入力するためのウインドウである。例えば、開発者Dは、決済サーバ100から受け付けたエラーレスポンスの文章をエラーレスポンス入力ウインドウC15内にコピーアンドペーストする。このような処理の結果、情報提供装置10は、エラーレスポンスの文章を取得することとなる。
The error response input window C15 is a window for inputting an error response character string. For example, the developer D copies and pastes the text of the error response received from the payment server 100 into the error response input window C15. As a result of such processing, the
また、情報提供装置10は、開発者DがAPIエンドポイント、レスポンスコード、およびエラーレスポンスの文章を入力し、解析ボタンC16を選択した場合、APIエンドポイント、レスポンスコード、およびエラーレスポンスの文章を取得する。そして、情報提供装置10は、取得したAPIエンドポイント、レスポンスコード、およびエラーレスポンスの文章から、エラーの内容を特定し、特定したエラーを解消するための対応策を特定する。そして、情報提供装置10は、特定したエラーの内容と、対応策とを示す情報を開発者Dに対して提供する。
Further, when the developer D inputs the API endpoint, the response code, and the error response text and selects the analysis button C16, the
例えば、情報提供装置10は、エラーレスポンスの文章に含まれるエラーコードを特定する。そして、情報提供装置10は、APIエンドポイント、レスポンスコード、およびエラーコードとの組に対してあらかじめ対応付けて所定の記憶装置に登録されたエラー内容と、対応策とを特定する。すなわち、情報提供装置10は、入力されたAPIエンドポイントにおいて決済サーバ100がアプリケーションへと提供したエラーレスポンスであって、アプリケーションから通知されたパラメータを用いて処理を実行した際に生じたエラーの内容を示すエラーレスポンスやレスポンスコードから、エラーの内容や対応策を特定する。
For example, the
例えば、情報提供装置10は、図3に示すように、特定したエラー内容を解説する解説コンテンツC17と、特定した内容のエラーを解消するための対応策を示す対応策コンテンツC18とを、解析コンテンツC10内に配置して表示する。この際、情報提供装置10は、日本語でエラー内容を解説する文章とともに、英語でエラー内容を解説する文章を解説コンテンツC17として表示する。また、情報提供装置10は、日本語で対応策を示す文章とともに、英語で対応策を示す文章を対応策コンテンツC17として表示する。なお、情報提供装置10は、例えば、中国語、ヒンドゥー語、ドイツ語、フランス語等、各種の言語でエラー内容や対応策を示す文章を表示してもよい。このように、情報提供装置10は、エラーの内容や対応策を多言語で表示することで、利用者の国籍によらず、エラーレスポンスの解析結果を認識させることができる。
For example, as shown in FIG. 3, the
なお、情報提供装置10は、原文解析アイコンC12が選択された場合、図4に示すように、レスポンステキストの原文(すなわち、Raw Text)のみを入力するための画面を表示する。このような画面からレスポンステキストのみが入力された場合、情報提供装置10は、レスポンステキストに含まれるエラーコードを特定し、特定したエラーコードと対応付けられたすべてのエラー内容や対応策を特定する。
When the original text analysis icon C12 is selected, the
そして、情報提供装置10は、特定したすべてのエラー内容や対応策を提供する。なお、情報提供装置10は、各エラー内容や対応策が、どのエンドポイントやどのエラーコードに対応するエラー内容と対応策であるかを示す表示を合わせて提供してもよい。また、情報提供装置10は、レスポンステキストの分析結果から、決済サーバ100がレスポンステキストを提供した際に提供したレスポンスコードや、エンドポイントを推定し、推定したレスポンスコードやエンドポイントと対応するエラーの内容や対応案を提供してもよい。
Then, the
〔1-5.情報提供装置の機能について〕
ここで、上述した説明では、開発者Dは、決済サーバ100から提供されたエラーレスポンスの内容を解析するため、エラーレスポンスを情報提供装置10へと提供した。しかしながら、実施形態は、これに限定されるものではない。例えば、アプリケーションの開発段階において、実際にサービスを提供する決済サーバ100に対し、各種のリクエストの送信するのは、提供されているサービスに障害を生じさせる恐れがある。
[1-5. About the function of the information providing device]
Here, in the above description, the developer D provides the error response to the
そこで、情報提供装置10は、アプリケーションの開発段階において、決済サーバ100が提供する応答のガイダンスとして動作してもよい。より具体的には、情報提供装置10は、端末装置210から提供される各種の情報(例えば、支払元口座、支払先口座、および支払額)をパラメータとして受け付けると、かかるパラメータを受け付けた際に決済サーバ100が提供するであろう応答、すなわち、そのパラメータを用いた処理の実行結果を開発者Dに対して提供する。また、情報提供装置10は、端末装置210で実行されるアプリケーションと、決済サーバ100との間で行われる情報通信が適切に行われるか否かを開発者Dに対して提示するサンドボックス環境として動作することができる(図1中ステップBS2)。
Therefore, the
例えば、情報提供装置10は、指定された処理の実行に対してパラメータが適切である場合、そのパラメータを用いて処理を実行した後に決済サーバ100がアプリケーションに送信する応答を生成する。より具体的には、情報提供装置10は、処理を実行した後の状況を示すパラメータ(例えば、支払後の残余額等)を含む応答を生成する。そして、情報提供装置10は、生成した応答を開発者Dに対して提供する。また、情報提供装置10は、パラメータの値や形式が適切ではない場合、パラメータが適切ではない旨の情報や、決済サーバ100が実際に出力するエラーコードを含むエラーレスポンスを実行結果として開発者Dに対して提供する。このような処理の結果、情報提供装置10は、決済サーバ100と端末装置210が協調して実行するサービスにおいて、端末装置210側にインストールされるアプリケーションの開発を促進することができる。
For example, if the parameter is appropriate for the execution of the specified process, the
より具体的な例を挙げると、情報提供装置10は、エンドポイントの候補を提供する。そして、情報提供装置10は、開発者Dが実行結果を確認したい処理のエンドポイントの指定を受け付ける。例えば、情報提供装置10は、アプリケーションを介して提供されるサービスの種別(以下、「サービス種別」と記載する。)を提示する。例えば、アプリケーションを介して提供される各種のサービスが、電子商店街等といったWeb上の店舗における決済サービスに関する「Web Cashier」、実店舗における決済サービスに関する「Payments」、決済の停止に関する「Pending Payments」、および決済の再開・継続に関する「Continuous Payment」という4つのサービス種別に分類されているものとする。このような場合、情報提供装置10は、各サービス種別を開発者端末300に表示させる。
To give a more specific example, the
そして、情報提供装置10は、利用者がいずれかのサービス種別を選択した場合、選択されたサービス種別に分類されるエンドポイントを開発者端末300に表示させる。例えば、情報提供装置10は、サービス種別として、「Web Cashier」が選択された場合、電子商店街等といったWeb上の店舗における決済サービスにおいて決済サーバ100とアプリケーションとが通知を行う各エンドポイントを候補として提示する。また、情報提供装置10は、各エンドポイントにおいて行われる情報の制御が、登録(POST)であるか、取得(GET)であるか、削除(DEL)であるかを示す情報を合わせて表示してもよい。より具体的な例を挙げると、情報提供装置10は、サービス種別「Web Cashier」に関するエンドポイントとして、エンドポイント「/v2/codes」ともに、かかるエンドポイントにおいて実行される情報の制御が、情報の登録(POST)である旨を示す情報を表示させる。
Then, when the user selects one of the service types, the
また、例えば、情報提供装置10は、開発者Dがエンドポイントを選択した場合、選択されたエンドポイントにおいて開発者が所望する機能の候補(以下、「シナリオ」と記載する。)を開発者端末300に表示させる。例えば、情報提供装置10は、エンドポイント「/v2/codes」において提供される機能、すなわち、シナリオが、「ダイナミックQRコードの生成」、「事前認証済みのダイナミックQRコードの生成」、および「APIにアクセスできない場合のエラー表示」である場合、シナリオの候補として、「ダイナミックQRコードを生成したい」、「事前認証済みのダイナミックQRコードを生成したい」、および「APIにアクセスできない場合にエラーを表示させたい」といった候補を開発者端末300に表示させる。そして、情報提供装置10は、いずれのシナリオを所望するかの指定を開発者Dから受け付ける。
Further, for example, when the developer D selects an endpoint, the
また、情報提供装置10は、開発者Dがシナリオを選択した場合、選択されたシナリオにおいてアプリケーションから決済サーバ100へと送信されるパラメータの指定を受け付ける。例えば、情報提供装置10は、開発者DがシナリオウインドウC12を介して「ダイナミックQRコードを生成したい」というシナリオを選択した場合、「ダイナミックQRコードの生成」を行う際にアプリケーションから決済サーバ100へと送信されるパラメータとして、「支払先口座ID」、「送金額」、および「QRコード種別」といったパラメータの種別を示す情報を、開発者端末300に表示させる。さらに、情報提供装置10は、「支払先口座ID」、「送金額」、および「QRコード種別」といったパラメータを入力するための入力ウインドウを表示する。
Further, when the developer D selects a scenario, the
この際、情報提供装置10は、入力ウインドウに、パラメータの値の候補を入力した状態で表示させてもよい。また、情報提供装置10は、適切なパラメータの条件を示す情報をさらに表示させてもよい。例えば、情報提供装置10は、支払先口座IDとして入力されるべきパラメータの文字種別や文字数、送金額として入力されるべき数値の範囲、QRコード種別として入力されるべきパラメータの文字種別や文字数等を示す情報を表示してもよい。
At this time, the
また、情報提供装置10は、開発者Dの操作に応じて、開発者Dが選択したシナリオを実現するためにアプリケーションから決済サーバ100へと送信されるプログラムコードの例、すなわち、コードスニペットを生成する。例えば、情報提供装置10は、入力ウインドウに入力されたパラメータの値を特定し、特定した値を特定したコードスニペット内に挿入する。そして、情報提供装置10は、パラメータに応じた制御の実行結果を表示する。なお、情報提供装置10は、パラメータの値を挿入したコードスニペットをさらに表示させてもよい。
Further, the
ここで、情報提供装置10は、パラメータの値に不適切な値が含まれる場合、例えば、利用者Uや店舗Sを識別するIDの形式が誤っている場合や値が誤っている場合、送金元の口座の残余額よりも高い送金額が設定されている場合等は、エラーレスポンスを実行結果として提供することとなる。このようなエラーレスポンスには、どのようなエラーが発生したかを示すエラーコードとともに、エラーの種別を示すレスポンスコードが含まれることとなる。
Here, the
このようなエラーレスポンスが提供された場合、開発者Dは、エラーレスポンスの内容を確認し、選択したエンドポイントにおいてどのようなパラメータを設定すればよいかを特定することとなる。しかしながら、開発者Dが決済サービスの仕様(例えば、APIの仕様)に詳しくない場合には、このような特定が困難となる。また、決済サービスが新規なサービスである場合、他の開発者Dによって作成されたエラーレスポンスの解説が存在せず、ウェブ検索を行ったとしても、対策を講じることができない可能性が高い。 When such an error response is provided, the developer D will check the content of the error response and specify what parameters should be set in the selected endpoint. However, if the developer D is not familiar with the payment service specifications (for example, API specifications), such identification becomes difficult. Further, when the payment service is a new service, there is no explanation of the error response created by the other developer D, and there is a high possibility that no countermeasure can be taken even if the web search is performed.
そこで、情報提供装置10は、エラーレスポンスの内容を解析し、エラーの内容や対応策を特定する。そして、情報提供装置10は、特定した内容や対応策を開発者Dに対して提供することで、アプリケーションの開発を促進することができる。
Therefore, the
〔1-6.適用対象について〕
上述した説明では、情報提供装置10は、決済サービスにおいて提供される各種の機能を発揮するためのアプリケーション開発を容易にするため、エラーレスポンスの内容を解析し、エラーの内容や対応策を提供した。しかしながら、実施形態は、これに限定されるものではない。
[1-6. Applicable target]
In the above description, the
例えば、情報提供装置10は、所定の外部サーバ(外部システムを含む。)と端末装置210側とが通信しながら協調して動作することで実現されるサービスであって、端末装置210を利用する利用者Uに対して提供されるサービスであれば、任意のサービスについて、上述した各処理を実行してよい。
For example, the
例えば、情報提供装置10は、SNS(Social Networking Service)や、各種のソーシャルゲーム等、外部サーバに登録されている情報の制御を行うことで、各種のサービスを利用者に提供するアプリケーションの開発について、エンドポイント、レスポンスコード、およびレスポンステキストの組等を受け付けると、受け付けた組と対応するエラーの内容や対応策を提供してもよい。このような実行結果が得られる場合、開発者Dは、例えば、エラーが発生したエンドポイントにおいて、どのような対応を行えばよいかを識別することができる。なお、外部サーバが管理し、アプリケーションからの制御される情報としては、任意の種別の情報が採用可能である。このような情報は、口座の残余額といった数値のみならず、各種の文字列、画像、音声等といった各種のコンテンツであってもよい。すなわち、情報提供装置10は、任意の情報を制御するアプリケーションについて、上述した各種の機能を提供してよい。
For example, the
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。図5は、実施形態に係る情報提供装置の構成例を示す図である。図5に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
[2. Configuration of information providing device]
Hereinafter, an example of the functional configuration of the above-mentioned
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置200との間で情報の送受信を行う。
The communication unit 20 is realized by, for example, a NIC (Network Interface Card) or the like. Then, the communication unit 20 is connected to the network N by wire or wirelessly, and transmits / receives information to / from the
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、エラーコードデータベース31を記憶する。
The
エラーコードデータベース31には、各エンドポイントとレスポンスコードとエラーコードとの組に対して、エラーの内容を示す情報や、対応策が対応付けて登録されている。例えば、図6は、実施形態に係るエラーコードデータベースに登録された情報の一例を示す図である。図6に示すように、エラーコードデータベース31には、「エラー種別」、「レスポンスコード」、「エラーコード」、「対応エンドポイント」、「エラー解説」、および「対応策」といった情報が対応付けて登録されている。
In the
ここで、「エラー種別」とは、エラーがどのような種別のエラーであるかを示す情報である。例えば、決済サーバ100が処理を実行する際に生じるエラーには、エラーが決済サーバ側で発生する「Downstream error」以外にも、各種の種別のエラーが存在する。そこで、エラーコードデータベース31には、各エラーがどの種別のエラーであるかを示す情報が「エラー種別」として登録されている。
Here, the "error type" is information indicating what kind of error the error is. For example, in the error that occurs when the payment server 100 executes the process, there are various types of errors other than the "Downstream error" in which the error occurs on the payment server side. Therefore, in the
「レスポンスコード」とは、エラーの種別を示す数値であり、エラーが発生した際に、決済サーバ100から提供される数値である。なお、かかる「レスポンスコード」は、「エラー種別」と一対一で対応していてもよく、していなくともよい。また、「エラーコード」とは、エラーレスポンスに含まれる文字列であって、発生したエラーの内容を示す文字列である。また、「対応エンドポイント」とは、対応付けられた「レスポンスコード」と「エラーコード」との組が示すエラーが発生しうるエンドポイントを示す情報である。 The "response code" is a numerical value indicating the type of error, and is a numerical value provided by the payment server 100 when an error occurs. The "response code" may or may not have a one-to-one correspondence with the "error type". Further, the "error code" is a character string included in the error response and is a character string indicating the content of the error that has occurred. Further, the "corresponding endpoint" is information indicating an endpoint in which an error can occur, which is indicated by a pair of the associated "response code" and "error code".
例えば、決済サーバ100とアプリケーションとが協調して実行する処理においては、すべてのエンドポイントにおいて、すべてのエラーが発生しうるわけではなく、「レスポンスコード」と「エラーコード」との組み合わせごとに、その組み合わせと対応するエラーが発生するエンドポイントが限定される。そこで、情報提供装置10は、「レスポンスコード」と「エラーコード」との組に対し、その組が示すエラーが発生しうるエンドポイントを対応付けて記憶する。
For example, in the process executed by the payment server 100 and the application in cooperation with each other, not all errors can occur at all endpoints, and each combination of "response code" and "error code" may occur. The endpoints that generate the error corresponding to the combination are limited. Therefore, the
「エラー解説」とは、対応付けられた「対応エンドポイント」が示すエンドポイントにおいて生じるエラーであって、対応付けられた「レスポンスコード」と「エラーコード」との組が示すエラーの内容を示す情報、すなわち、エラー解説情報である。また、「対応策」とは、対応付けられた「対応エンドポイント」が示すエンドポイントにおいて生じるエラーであって、対応付けられた「レスポンスコード」と「エラーコード」との組が示すエラーを解消するための対応策を示す情報である。 The "error explanation" is an error that occurs at the endpoint indicated by the associated "corresponding endpoint", and indicates the content of the error indicated by the pair of the associated "response code" and "error code". Information, that is, error commentary information. Further, the "countermeasure" is an error that occurs at the endpoint indicated by the associated "corresponding endpoint", and eliminates the error indicated by the pair of the associated "response code" and "error code". This is information that shows the countermeasures to be taken.
このように、エラーコードデータベース31には、決済サーバ100が管理する情報を制御するための処理(すなわち、エンドポイント)と、その処理において生じるエラーの種別を識別するためのエラー識別情報(すなわち、レスポンスコード)と、その処理においてエラーが生じた際に外部サーバが実行結果に含めるコードであって、その識別情報が識別する種別のエラーが生じた際に実行結果に含めるコード(すなわち、エラーコード)との組が登録されている。また、エラーコードデータベース31には、各情報の組に対し、その組と対応するエラーの内容と、そのエラーを解消するためにアプリケーションに実行させる対応策の内容を示す情報とが対応付けて登録されることとなる。
As described above, in the
例えば、図6に示す例では、エラーコードデータベース31には、エラー種別「エラー種別#1」、レスポンスコード「400」およびエラーコード「CANCELED_USER」の組に対し、対応エンドポイント「エンドポイント#2」や「エンドポイント#3」等が対応付けて登録されている。また、レスポンスコード「400」、エラーコード「CANCELED_USER」、および対応エンドポイント「エンドポイント#2」の組に対し、エラー解説「解説#2」、および対応策「対応策#2」が対応付けて登録されており、レスポンスコード「400」、エラーコード「CANCELED_USER」、および対応エンドポイント「エンドポイント#3」の組に対し、エラー解説「解説#3」、および対応策「対応策#3」が対応付けて登録されている。
For example, in the example shown in FIG. 6, in the
このような情報は、エラー種別「エラー種別#1」に属するエラーであって、レスポンスコード「400」およびエラーコード「CANCELED_USER」の組が示すエラーが、「エンドポイント#2」や「エンドポイント#3」等で発生しうる旨を示す。また、このような情報は、レスポンスコード「400」およびエラーコード「CANCELED_USER」の組が示すエラーが「エンドポイント#2」で発生した場合、このエラーの内容を示す情報が「解説#2」であり、このエラーを解消するための対応策が「対応策#2」である旨を示す。また、このような情報は、レスポンスコード「400」およびエラーコード「CANCELED_USER」の組が示すエラーが「エンドポイント#3」で発生した場合、このエラーの内容を示す情報が「解説#3」であり、このエラーを解消するための対応策が「対応策#3」である旨を示す。
Such information is an error belonging to the error type "
なお、図6に示す例では、「エラー種別#1」、「エンドポイント#1」、「解説#1」、「対応策#1」といった概念的な値を記載したが、実際には、エラーの種別を示す文字列や数値、エンドポイントを示す文字列(例えば、APIエンドポイントのURI)、エラーの内容を示す各種のコンテンツや対応策を示す各種のコンテンツがエラーコードデータベース31に登録されることとなる。
In the example shown in FIG. 6, conceptual values such as "
なお、図6に示すエラーコードデータベース31には、決済サーバ100が実際に提供するエラーレスポンスと対応するエンドポイント、レスポンスコード、およびエラーコードの組について、エラーの内容と対応策とが対応付けて登録されているが、実施形態は、これに限定されるものではない。例えば、エラーコードデータベース31には、決済サーバ100が実際には提供しないエラーレスポンスと対応するエンドポイント、レスポンスコード、およびエラーコードの組について、そのような組において提供されるエラーレスポンスが存在する旨(例えば、True)や、エラーレスポンスが存在しない旨(例えば、False)や、対応するエラーレスポンスが発行されない旨を示す情報が対応付けて登録されていてもよい。
In the
また、エラーコードデータベース31には、レスポンスコード、エラーコード、および対応エンドポイントの組み合わせごとに、エラー解説や対応策が登録されていてもよい。また、エラーコードデータベース31には、レスポンスコード、エラーコード、および対応エンドポイントの少なくともいずれか1つの情報に対し、その情報(もしくは情報の組)が決済サーバ100から提供された際に生じうるすべてのエラーのエラー解説や対応策が対応付けられていてもよい。
Further, error explanations and countermeasures may be registered in the
図5に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
Returning to FIG. 5, the explanation will be continued. The control unit 40 is a controller, and for example, various programs stored in a storage device inside the
図5に示すように、制御部40は、受付部41、特定部42、および提供部43を有する。なお、図5に示す例では、決済サーバ100のサンドボックス環境として、各種のレスポンスを提供する処理を実現するための機能構成については、図示を省略した。 As shown in FIG. 5, the control unit 40 has a reception unit 41, a specific unit 42, and a providing unit 43. In the example shown in FIG. 5, the functional configuration for realizing the processing for providing various responses as the sandbox environment of the payment server 100 is not shown.
受付部41は、外部サーバが管理する情報を制御することで所定の機能を提供するアプリケーションが外部サーバに対して所定の処理の実行を指示した際に、その外部サーバからアプリケーションに対して提供される所定の処理の実行結果を受け付ける。例えば、受付部41は、端末装置210が実行するアプリケーションが、決済サーバ100が管理する情報を制御することで各種のサービスを利用者Uに提供する際に、決済サーバ100からアプリケーションへと提供されるエラーレスポンスの情報を受け付ける。
The reception unit 41 is provided to the application from the external server when the application that provides the predetermined function by controlling the information managed by the external server instructs the external server to execute the predetermined process. Accepts the execution result of a predetermined process. For example, the reception unit 41 is provided from the payment server 100 to the application when the application executed by the
より具体的には、受付部41は、開発者端末300からの要求に従って、図2に示す解析コンテンツC10を配信し、解析コンテンツC10を介して開発者Dが入力した各種の情報を受け付ける。例えば、受付部41は、エンドポイント指定ウインドウC13を介して、外部サーバが管理する情報を制御するための処理のうち、実行結果が提供された際に実行された処理の指定、すなわち、エンドポイントの指定を受け付ける。 More specifically, the reception unit 41 distributes the analysis content C10 shown in FIG. 2 in accordance with the request from the developer terminal 300, and receives various information input by the developer D via the analysis content C10. For example, the reception unit 41 specifies the process executed when the execution result is provided, that is, the endpoint, among the processes for controlling the information managed by the external server via the endpoint designation window C13. Accepts the designation of.
また、受付部41は、レスポンスコード指定ウインドウC14を介して、実行結果とともに外部サーバから提供される情報であって、処理の実行時に発生したエラーの種別を識別する識別情報、すなわち、レスポンスコードの指定を受け付ける。また、受付部41は、エラーレスポンス入力ウインドウC15を介して、所定の処理の実行結果、すなわり、エラーレスポンスの文章の指定を受け付ける。このように、受付部41は、所定の処理の実行結果と、所定の処理の指定と、その所定の処理の実行時に発生したエラーの種別を識別する識別情報とを受け付ける。 Further, the reception unit 41 is information provided from the external server together with the execution result via the response code designation window C14, and is identification information for identifying the type of the error that occurred during the execution of the process, that is, the response code. Accept the designation. Further, the reception unit 41 receives the specification of the execution result of the predetermined process, that is, the text of the error response, via the error response input window C15. In this way, the reception unit 41 receives the execution result of the predetermined process, the designation of the predetermined process, and the identification information for identifying the type of the error that occurred during the execution of the predetermined process.
なお、受付部41は、エラーレスポンスの生データをそのまま受け付けてもよい。例えば、受付部41は、図2に示した解析コンテンツC10において、原文解析アイコンC12が選択された場合、エラーレスポンスの生データのみを受け付けることとなる。 The reception unit 41 may accept the raw data of the error response as it is. For example, when the source text analysis icon C12 is selected in the analysis content C10 shown in FIG. 2, the reception unit 41 receives only the raw data of the error response.
特定部42は、実行結果の内容に基づいて、所定の処理の実行において生じたエラーの内容を特定する。例えば、特定部42は、受付部41が受け付けたエンドポイントと、レスポンスコードと、エラーレスポンスの文章とをそれぞれ取得する。このような場合、特定部42は、エラーレスポンスの文章から、エラーコードを抽出する。そして、特定部42は、エンドポイントと、レスポンスコードと、エラーコードとの組に対応付けられたエラー解説と対応案とをエラーコードデータベース31から特定する。すなわち、特定部42は、外部サーバが管理する情報を制御するための処理(エンドポイント)と、その処理において生じるエラーの種別を識別するためのエラー識別情報(エラーコード)と、その処理においてエラーが生じた際に外部サーバが実行結果に含めるコードであって、そのエラー識別情報が識別する種別のエラーが生じた際に実行結果に含めるコード(レスポンスコード)との組に対し、そのエラーの内容と、そのエラーを解消するためにアプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたテーブル(すなわち、エラーコードデータベース31)を参照する。そして、特定部42は、受け付けられたエンドポイントと、レスポンスコードと、エラーコードとの組に対応するエラーの内容と対応情報とを特定する。
The specifying unit 42 identifies the content of an error that has occurred in the execution of a predetermined process based on the content of the execution result. For example, the specific unit 42 acquires the endpoint received by the reception unit 41, the response code, and the error response text, respectively. In such a case, the specific unit 42 extracts an error code from the text of the error response. Then, the specifying unit 42 specifies from the
なお、特定部42は、レスポンスコード、もしくは、エンドポイントが受け付けられなかった場合は、以下の処理を実行してもよい。例えば、特定部42は、レスポンスコードが受け付けられなかった場合、エラーレスポンスから特定したエラーコードとエンドポイントとの組に対応付けられたすべてのエラー解説および対応案を特定する。また、例えば、特定部42は、エンドポイントが受け付けられなかった場合、エラーレスポンスから特定したエラーコードとレスポンスコードとの組に対応付けられたすべてのエラー解説および対応案を特定する。 If the response code or the endpoint is not accepted, the specific unit 42 may execute the following processing. For example, when the response code is not accepted, the identification unit 42 specifies all the error explanations and countermeasures associated with the pair of the error code and the endpoint identified from the error response. Further, for example, when the endpoint is not accepted, the specifying unit 42 specifies all error explanations and countermeasures associated with the set of the error code and the response code specified from the error response.
また、特定部42は、特定部42は、開発者Dが原文解析アイコンC12を選択し、エラーレスポンスの生データを入力した場合、エラーレスポンスからエラーコードを特定し、特定したエラーコードと対応するすべてのエラー解説および対応案を特定してもよい。例えば、エラーコードが「CANCELED_USER」である場合、かかるエラーコードと対応付けられたエラー解説「解説#2」および対応案「対応案#2」の組、およびエラー解説「解説#3」および対応案「対応案#3」の組を特定してもよい。
Further, in the specific unit 42, when the developer D selects the original text analysis icon C12 and inputs the raw data of the error response, the specific unit 42 identifies the error code from the error response and corresponds to the specified error code. All error explanations and possible solutions may be specified. For example, when the error code is "CANCELED_USER", the set of the error explanation "Explanation # 2" and the countermeasure "Countermeasure # 2" associated with the error code, and the error explanation "
また、特定部42は、例えば、エラーレスポンスから、レスポンスコードもしくはエンドポイントの少なくともいずれか一方をさらに推定してもよい。例えば、特定部42は、エラーレスポンスからエラーコードを特定するとともに、レスポンスコードが推定できた場合、推定したレスポンスコードとエラーコードとの組に対応付けられたエラー解説や対応案を特定する。また、例えば、特定部42は、エラーレスポンスからエラーコードを特定するとともに、エンドポイントが推定できた場合、推定したエンドポイントとエラーコードとの組に対応付けられたエラー解説や対応案を特定する。また、特定部42は、エラーレスポンスから、レスポンスコードおよびエンドポイントを推定できた場合、エラーコードと、推定されたレスポンスコードと、推定されたエンドポイントとの組に対応付けられたエラー解説および対応案を特定する。 Further, the specific unit 42 may further estimate at least one of the response code and the endpoint from the error response, for example. For example, the specifying unit 42 identifies the error code from the error response, and when the response code can be estimated, specifies the error explanation and the countermeasure plan associated with the set of the estimated response code and the error code. Further, for example, the specifying unit 42 specifies an error code from the error response, and when the endpoint can be estimated, specifies an error explanation and a countermeasure plan associated with the set of the estimated endpoint and the error code. .. Further, when the response code and the endpoint can be estimated from the error response, the identification unit 42 provides an error explanation and a response associated with the error code, the estimated response code, and the set of the estimated endpoint. Identify the plan.
なお、このような推定は、例えば、エラーレスポンスに含まれる文字列と、その文字列が含まれるレスポンスが提供されるエンドポイントや、その文字列が含まれるエラーレスポンスとともに提供されるエラーコードとを対応付けたテーブルを準備することにより、実現可能となる。 It should be noted that such an estimation includes, for example, a character string included in the error response, an endpoint to which the response including the character string is provided, and an error code provided together with the error response including the character string. It can be realized by preparing the associated table.
提供部43は、特定部により特定されたエラーの内容を示す情報を提供する。また、提供部43は、特定されたエラーを解消するために行われるアプリケーションに実行させる対応策を示す対応情報を提供する。例えば、提供部43は、特定部42が特定したエラー解説および対応案を解析コンテンツC10内に配置して表示する。なお、提供部43は、エンドポイントやレスポンスコードが指定されなかった場合、各エラー解説や対応案がどのエンドポイントやレスポンスコードに対応するものであるかを示す情報をさらに表示してもよい。 The providing unit 43 provides information indicating the content of the error specified by the specific unit. In addition, the providing unit 43 provides correspondence information indicating a countermeasure to be executed by the application performed in order to resolve the specified error. For example, the providing unit 43 arranges and displays the error explanation and the countermeasure plan specified by the specific unit 42 in the analysis content C10. When the endpoint or response code is not specified, the providing unit 43 may further display information indicating which endpoint or response code each error explanation or response plan corresponds to.
なお、上述した処理は、開発者Dが入力したエンドポイントと、レスポンスコードと、エラーレスポンスに含まれるエラーコードとの対応が正しい(True)場合の処理となる。例えば、決済サーバ100は、あるエンドポイントにおいてエラーが生じた場合、そのエラーに対応するレスポンスコードとエラーコードとを提供することとなる。しかしながら、エラーの内容を考慮すると、エンドポイントごとに、発生しうるエラーと発生しないエラーが存在する。このため、開発者Dが入力したエンドポイントと、レスポンスコードと、エラーレスポンスに含まれるエラーコードとのいずれかに誤りが含まれる場合、エンドポイントとレスポンスコードとエラーコードとの対応が正しくない(False)場合がある。 The above-mentioned process is a process when the correspondence between the endpoint input by the developer D, the response code, and the error code included in the error response is correct (True). For example, when an error occurs at a certain endpoint, the payment server 100 will provide a response code and an error code corresponding to the error. However, considering the content of the error, there are errors that can occur and errors that do not occur for each endpoint. Therefore, if any of the endpoint entered by the developer D, the response code, and the error code included in the error response contains an error, the correspondence between the endpoint, the response code, and the error code is incorrect (). False) May be.
そこで、提供部43は、エンドポイントと、レスポンスコードと、エラーコードとの対応が正しくない場合は、入力に誤りがある旨の情報を提供してもよい。例えば、提供部43は、エンドポイントと、レスポンスコードと、エラーレスポンスとが受け付けられたが、特定部42により、受け付けられたエンドポイントと、レスポンスコードと、エラーコードとの組に対応付けられたエラー解説や対応案が登録されていない場合、エンドポイント、レスポンスコード、もしくはエラーレスポンスのいずれかに誤りが含まれる旨の情報を解析コンテンツC10上に配置して表示してもよい。 Therefore, if the correspondence between the endpoint, the response code, and the error code is incorrect, the providing unit 43 may provide information indicating that there is an error in the input. For example, the providing unit 43 received the endpoint, the response code, and the error response, but the specific unit 42 associated the accepted endpoint with the pair of the response code and the error code. When an error explanation or a countermeasure is not registered, information indicating that an error is included in any of the endpoint, response code, or error response may be arranged and displayed on the analysis content C10.
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、図7を用いて、情報提供装置10が実行する処理の流れについて説明する。図7は、実施形態に係る情報提供装置が実行する処理の流れの一例を示すフローチャートである。
[3. An example of the flow of processing executed by the information providing device]
Subsequently, the flow of processing executed by the
例えば、情報提供装置10は、解析コンテンツC10を配信し(ステップS101)、エラーレスポンスとともに、エンドポイントとレスポンスコードとが提供されたか否かを判定する(ステップS102)。そして、情報提供装置10は、エラーレスポンスとともに、エンドポイントとレスポンスコードとが提供された場合は(ステップS102:Yes)、エンドポイントとレスポンスコードとエラーコードとの組み合わせと対応するエラー解説および対応策を提供し(ステップS103)、処理を終了する。一方、情報提供装置10は、エンドポイントとレスポンスコードとが提供されなかった場合は(ステップS102:No)、エラーコードと対応付けられたすべてのエラー解説および対応策を提供し(ステップS104)、処理を終了する。
For example, the
〔4.変形例〕
上記では、情報提供装置10による処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する処理のバリエーションについて説明する。
[4. Modification example]
In the above, an example of the processing by the
〔4-1.情報提供処理のバリエーションについて〕
上述した解析コンテンツC10は、あくまで一例であり、任意の内容および任意のレイアウトを有する解析コンテンツC10が提供されてよい。なお、上述した解析コンテンツC10は、例えば、ウェブページ内におけるコンテンツとして提供されてもよい。例えば、情報提供装置10は、解析コンテンツC10として動作するウェブコンテンツを開発者端末300に送信してもよい。
[4-1. Variations on information provision processing]
The analysis content C10 described above is merely an example, and analysis content C10 having an arbitrary content and an arbitrary layout may be provided. The analysis content C10 described above may be provided, for example, as content in a web page. For example, the
また、情報提供装置10は、テーブルを用いたルールベースの処理ではなく、各種解析結果に応じて、エラーの内容や対応策を提供してもよい。また、情報提供装置10は、エラーの対応策として、決済サーバ100が提供するサービスの開発者に対して連絡を行うための情報(例えば、メールアドレス等)を含めてもよく、例えば、対応するエンドポイントのAPIが受け付ける情報を解説するウェブコンテンツへのリンクを設定してもよい。
Further, the
また、上述する処理は、すべて開発者端末300がスタンドアローンで実行してもよい。このような場合、開発者端末300は、図4に示すエラーコードデータベース31とともに、各部41~43として開発者端末300を動作させるプログラムを実行することにより、上述した情報提供処理を実現することができる。
Further, all the above-mentioned processes may be executed standalone by the developer terminal 300. In such a case, the developer terminal 300 can realize the above-mentioned information providing process by executing a program for operating the developer terminal 300 as each unit 41 to 43 together with the
〔4-2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[4-2. others〕
Further, among the processes described in the above-described embodiment, all or a part of the processes described as being automatically performed can be manually performed, and conversely, the processes described as being manually performed. It is also possible to automatically perform all or part of the above by a known method. In addition, information including processing procedures, specific names, various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each figure is not limited to the information shown in the figure.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Further, each component of each of the illustrated devices is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of them may be functionally or physically distributed / physically in any unit according to various loads and usage conditions. Can be integrated and configured.
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 In addition, the above-described embodiments can be appropriately combined as long as the processing contents do not contradict each other.
〔4-3.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図8に示すような構成のコンピュータ1000によって実現される。図8は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
[4-3. program〕
Further, the
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
The arithmetic unit 1030 operates based on a program stored in the
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。 The output IF 1060 is an interface for transmitting information to be output to an output device 1010 that outputs various information such as a monitor and a printer. For example, USB (Universal Serial Bus), DVI (Digital Visual Interface), and the like. It is realized by a connector of a standard such as HDMI (registered trademark) (High Definition Multimedia Interface). Further, the input IF 1070 is an interface for receiving information from various input devices 1020 such as a mouse, a keyboard, a scanner, and the like, and is realized by, for example, USB.
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。 The input device 1020 is, for example, an optical recording medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), or a tape. It may be a device that reads information from a medium, a magnetic recording medium, a semiconductor memory, or the like. Further, the input device 1020 may be an external storage medium such as a USB memory.
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。 The network IF 1080 receives data from another device via the network N and sends it to the arithmetic unit 1030, and also transmits the data generated by the arithmetic unit 1030 to the other device via the network N.
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
The arithmetic unit 1030 controls the output device 1010 and the input device 1020 via the output IF 1060 and the input IF 1070. For example, the arithmetic unit 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
For example, when the computer 1000 functions as the
〔5.効果〕
上述したように、情報提供装置10は、外部サーバが管理する情報を制御することで所定の機能を提供するアプリケーションが外部サーバに対して所定の処理の実行を指示した際に、その外部サーバからアプリケーションに対して提供される所定の処理の実行結果を受け付ける。例えば、情報提供装置10は、決済サーバ100からアプリケーションに提供されるエラーレスポンスを受け付ける。そして、情報提供装置10は、実行結果の内容に基づいて、所定の処理の実行において生じたエラーの内容を特定し、特定されたエラーの内容を示す情報を提供する。このような処理の結果、情報提供装置10は、エラーが生じた際に、開発者Dが、決済サービス等の各種サービスにおいてエラーが発生した際にどのようなエラーが発生したかを調べる手間を削減することができるので、アプリケーションの開発を促進することができる。
[5. effect〕
As described above, the
また、情報提供装置10は、特定されたエラーを解消するために行われる対応策を示す対応情報を提供する。この結果、情報提供装置10、どのような対応策でエラーを解消できるのかを調べる手間を削減することができるので、アプリケーションの開発を促進させることができる。
In addition, the
また、情報提供装置10は、外部サーバが管理する情報を制御するための処理のうち、実行結果が提供された際に実行された処理の指定をさらに受け付け、実行結果の内容と、指定された処理との組み合わせに応じて、エラーの内容を特定する。このため、情報提供装置10は、例えば、エンドポイントごとにエラーの内容が異なる場合であっても、適切に発生したエラーの内容や解決策を提供することができるので、アプリケーションの開発を促進するために提供する情報の精度を向上させることができる。
Further, the
また、情報提供装置10は、処理の指定が受け付けられなかった場合は、実行結果の内容と、外部サーバが管理する情報を制御するための処理とのすべての組み合わせについて、対応するエラーの内容を特定する。このため、情報提供装置10は、エンドポイントが不明であっても、適切にエラーの内容や解決策を提供することができるので、アプリケーションの開発を促進するために提供する情報の精度を向上させることができる。
Further, when the processing specification is not accepted, the
また、情報提供装置10は、実行結果とともに外部サーバから提供される情報であって、処理の実行時に発生したエラーの種別を識別するエラー識別情報をさらに受け付け、実行結果の内容と、エラー識別情報との組み合わせに応じて、エラーの内容を特定する。このため、情報提供装置10は、例えば、レスポンスコードとエラーコードとの組み合わせに応じて、エラーの内容や解決策を提供することができるので、アプリケーションの開発を促進するために提供する情報の精度を向上させることができる。
Further, the
また、情報提供装置10は、エラー識別情報が受け付けられなかった場合は、実行結果の内容と、外部サーバが提供するエラー識別情報とのすべての組み合わせについて、対応するエラーの内容を特定する。このため、情報提供装置10は、レスポンスコードが不明であっても、エラーの内容や解決策を提供することができるので、アプリケーションの開発を促進するために提供する情報の精度を向上させることができる。
Further, when the error identification information is not accepted, the
また、情報提供装置10は、処理の実行時にエラーが生じた際に外部サーバが提供する情報に対し、そのエラーの内容と、エラーを解消するためにアプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたテーブル、すなわちエラーコードデータベース31を参照し、所定の処理の実行結果に対応するエラーの内容と対応情報とを特定する。例えば、情報提供装置10は、所定の処理の実行結果、すなわちエラーレスポンスを受け付ける。そして、情報提供装置10は、テーブルとして、処理においてエラーが生じた際に外部サーバが実行結果に含めるコード、すなわち、エラーコードに対してエラーの内容と、対応策の内容を示す対応情報とを対応付けたテーブルを参照し、受付られたエラーレスポンスに含まれるエラーコードに対応するエラーの内容と対応情報とを特定する。
Further, the
また、情報提供装置10は、所定の処理の指定、すなわち、エンドポイントの指定を受け付ける。そして、情報提供装置10は、テーブルとして、各エンドポイントに対して、処理の実行時に生じるエラーの内容と、エラーを解消するためにアプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたテーブルを参照し、指定されたエンドポイントに対応するエラーの内容と対応情報とを特定する。また、情報提供装置10は、所定の処理の実行時に発生したエラーの種別を識別するエラー識別情報、すなわち、レスポンスコードを受け付ける。そして、情報提供装置10は、テーブルとして、各レスポンスコードに対し、エラーの内容と、エラーを解消するためにアプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたテーブルを参照し、受け付けられたレスポンスコードに対応するエラーの内容と対応情報とを特定する。
Further, the
また、エラーコードデータベース31は、上述した情報提供装置10に用いられるデータ構造を有する。例えば、エラーコードデータベース31は、外部サーバが管理する情報を制御することで所定の機能を提供するアプリケーションが外部サーバに対して実行を指示した際に外部サーバがアプリケーションに提供する情報であって、当該処理の実行時にエラーが生じた際に提供される情報に対し、エラーの内容と、エラーを解消するためにアプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたデータ構造である。また、このようなエラーコードデータベース31は、情報提供装置10が、外部サーバに対して所定の処理の実行を指示した際に、外部サーバから提供された情報を受け付け、受け付けた情報と対応付けられたエラーの内容と、対応情報とを特定し、特定したエラーの内容と対応情報とを提供する処理に用いられるデータ構造を有する。このため、エラーコードデータベース31には、情報提供装置10が、エラーレスポンスからエラーの内容や対応策を示すという使用目的に応じた特有の情報の演算又は加工を実現するための情報が登録されていることとなり、情報提供装置10の動作方法を構築するものであるため、アプリケーションの開発を促進することができるという効果を情報提供装置10に発揮させることができる。
Further, the
また、情報提供装置10は、所定の処理の実行結果と、所定の処理の指定と、その所定の処理の実行時に発生したエラーの種別を識別するエラー識別情報とを受け付ける。そして、情報提供装置10は、外部サーバが管理する情報を制御するための処理と、その処理において生じるエラーの種別を識別するためのエラー識別情報と、その処理においてエラーが生じた際に外部サーバが実行結果に含めるコードであって、そのエラー識別情報が識別する種別のエラーが生じた際に実行結果に含めるコードとの組に対し、そのエラーの内容と、そのエラーを解消するためにアプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたテーブル(すなわち、エラーコードデータベース31)を参照し、所定の処理の実行結果と、所定の処理の指定と、その所定の処理の実行時に発生したエラーの種別を識別するエラー識別情報との組に対応するエラーの内容と対応情報とを特定する。上述した処理の結果、情報提供装置10は、レスポンスコードと、エンドポイントと、エラーレスポンスに含まれるエラーコードとのそれぞれ、もしくはこれらの情報の組み合わせに応じて、エラーの内容や解決策を提供することができる。
Further, the
また、情報提供装置10は、外部サーバが管理する口座間における送金の送受信を実現するためのアプリケーションが外部サーバに対して所定の処理の実行を指示した際に、その外部サーバからアプリケーションに対して提供される所定の処理の実行結果を受け付ける。例えば、情報提供装置10は、支払元が利用する端末装置で実行されるアプリケーションであって、支払先を示す支払先識別情報を撮影すると、支払元の口座から撮影された支払先識別情報が示す支払先の口座へと端末装置を介して入力された額の送金を行うよう外部サーバが管理する情報を制御するアプリケーションが提供する機能の指定を受け付ける。また、例えば、情報提供装置10は、支払元の口座から支払先の口座へと入力された額の送金を行うよう外部サーバが管理する情報を制御する支払先が利用する端末装置が読み取り可能な識別情報であって、支払元を識別する支払元識別情報を表示するアプリケーションが提供する機能の指定を受け付ける。このような処理の結果、情報提供装置10は、決済サーバ100が管理する各口座間の送金等を制御するアプリケーションが、決済サーバ100に対して各種のパラメータを提供した際に、決済サーバ100から提供されるエラーレスポンスから、エラーの内容や解決策を特定し、開発者Dに提供することができる。このため、情報提供装置10は、決済サービスに用いられるアプリケーションの開発を促進することができる。
Further, the
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 Although some of the embodiments of the present application have been described in detail with reference to the drawings, these are examples, and various modifications are made based on the knowledge of those skilled in the art, including the embodiments described in the disclosure column of the invention. It is possible to carry out the present invention in other modified forms.
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、付与部は、特定手段や特定回路に読み替えることができる。 Further, the above-mentioned "section, module, unit" can be read as "means" or "circuit". For example, the imparting unit can be read as a specific means or a specific circuit.
10 情報提供装置
20 通信部
30 記憶部
31 エラーコードデータベース
40 制御部
41 受付部
42 特定部
43 提供部
100 決済サーバ
200 端末装置
300 開発者端末
10 Information provider 20
Claims (17)
前記実行結果の内容に基づいて、前記所定の処理の実行において生じたエラーの内容を特定する特定部と、
前記特定部により特定されたエラーの内容を示す情報を提供する提供部と
を有することを特徴とする情報提供装置。 When an application that provides a predetermined function by controlling information managed by an external server instructs the external server to execute a predetermined process, the predetermined value provided from the external server to the application. The reception unit that accepts the execution result of the processing of
A specific unit that identifies the content of an error that occurred in the execution of the predetermined process based on the content of the execution result, and
An information providing device including a providing unit that provides information indicating the content of an error specified by the specific unit.
ことを特徴とする請求項1に記載の情報提供装置。 The information providing device according to claim 1, wherein the providing unit further provides correspondence information indicating a countermeasure taken to resolve the identified error.
前記特定部は、前記実行結果の内容と、指定された処理との組み合わせに応じて、前記エラーの内容を特定する
ことを特徴とする請求項1または2に記載の情報提供装置。 The reception unit further accepts the designation of the process executed when the execution result is provided among the processes for controlling the information managed by the external server.
The information providing device according to claim 1 or 2, wherein the specifying unit specifies the content of the error according to a combination of the content of the execution result and the designated process.
ことを特徴とする請求項3に記載の情報提供装置。 When the specification of the process is not accepted, the specific unit determines the content of the corresponding error for all combinations of the content of the execution result and the process for controlling the information managed by the external server. The information providing device according to claim 3, characterized in that it is specified.
前記特定部は、前記実行結果の内容と、前記エラー識別情報との組み合わせに応じて、前記エラーの内容を特定する
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報提供装置。 The reception unit further receives the error identification information that is the information provided from the external server together with the execution result and identifies the type of the error that occurred during the execution of the process.
The information according to any one of claims 1 to 4, wherein the specific unit specifies the content of the error according to the combination of the content of the execution result and the error identification information. Providing equipment.
ことを特徴とする請求項5に記載の情報提供装置。 The specific unit is characterized in that, when the identification information is not accepted, the content of the corresponding error is specified for all combinations of the content of the execution result and the identification information provided by the external server. The information providing device according to claim 5.
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報提供装置。 The specific unit indicates the content of the error and the content of the countermeasure to be executed by the application in order to eliminate the error with respect to the information provided by the external server when an error occurs during execution of the process. The invention according to any one of claims 1 to 6, wherein the content of the error corresponding to the execution result of the predetermined process and the corresponding information are specified by referring to the table associated with the information. Information providing device.
前記特定部は、前記テーブルとして、処理においてエラーが生じた際に前記外部サーバが前記実行結果に含めるコードに対し、当該エラーの内容と、当該エラーを解消するために前記アプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたテーブルを参照し、前記所定の処理の実行結果に含まれるコードに対応するエラーの内容と対応情報とを特定する
ことを特徴とする請求項7に記載の情報提供装置。 The reception unit receives the execution result of the predetermined process, and receives the execution result.
As the table, the specific unit is a countermeasure for the code included in the execution result by the external server when an error occurs in the process, the content of the error, and the countermeasure to be executed by the application in order to eliminate the error. The seventh aspect of claim 7, wherein the content of the error corresponding to the code included in the execution result of the predetermined process and the corresponding information are specified by referring to the table associated with the corresponding information indicating the contents of the above. Information providing device.
前記特定部は、前記テーブルとして、前記外部サーバが実行する処理に対し、当該処理の実行時に生じるエラーの内容と、当該エラーを解消するために前記アプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたテーブルを参照し、前記指定された所定の処理に対応するエラーの内容と対応情報とを特定する
ことを特徴とする請求項7または8に記載の情報提供装置。 The reception unit receives the designation of the predetermined process, and receives the designation.
The specific unit, as the table, provides correspondence information indicating the contents of an error that occurs when the processing is executed by the external server and the contents of countermeasures to be executed by the application in order to eliminate the error. The information providing device according to claim 7 or 8, wherein the content of the error corresponding to the specified predetermined process and the corresponding information are specified by referring to the table associated with the above.
前記特定部は、前記テーブルとして、所定のエラーの種別を示すエラー識別情報に対し、当該エラーの内容と、当該エラーを解消するために前記アプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたテーブルを参照し、受け付けられた前記エラー識別情報に対応するエラーの内容と対応情報とを特定する
ことを特徴とする請求項7~9のうちいずれか1つに記載の情報提供装置。 The reception unit receives error identification information that identifies the type of error that occurred during the execution of the predetermined process, and the specific unit receives the error identification information indicating the type of the predetermined error as the table. Refer to the table that associates the contents of the above with the correspondence information indicating the contents of the countermeasures to be executed by the application to solve the error, and the contents of the error corresponding to the received error identification information and the correspondence information. The information providing device according to any one of claims 7 to 9, wherein the information providing device is characterized by specifying the above.
前記特定部は、前記外部サーバが管理する情報を制御するための処理と、当該処理において生じるエラーの種別を識別するためのエラー識別情報と、当該処理においてエラーが生じた際に前記外部サーバが前記実行結果に含めるコードであって、当該エラー識別情報が識別する種別のエラーが生じた際に実行結果に含めるコードとの組に対し、当該エラーの内容と、当該エラーを解消するために前記アプリケーションに実行させる対応策の内容を示す対応情報とを対応付けたテーブルを参照し、前記所定の処理の実行結果と、前記所定の処理の指定と、当該所定の処理の実行時に発生したエラーの種別を識別するエラー識別情報との組に対応するエラーの内容と対応情報とを特定する
ことを特徴とする請求項1~9のうちいずれか1つに記載の情報提供装置。 The reception unit receives the execution result of the predetermined process, the designation of the predetermined process, and the error identification information for identifying the type of the error that occurred during the execution of the predetermined process.
The specific unit includes processing for controlling information managed by the external server, error identification information for identifying the type of error that occurs in the processing, and the external server when an error occurs in the processing. For the set of the code included in the execution result and the code included in the execution result when an error of the type identified by the error identification information occurs, the content of the error and the above-mentioned in order to eliminate the error. Refer to the table associated with the correspondence information indicating the contents of the countermeasures to be executed by the application, the execution result of the predetermined process, the specification of the predetermined process, and the error that occurred when the predetermined process is executed. The information providing device according to any one of claims 1 to 9, wherein the content of the error corresponding to the pair with the error identification information for identifying the type and the corresponding information are specified.
ことを特徴とする請求項1~11のうちいずれか1つに記載の情報提供装置。 When an application for realizing remittance transmission / reception between accounts managed by the external server instructs the external server to execute a predetermined process, the reception unit receives the application from the external server. The information providing device according to any one of claims 1 to 11, wherein the provided execution result of the predetermined process is received.
ことを特徴とする請求項12に記載の情報提供装置。 The reception unit is an application executed on the terminal device used by the payer, and when the payee identification information indicating the payee is photographed, the payment indicated by the photographed payee identification information is taken from the account of the payer. The twelfth aspect of claim 12, wherein the specification of the function provided by the application that controls the information managed by the external server is accepted so that the amount of money input to the destination account is transferred via the terminal device. Information providing device.
ことを特徴とする請求項12または13に記載の情報提供装置。 The reception unit uses identification information that can be read by the terminal device used by the payee, which controls information managed by the external server so as to transfer the amount input from the payer's account to the payee's account. The information providing device according to claim 12 or 13, wherein the information providing device is characterized by accepting designation of a function provided by an application that displays payment source identification information for identifying a payment source.
所定の情報提供装置が、
前記外部サーバに対して所定の処理の実行を指示した際に、当該外部サーバから提供された情報を受け付け、
受け付けた情報と対応付けられたエラーの内容と、対応情報とを特定し、
特定したエラーの内容と対応情報とを提供する
処理に用いられることを特徴とするデータ構造。 Information provided by the external server to the application when an application that provides a predetermined function by controlling information managed by the external server instructs the external server to execute, and is information provided to the application when the process is executed. It is a data structure in which the content of the error and the corresponding information indicating the content of the countermeasure to be executed by the application to solve the error are associated with the information provided when the error occurs.
The prescribed information providing device
When instructing the external server to execute a predetermined process, the information provided by the external server is accepted and received.
Identify the content of the error associated with the received information and the corresponding information,
A data structure characterized by being used in a process that provides the content of the identified error and the response information.
外部サーバが管理する情報を制御することで所定の機能を提供するアプリケーションが前記外部サーバに対して所定の処理の実行を指示した際に、当該外部サーバから前記アプリケーションに対して提供される前記所定の処理の実行結果を受け付ける受付工程と、
前記実行結果の内容に基づいて、前記所定の処理の実行において生じたエラーの内容を特定する特定工程と、
前記特定工程により特定されたエラーの内容を示す情報を提供する提供工程と
を含むことを特徴とする情報提供方法。 It is an information providing method executed by the information providing device.
When an application that provides a predetermined function by controlling information managed by an external server instructs the external server to execute a predetermined process, the predetermined value provided from the external server to the application. The reception process that accepts the execution result of the processing of
A specific step for specifying the content of an error that occurred in the execution of the predetermined process based on the content of the execution result, and
An information providing method including a providing step for providing information indicating the content of an error specified by the specific step.
前記実行結果の内容に基づいて、前記所定の処理の実行において生じたエラーの内容を特定する特定手順と、
前記特定手順より特定されたエラーの内容を示す情報を提供する提供手順と
をコンピュータに実行させるための情報提供プログラム。 When an application that provides a predetermined function by controlling information managed by an external server instructs the external server to execute a predetermined process, the predetermined value provided from the external server to the application. The reception procedure for accepting the execution result of the process of
A specific procedure for identifying the content of an error that occurred in the execution of the predetermined process based on the content of the execution result, and
An information providing program for causing a computer to execute a providing procedure that provides information indicating the content of an error specified by the specific procedure.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020113007A JP7059322B2 (en) | 2020-06-30 | 2020-06-30 | Information providing equipment, information providing method, data structure and information providing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020113007A JP7059322B2 (en) | 2020-06-30 | 2020-06-30 | Information providing equipment, information providing method, data structure and information providing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022011698A true JP2022011698A (en) | 2022-01-17 |
JP7059322B2 JP7059322B2 (en) | 2022-04-25 |
Family
ID=80148343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020113007A Active JP7059322B2 (en) | 2020-06-30 | 2020-06-30 | Information providing equipment, information providing method, data structure and information providing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7059322B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101377510B1 (en) * | 2012-03-29 | 2014-03-24 | 현대제철 주식회사 | Rolling mill |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030037291A1 (en) * | 2001-08-17 | 2003-02-20 | International Business Machines Corporation | Method, system and program for handling errors occurring in function calls |
US6594697B1 (en) * | 1999-05-20 | 2003-07-15 | Microsoft Corporation | Client system having error page analysis and replacement capabilities |
JP2019144680A (en) * | 2018-02-16 | 2019-08-29 | 日本電信電話株式会社 | Error conversion server, error conversion method and error conversion program |
-
2020
- 2020-06-30 JP JP2020113007A patent/JP7059322B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594697B1 (en) * | 1999-05-20 | 2003-07-15 | Microsoft Corporation | Client system having error page analysis and replacement capabilities |
US20030037291A1 (en) * | 2001-08-17 | 2003-02-20 | International Business Machines Corporation | Method, system and program for handling errors occurring in function calls |
JP2019144680A (en) * | 2018-02-16 | 2019-08-29 | 日本電信電話株式会社 | Error conversion server, error conversion method and error conversion program |
Also Published As
Publication number | Publication date |
---|---|
JP7059322B2 (en) | 2022-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11062320B2 (en) | User account controls for online transactions | |
US11756019B2 (en) | SDK for dynamic workflow rendering on mobile devices | |
EP3739535A1 (en) | Payment method, apparatus, related device, and system | |
JP7059322B2 (en) | Information providing equipment, information providing method, data structure and information providing program | |
JP6963083B1 (en) | Information processing equipment, information processing methods and information processing programs | |
CA3017614A1 (en) | Merchant loyalty account enrollment through payment checkout platform services | |
US20120290445A1 (en) | Delegated application authorization with inline purchase | |
KR20150027131A (en) | Systems, methods, and computer program products for providing offers to mobile wallets | |
JP6993473B1 (en) | Information providing equipment, information providing method and information providing program | |
JP6963702B1 (en) | System and method | |
JP7009588B1 (en) | Information processing device, judgment method and judgment program | |
JP2021149658A (en) | Selection unit, method for selection, and selection program | |
JP7342235B1 (en) | Information processing device, information processing method, and information processing program | |
US10382541B2 (en) | Server and method for providing design data for application and system for generating application | |
JP7075431B2 (en) | Providing equipment, providing method and providing program | |
JP7374277B1 (en) | Information processing device, information processing method, and information processing program | |
JP7023343B1 (en) | Creation device, creation method and creation program | |
JPWO2010116984A1 (en) | Server cooperation system with reward, server cooperation method with reward, and server cooperation program with reward | |
US20220122059A1 (en) | Prepaid card value redemption | |
JP2022060451A (en) | Provision device, provision method, and provision program | |
US10733624B2 (en) | System, method, and device for managing events | |
JP2018041411A (en) | Information management system and information management device | |
JP2016004296A (en) | Use detail information management device, use detail information management method, use detail information management system, and program | |
KR20220142630A (en) | Mobile platform system and method for interworking central and local servers | |
JP2022145215A (en) | Reception apparatus, reception method, and reception program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211028 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220413 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7059322 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |