最終更新日: 2025年9月12日
// translate-ignore
‘HubSpotのAPIを使用して開発する際の一般的なAPIエラーを処理する方法を説明します。’;
特に明記されていない限り、大半のHubSpotエンドポイントは、リクエストが正常に完了すると200
OKレスポンスを返します。他のステータスコードを返すエンドポイントについては、エンドポイントのドキュメントに、どのレスポンスが返されるかが明記されています。
さらに、HubSpotには、複数のAPIに共通する次のようなエラーレスポンスがあります。
207 Multi-Status
:複数の異なるステータス(エラーと成功など)がある場合、このエラーレスポンスが返されます。こうした状況が発生するのは、オブジェクトAPIバッチ作成エンドポイントでマルチステータスのエラー処理が有効にされている場合です。401 Unauthorized
:APIに渡された認証情報が無効である場合、このエラーレスポンスが返されます。APIリクエストの認証について詳しくは、認証の概要をご確認ください。403 Forbidden
:APIに渡された認証対象にその特定のURLに対するアクセス権限が付与されていない場合、このエラーレスポンスが返されます。例えば、コンテンツのアクセス権限しか付与されていないOAuthトークンによって取引API(コンタクトアクセス権限が必要)にアクセスしようとすると、403
が返されます。APIキーまたは非公開アプリに必要な権限が付与されていることを確認した場合は、HubSpotのサポートチームにお問い合わせください。423 Locked
:大量のデータを同期しようとした場合(ごく短期間のうちに数千の会社レコードを更新または挿入した場合など)に返されます。ロック状態は2秒間続くため、423
エラーが発生した場合は、次のAPIリクエストを実行するまでに少なくとも2秒の遅延を含める必要があります。429 Too many requests
:アカウントまたはアプリが、該当するAPIレート制限を超えている場合、このエラーレスポンスが返されます。レート制限内で作業するための推奨事項については、こちらをご確認ください。477 Migration in Progress
:HubSpotアカウントが現在データのホスティング場所間で移行中の場合、このエラーレスポンスが返されます。HubSpotは、リクエストを再試行できるまでの秒数を示すRetry-Afterレスポンスヘッダーを返します(通常は最大24時間)。502/504 timeouts
:HubSpotの処理制限に達している場合、このエラーレスポンスが返されます。これらの制限は、単一のクライアントによってパフォーマンスの低下が招かれないようにするために設定されています。長時間にわたって大量のリクエストを送信すると、これらのタイムアウトレスポンスが表示されます。これらのレスポンスのいずれかが表示されたら、数秒間リクエストを一時停止してから再試行してください。503 service temporarily unavailable
:HubSpotが一時的に利用できない場合、このエラーレスポンスが返されます。このレスポンスが表示されたら、数秒間リクエストを一時停止してから再試行してください。521 web server is down
:HubSpotのサーバーがダウンしている場合、このエラーレスポンスが返されます。これは一時的な問題であるはずです。このレスポンスが表示されたら、数秒間リクエストを一時停止してから再試行してください。522 connnection timed out
:HubSpotとアプリケーション間の接続がタイムアウトになった場合、このエラーレスポンスが返されます。このレスポンスが表示された場合は、HubSpotのサポートチームにお問い合わせください。523 origin is unreachable
:HubSpotがアプリケーションに接続できない場合、このエラーレスポンスが返されます。このレスポンスが表示されたら、数秒間リクエストを一時停止してから再試行してください。524 timeout
:100秒以内に応答が受信されない場合、このエラーレスポンスが返されます。大規模なデータクエリーなどによってHubSpotのサーバーが過負荷状態になっていると、このエラーが発生する可能性があります。このレスポンスが表示されたら、数秒間リクエストを一時停止してから再試行してください。525/526 SSL issues
:SSL証明書が無効である、またはSSLハンドシェイクが失敗した場合に、このエラーレスポンスが返されます。このレスポンスが表示された場合は、HubSpotのサポートチームにお問い合わせください。
- CRMオブジェクトAPIの場合、エラーレスポンスには詳細な
message
、code
、context
のフィールドが含まれ、リクエストに含まれていない必須プロパティーやリクエスト内に不正な形式のプロパティーが含まれる問題について追加情報が提供されます。 - エンドポイント固有のエラーの詳細は、該当するエンドポイントのドキュメントページに記載されています。
マルチステータスエラー
オブジェクトAPI’バッチ作成エンドポイントでは、部分的なエラーが含まれるマルチステータスのレスポンスを有効にすることができます。つまり、どのレコードが作成され、どのレコードが作成されなかったかがレスポンスで示されます。そのためには、リクエスト内の入力ごとに一意のobjectWriteTraceId
値を含めます。objectWriteTraceId
には、任意の一意の文字列を指定できます。
例えば、チケットの作成リクエストは以下のようになります。
再試行
アプリまたは連携で、HubSpotが呼び出すAPIエンドポイント(Webhook配信登録など)が提供されている場合、エンドポイントからどのエラーがスローされても、HubSpotはリクエストを再試行します。Webhook
貴社のサービスに通知の処理の問題が発生した場合はいつでも、HubSpotは最大10回、失敗した通知の再送を試みます。 HubSpotが再試行するのは以下の場合です。- 接続失敗: 指定されたWebhook URLへのHTTP接続をHubSpotが開始できない場合。
- タイムアウト: 一括通知に対するレスポンスが貴社のサービスから5秒以内に返されない場合。
- エラーコード: 貴社のサービスがHTTPステータスコード(
4xx
または5xx
)で応答した場合。
Retry-After
ヘッダーが存在する場合は、このヘッダーでの指定に従います。Retry-After
値はミリ秒単位であることに注意してください。
通知の送信は最大で10回再試行されます。再試行は、24時間にわたりリクエストの送信間隔を変えながら実行されます。失敗が同時に多発した場合の再試行時刻が完全に同じにならないように、個々の通知にある程度のばらつきが確保されます。
カスタムコードのワークフローアクション
ワークフローでカスタム コード アクションを作成する場合、レート制限エラーや、axios
あるいは@hubspot/api-client
から返された429
または5XX
エラーが原因でアクションでのAPI呼び出しが失敗すると、HubSpotはエラー発生の1分後から最大3日間、そのアクションを再試行します。以降のアクション再試行が失敗した場合、徐々に間隔を延ばしてアクションが再試行されます。再試行の間隔は最大で8時間です。