Megaplan APIの使用経験

それ以前は、CRM Megaplanに出会ったことがなく、CRM Megaplanが存在することを知りませんでした。 私の良き知人の1人が副業を提供してくれ、彼の知人の1人が作業を自動化するための小さなプログラムやスクリプトを書くプログラマを探していたと言いました。

何らかのシステムからAPIデータを取得して処理し、XLSに出力する必要があると言われていました。 提案は私にとって面白そうに思えたので、顧客に電話して予約を入れました。







私はメガプラン自体とは何の関係もないことをすぐに言いたいので、宣伝するつもりはありません。







問題の声明



顧客-約50人の従業員を持つ企業。







従業員、プロジェクト、およびタスクはCRMで確立されます。







従業員は割り当てられたタスクを実行します。 タスクへのコメントでは、労働時間数を示しています。 さらに、コアクロック(マシンタイムクロック)がタスクに費やされます。







また、各タスクの個別のフィールドに示されます。







顧客は、指定された期間のMegaplanからのデータに従って、XLSでレポートを生成する必要があります。







プロジェクトごと、タスクごとに、費やされた労働時間と「コア時間」を知る必要があります。







つまり コストは最初にプロジェクトごとに、次にタスクごとに、次に各従業員ごとにグループ化されます。







次の図にサンプルレポートを示します。







画像







顧客はMega Planを使用してこのようなレポートを受信できませんでした。 したがって、問題を解決するプログラム/スクリプトを開発するために、サードパーティの開発者を招待することが決定されました。







期間:1週間。

価格:2万ルーブル。







予算は少なく、Megaplan APIの使用経験に関するインターネット上の情報はさらに少なくなります。 私はこの記事をHabréで見つけましたが、楽観的な見方はまったくしませんでした。 問題の匂いがして、お金はあまり必要ありませんでしたが、面白かったので、私は人々の日常生活を助けたいと思いました。 同意した。







Megaplan APIを使用するためのスクリプト言語とライブラリの選択



最初は、Pythonを使い、APIドキュメントを読み、スクリプトを書きたいという要望がありました。

APIによってMegaplanに必要なすべてのデータを要求し、それらを処理してXLSXに表示します。







ただし、APIの問題は最初から始まりました。 リクエストごとに必要なことが判明しました

何らかのアルゴリズムに従ってX-Authorizationヘッダーの値を計算します。







つまり curlまたはhttpieでAPIを学習するだけでは機能しません。







したがって、Megaplan APIを使用するには、「角を切り」、既製のライブラリを探す必要があることに気付きました。 私は主にPythonとJavascriptのライブラリに興味がありました。 githubで、 次のライブラリを見つけました。 それらのほとんどは死んだプロジェクトであり、PHPにはさらに多くの「クラフト」があります。







長い間選択する必要がなかったので、javascript言語のライブラリに決めました

megaplanjs







まず、フロントエンドには毎日JavaScriptを使用しています。







第二に、javascriptコマンドライン用に何かを開発するのは面白かったです。

第三に、ライブラリをすばやくインストールできました(npmに感謝)。

ドキュメントと...私のアプリケーションはすでにMegaplanで認証でき、

プロジェクトのリストを取得します。 やった!







Megaplan APIで検出された問題





終了方法と結論



私はタスクを解決できましたが、計画よりもはるかに多くの時間を費やしました。







今回は支払われず、顧客は結果を必要としていました。 彼がどのように達成されるか、彼は興味がありません。







3回、サポートサービスに連絡しました。 すぐにではなく、助けました。 ありがとう







subjを行うことだけを考えている開発者には、リスクをよりよく評価し、開発により多くの時間を費やすことをお勧めします。







現在、Megaplanには、APIの新しいバージョン-バージョン3があります(バージョン1を使用し、バージョン2は使用していませんか?)。 バージョン3を見て、必要なもの(プロジェクト、タスク、従業員)が見つかりませんでした。 バージョン3はバージョン1への単なる追加であり、代替ではありません。 また、APIを使用した作業を簡素化すると約束していることも読みました。リクエストごとにX-Authorizationヘッダーを作成する必要はありません。







スクリプトのソースコードをgithubに投稿しました。

必要に応じて、アプリケーションをすばやく起動するための例として使用できます。







みなさん、幸運を祈ります!








All Articles