はじめに
ツバイソPSAはSalesforceプラットフォーム上に開発されたアプリケーションであり、 Salesforce 上のデータ及びメタデータに柔軟にアクセスできるAPIを利用できます。
Salesforce に標準で用意されているオブジェクト、及びツバイソPSAで用意されているカスタムオブジェクトのレコードに対して、SOAP API、REST API を使ったCRUD操作が可能です。
※オブジェクトとはリレーショナルデータベースのテーブルに相当するものです。
レコードとはリレーショナルデータベースのテーブルの行に相当するものです。
API
APIの詳細は以下をご覧ください。
REST API 開発者ガイド
https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/intro_rest.htm
SOAP API 開発者ガイド
https://developer.salesforce.com/docs/atlas.ja-jp.224.0.api.meta/api/sforce_api_quickstart_intro.htm
REST 規則に基づく大規模データセットを取り扱いたい場合には非同期の Bulk API を使えます。
Bulk API 開発者ガイド
https://developer.salesforce.com/docs/atlas.ja-jp.198.0.api_asynch.meta/api_asynch/asynch_api_intro.htm
オブジェクト情報(スキーマ情報)を取り扱いたい場合には Metadata API を使えます。
https://developer.salesforce.com/docs/atlas.ja-jp.api_meta.meta/api_meta/meta_intro.htm
REST の例:
https://ooo.salesforce.com/services/data/v53.0/query?q=SELECT+name+from+tb_PSA__tb_DepartmentMaster__c
で部門マスタの一覧を json で取得します。
{
"totalSize" : 6,
"done" : true,
"records" : [ {
"attributes" : {
"type" : "tb_PSA__tb_DepartmentMaster__c",
"url" : "/services/data/v53.0/sobjects/tb_PSA__tb_DepartmentMaster__c/a3y7F000004XLigQAG"
},
"Name" : "開発部"
}, {
"attributes" : {
"type" : "tb_PSA__tb_DepartmentMaster__c",
"url" : "/services/data/v53.0/sobjects/tb_PSA__tb_DepartmentMaster__c/a3y7F000004XLihQAG"
},
"Name" : "マネジメント・コンサルティング部"
....
....
}
データ以外に対しては、
・Salesforce で用意されている機能に対するメタデータは Metadata API を使えます。
API は Salesforce 標準の環境の多くの機能に対して使えます。
・ツバイソPSA でApexプログラミング言語で作成している機能については公開しているもの(Apex REST)は、API アクセスが可能です。
※現在公開している Apex REST はありません。(レコードのトリガ機能を使ってレコード操作により間接的に利用することは可能です。)
例:売上が計上された日付をもとに入金日を計算する機能、請求書PDFを作成する機能等
Apex REST の概要
https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_rest_intro.htm
Salesforce とのAPI連携を構築する上での重要な点はガバナ制限があることです。
Salesforce Developer の制限および割り当てクイックリファレンス
API 要求の制限と割り当て
https://developer.salesforce.com/docs/atlas.ja-jp.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.$
データの取得、書き込み
それぞれのデータの取得、書き込み操作は上記のAPIで可能です。
OAuth による認証を用いて REST API を使えます。
REST API 開発者ガイド - 接続アプリケーションおよび OAuth 2.0 による認証
https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/intro_oauth_and_connected_apps.htm
ユーザの識別およびアクセス権の管理
OAuth 認証フロー
https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_flows.htm&type=5
取得項目は、それぞれのオブジェクトの全項目です。
具体的な項目についてはツバイソヘルプデスクをご確認ください。