Bitrix24の2種類のアプリケーション

「Bitrix24」は、会社の仕事を整理するためのツールの完全なセットです。 ここでは、チーム内でコミュニケーションを作成したり、タスクやプロジェクトを管理したり、さまざまなドキュメント、CRM、コミュニケーションなどを操作したりするために必要なすべてを見つけることができます。 クラウドサービスの標準的な手段では特定のビジネス上の問題を解決できない場合がよくあります。 クライアントと開発者は、 オープンAPIを使用して、特定のタスクにクラウドを簡単に適合させ、ビジネスロジックをカスタマイズできます。



必要に応じて、独立して開発されたアプリケーションの助けを借りてツールキットを拡張できます。アプリケーションは条件付きで2つのタイプに分けられます。





パートナーの多くは、Bitrix24用に独自のアプリケーションを作成しています。 誰かが自分のニーズのためだけにこれを行い、誰かがそれをパブリックドメインに無料で置き、誰かがそれでお金を稼ぐことができます。 パートナーの1人もかつてBitrix24の開発に興味を持ち、これで印象的な結果を達成しました-そのアプリケーションは既に3万以上のBitrix24ポータルで使用されています。 また、ニーズに合ったアプリケーションの開発を計画している場合は、パートナーからの推奨事項とアドバイスが役立つかもしれません。



内部アプリケーションは、常にBitrix24インターフェイス内で動作します。 外部は、インターフェースの内側と外側の両方で機能します。 どちらのタイプのアプリケーションも、作業にREST API使用しているため、データを処理および使用する機会は等しくあります。



Bitrix24向けに独自のアプリケーションを開発する場合、外部または内部のタイプを選択して、解決するタスクとそのために必要な手段をガイドする必要があります。



内部アプリケーション



内部アプリケーションは、作業にHTML + JavaScript + CSSを使用します。 PHP、mySQL、cronなどのツールは使用できません。 しかし、これは、 生産カレンダーのような単純なアプリケーションしか作成できないという意味ではありません。 アプリケーションでは、jQueryなどのJavaScriptフレームワークを自由に使用できます。 リモートライブラリを接続することができます。たとえば、Google Chartを使用して、 Charts and Graphsアプリケーションのように、さまざまなグラフィカルレポートを作成できます。 その中で最も興味深いのは、作成された図を「ライブ」フィードで公開することです。 次のようになります。



<script> fields = {POST_TITLE: varTitle, POST_MESSAGE: varMessage}; BX24.callMethod('log.blogpost.add', fields, function(result){ if(!result.error()){ //  } else{ //    } }); </script>
      
      





このメッセージは、すべてのポータルユーザーが受信します。



PHPでサーバーアプリケーションを使用する場合、上記のコードは次のようになります。



 <? $arFields = array( "auth" => $auth, "POST_TITLE" => $imTitle, "POST_MESSAGE" => $imMessage, "SPERM"=> array('U'=>explode(',', $user)) ); $url = 'https://' . $domain . '/rest/log.blogpost.add.json'; $res = file_get_contents($url . '?' . http_build_query($arFields)); ?>
      
      





SPERMパラメーターで指定されたユーザーのみがこのメッセージを受け取ります。



もちろん、内部アプリケーションの範囲は非常に広く、これらの例に限定されません。 彼らの助けを借りて、あらゆる種類のデータ操作を実行できます。 たとえば、特定の間隔で取引相手のすべてのトランザクションを選択し、それらの金額を計算し、それに応じて、ユーザーフィールド「割引率」の値を設定します。



一般に、REST API + HTML + JavaScriptバンドルは、Bitrix24の内部アプリケーションを作成する際の創造性の最も広い範囲を提供します。 制限をリストする方が簡単です。 たとえば、データベースを使用して情報を収集したり、cronを使用してアプリケーションやその機能をスケジュールどおりに起動したり、CRMイベントに応答したり、外部サービスと交換したりすることはできません。



上記のいずれかが必要な場合は、外部(サーバー)アプリケーションを作成する必要があります。



外部(サーバー)アプリケーション



このタイプのアプリケーションは、開発者のサーバーにあるスクリプトです。 そのようなアプリケーションを実装する場合、開発者は利用可能なすべてのツール(ライブラリ、データベース、特別なサービスなど)を使用してタスクを解決できます。



サーバーアプリケーションは、条件付きで2つのサブタイプに分けることができます。



サーバーアプリケーションには、REST API呼び出しログを保存して技術サポートの問題を解決するための小さな要件があります。



内部ロジックの実装の観点からは、これらのサブタイプ間に基本的な違いはありません。 それらは、Bitrix24に接続してデータへのアクセスを拡張する方法のみが異なります。



インターフェイス内で実行されるアプリケーションは、より簡単に接続できます。 原則として、接続手順はありません。アプリケーションをインストールするだけです。 データを操作するには、アクセスキーを定期的に更新する必要がありますが、これは自動的に行われます。



Bitrix24インターフェイスの外部で動作するアプリケーションは、アクセスキーを接続および更新するために特定のアクションを必要とします。 これらのプロセスは両方とも、REST APIのドキュメントで説明されています。



たとえば、PHPを使用してファイルを生成する必要がある場合、アプリケーションは外部でなければなりません。 例は「 ドキュメントデザイナ 」です。 このアプリケーションは、CRMのデータとカスタムドキュメントテンプレートに基づいて、.PDFおよび.DOCX形式のドキュメントを作成します。 このスキームでは、Bitrix24は「サーバー」として機能し、アプリケーションは「クライアント」として機能します。







「ドキュメントデザイナ」の機能の1つは、CRMエンティティへのバインディング送信を使用してファイルを電子メールで送信することです。 次の方法で実行できます。



 <script> files = [ {fileData: [fileName, base64_string]} ]; arEmail = [ {VALUE: 'email@email.ru'} ]; BX24.callMethod( "crm.activity.add", { fields: { "OWNER_ID": ownerId,// dealId, etc. "OWNER_TYPE_ID": ownerTypeId, // 1=lead, 2=deal, 3=contact, 4=company "TYPE_ID": 4, // 1=meeting, 2=calling, 3=task, 4=email "COMMUNICATIONS": arEmail, "SUBJECT": Subject, "AUTHOR_ID": currentUserId, "START_TIME": dateStr, "END_TIME": dateStr, "COMPLETED": "Y", "PRIORITY": 2, // 1=low, 2=middle, 3=high "RESPONSIBLE_ID": currentUserId, "DESCRIPTION": Message, "DESCRIPTION_TYPE": 3, // 1=plain text, 2=bb code, 3=html "DIRECTION": 2, // 1=incoming, 2=outgoing "WEBDAV_ELEMENTS": files } }, function(result) { } ); </script>
      
      





外部アプリケーションのもう1つの例は、 MySkladサービスとの統合です。 Bitrix24 REST APIとMyStoreサービスREST APIを使用します。 アプリケーションは、cronスケジューラを使用して自動的に動作できます。 この場合、2つの「サーバー」(「Bitrix24」と「MySklad」)と1つの「クライアント」-アプリケーションがあります。



CRMに関連付けられたアカウントを作成し、標準のBitrix24資金を使用して1C:Enterpriseとのさらなる交換に参加できます。 レポートを作成するためのサンプルコード:



 <? $arFields = array('auth'=>$auth); $arFields['fields'] = array( 'ORDER_TOPIC' => $orderTopic, "STATUS_ID" => "P", "UF_COMPANY_ID" => $companyId, "UF_DEAL_ID" => $dealId, "PAY_SYSTEM_ID" => 1, "PR_LOCATION" => 1, "PERSON_TYPE_ID" => 1, "DATE_INSERT" => date('c', $bg), "DATE_BILL" => date('c', $bg), "INVOICE_PROPERTIES" => array('LOCATION' => 1), 'PRODUCT_ROWS' => array( array( "ID" => 0, "PRODUCT_ID" => $productId, "PRODUCT_NAME" => $productName, "QUANTITY" => 1, "PRICE" => $productPrice ) ) ); $url = 'https://'.$domain.'/rest/crm.invoice.add.json'; $res = PostUrl($url, $arFields); ?>
      
      





PostUrlは、サーバーに要求を送信するヘルパー関数です。



Bitrix24の外部で動作する外部アプリケーションの例として、「 名刺スキャナー 」と「 Android用ウィジェット 」を挙げることができます。 どちらもモバイルデバイスで動作しますが、作業のためにBitrix24からデータを取得します。 類推は、クライアントプロキシサーバースキームです。 この場合、「クライアント」はモバイルデバイス、「プロキシ」はアプリケーション自体、「サーバー」はBitrix24ポータルです。







サーバー



外部アプリケーションの場合、スクリプト、データベースなどが配置される独自のサーバーが必要です。



物理サーバーまたは仮想サーバーを使用することをお勧めします。 まず、利用可能なすべてのリソースを管理および使用できるようになります。 次に、必要なすべてのモジュールとソフトウェアバージョンをインストールする機会があります。 仮想ホスティングでは、常に望みどおりの結果を得られず、速度と必要なアップタイムが得られるとは限りません。



サーバーアプリケーションによって操作されるすべてのデータは、各Bitrix24ポータル内の「リポジトリ」タイプの特別なオブジェクトに保存されます。 アプリケーションは、ユーザーの個人データを収集しません。 これを操作するには、ポータル管理者のメールのみが使用されますが、これは運用データとは関係ありません。 したがって、 法律152-FZに違反することなく、アプリケーションを西側プロバイダーに自由に投稿できます。



アプリケーションサーバーとして、Unixを実行するVPSを使用できます。 RAMサイズは512 MB以上である必要があります。 ハードドライブは大きいほど良い。 バックアップを構成し、別のディスクに必ず接続してください。



サーバーにSSL証明書をインストールする必要があることに特に注意してください。 アプリケーションの実行中のエラーを回避するために、すべての証明書チェーンをインストールすることが非常に重要です。 証明書プロバイダーとして、最もシンプルなRapidSSLで14.5ユーロ/年で十分です。



開発プラットフォーム



サーバーアプリケーションはもちろん、PHP + MySQLで開発することもできます。



パートナーと開発者には、使い慣れた1C-Bitrix:Site Managementプラットフォームの使用をお勧めします。 この方法にはいくつかの利点があります。



  1. コンテンツ管理システムのすべての機能(クラウドバックアップなど)を使用する。 また、コンテンツ管理システムの利点には、あらゆる種類の脅威に対するマルチレベルの保護が含まれます。
  2. 「テクニカルサポート」モジュールを使用して高品質のユーザーサポートを編成する機能。
  3. ニュースレターモジュールを使用して、顧客に新機能を通知します。


結論として、Bitrix24ポータルでは、多くの既製のアプリケーションが既にダウンロード可能になっており、その大部分は無料であることを思い出してください。 ニーズに合ったオプションが見つからない場合は、いつでも独自のアプリケーションを作成できます。 この投稿がこれに役立つことを願っています。



All Articles