APIを使ったERPとのデータ連携について
#1
2020/4/16 (木) 08:45
APIを使ったERPとのデータ連携について
お世話になっております。
現在、Next Engineの利用を検討中の企業様向けにアプリの開発を検討していますが、基幹業務(ERP)との連携において何点か質問させてください。
1. Next Engine のビジネスデータと ERP のビジネスデータを連携する予定です。Next Engine のデータを定期的に転送/コピーしたり、ERP のデータをもって Next Engine のデータを更新したりします。
ERP から直接 API をコールしてこれらの処理を行うため、アプリケーションサーバーの PHP コード等を使いません。その場合、アプリケーション申請時の「Redirect URI」には何を入力すればよろしいでしょうか?
2. コミュニティで既に質問されていますが、2020年4月現在、外部からAPIをコールする際には、ログイン画面を経なければその後の処理を行えないという状況には変わりないでしょうか?つまり、外部のプログラム中でユーザーIDとパスワードを明示的に記述して、ログイン画面を経ずに処理を行うというのはできないという理解で正しいでしょうか?
3. 1、2 に関連していますが、貴社ご提供の「freee専用「会計ソフト連携アプリ」」の説明中に、「連携頻度は1日1回。連携時間は設定可能!」とありますが、これは誰もログインしていない状態でも動作するのでしょうか?もし同様のアプリを開発できれば、1、2の課題は解決出来そうですが、いかがでしょうか?
ご教授よろしくお願い致します。
Re: APIを使ったERPとのデータ連携について
ご連絡が遅くなり誠に申し訳ございません。
1~3につきまして、内容を確認のうえ、
回答いたしますので今しばらくお待ちくださいませ。
お手数をおかけしますが、よろしくお願い致します。
お手数をおかけしますが、よろしくお願い致します。
Re: お手数をおかけしますが、よろしくお願い致します。
回答が遅くなり申し訳ございません。
1.
バッチでの処理を計画されていらっしゃるかと存じますので、
そちらを前提として回答申し上げます。
バッチ処理を実行するためにはaccess_token,refresh_tokenが必要となり
それらを取得するためにはアプリケーションサーバーを介する必要がございます。
※下記ページ中段「バッチ処理」参照
https://developer.next-engine.com/api/auth
そして、アプリケーションサーバーを介す際に、アプリ作成時に設定した
「RedirectURI」にURLパラメータ(uid,state)を付与した状態でリダイレクトします。
(上記ページ上部「ネクストエンジン本体にアクセス」参照)
そのため、access_tokenおよびrefresh_tokenを取得する画面を作成する必要がございます。
なお、バッチ処理のみの実装の場合でも初回のみログイン画面を経由する必要がございます。
2.
上記1.で記述いたしましたように、access_token,refresh_tokenを取得する際には
アプリケーションサーバーを介する必要があり、また、初回のみログイン画面を
経由する必要がございます。
3.
前述いたしました「バッチ処理」に記載のとおり、事前に処理内容を準備のうえ、
access_token,refresh_tokenを保持・更新する仕組みを構築いただければ
例えば「1日に1回23時に実行」といった処理が可能になります。
ご返信をありがとうございます。
ご返信をありがとうございます。
初歩的な同じことを何度もお聞きするようで申し訳ないのですが、再度確認させてください。処理については、Next Engineからのデータの抽出、Next Engineのデータの更新、をバッチにて定期的に行う要件となります。
1. 2. 「初回ログイン」とありますが、これは、定期処理について、一回だけログインすれば、あとは毎日同じ時刻に処理する場合でも、以後は一切ログインが不要ということでしょうか?また、繰り返しになりますが、ログインは必ずWebブラウザ上で、マニュアルでユーザーID/パスワードを入力する必要があるという理解でよろしいでしょうか?
3. 定期バッチ処理は、あくまでこちらで用意するアプリケーションサーバーでそのような仕組みを構築する必要があり、Next Engineで何らかの設定を行うことはできないということでしょうか?また、Tokenは最長3日使用できるということですが、更新する際には、再度上述の方法でのログインが必要になりますか?
以上、よろしくお願い致します。
Re: ご返信をありがとうございます。
>定期処理について、一回だけログインすれば、あとは毎日同じ時刻に処理する場合でも、
以後は一切ログインが不要ということでしょうか?
さようでございます。
ただし、バッチ処理の際には必ずaccess_token,refresh_tokenが必要となります。
>ログインは必ずWebブラウザ上で、マニュアルでユーザーID/パスワードを
入力する必要があるという理解でよろしいでしょうか?
相違ございません。
>Next Engineで何らかの設定を行うことはできないということでしょうか?
はい、ネクストエンジン側で設定を行うことはできかねます。
>Tokenは最長3日使用できるということですが、更新する際には、
再度上述の方法でのログインが必要になりますか?
各エンドポイントに対しリクエストを送った際にaccess_toke,refresh_tokenが
レスポンスされますので、そちらを保持する仕組みを構築していただき、
次回リクエスト時に、その保持していたtokenを利用しバッチ処理を実行することで
ログイン処理は不要となります。
ご丁寧にありがとうございます。
ご丁寧にありがとうございます。
そうなると、以下のような対応となると思いますが、ご確認いただけますか?
1. 定期バッチジョブはすべてこちらで構築するアプリケーションサーバーにて処理する。
2. スケジュールについても、そのような仕組みをアプリケーションサーバーに構築する。
3. 初回ログインのみは対話形式にてブラウザ上で行い、その際のトークンをアプリケーションサーバー上のDBに保存するような仕掛けを作り、以後はこのトークンをもって、次のトークンの更新をし続ける。
4. これにより、ログインは初回のみで、以後はスケジュールバッチジョブを人手を介さずに行うことが可能となる。
何度も申し訳ありませんが、よろしくお願い致します。
Re: ご丁寧にありがとうございます。
バッチ処理につきましては、ご提示いただいた内容でアプリを構築していただくことになります。
何とぞよろしくお願いいたします。
情報を取り出すテストプログラムを使い
情報を取り出すテストプログラムを使い、ログイン画面を経ずに商品一覧が取り出せることを確認できました。
また、トークンが更新されることも確認しました。
お忙しいところサポートいただきありがとうございました。