Sponsored
Salesforceで外部へのコールアウトを実装する際には、HttpRequestとHttpクラスを使用します。
同期、非同期それぞれのコールアウトのApexコードの例を紹介します。
コード例
同期コールアウトの場合
HttpCalloutSync.cls の実装をご参照ください。
HttpRequestとHttpクラスで外部コールアウトを行なっています。
同期の場合は、特筆事項はないので実装例に従って書いてみてください。
非同期コールアウトの場合
HttpCalloutAsync.cls の実装をご参照ください。
この実装では、Queueable Apex を使用しています。
まずQueueableクラスを作成します。
そして、以下のようにQueueableジョブを実行します。
HttpCalloutAsync job = new HttpCalloutAsync();
System.enqueueJob(job);
非同期コールアウトではQueueable Apexを使用します。
※リンク先の Trailhead に記載があるように、future でも実現は可能です。
Queueable Apexは非同期処理を行うための機能で、Queueableインターフェースを実装したクラス内でコールアウトを行います。
また、Queueable ApexはDatabase.AllowsCalloutsインターフェースも同時に実装することでコールアウトを可能にします。
なお、Queueable Apexにはガバナ制限があり、同一トランザクション中で同時に実行できるQueueableジョブは1つだけです。
また、1つのジョブ内でのコールアウトは最大100回までなので使用時にはご注意ください。
その他
コールアウトは Apex Test クラスの書き方も覚えておきましょう。
また、コールアウトを伴う処理のよくあるエラーも事前に確認しておきましょう。