0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Hubspotの日付プロパティにAPI経由で値を入れる

Posted at

躓きポイントとしてよく上がってきているので実コードで紹介します

要件

Hubspot画面上から作ったプロパティは日付データしか入らず、時間の情報は入りません

そういった場合、どのようにPOSTの値を整えればいいのか

Hubspot側が求める要件は下記の通りでした

  • タイムゾーンはUTC
  • 時刻は0時0分0秒
  • Unixタイムスタンプ
    • ミリ秒までにする

実装

テストで取引の作成をします

日付のオブジェクトは
Carbon クラスを前提に実装した場合を示します

        // 日付プロパティ整え
        // $datePropatyには 1427997766000 のような数値が入ります
        $datePropaty = $carbonObj->updated_at
                ->timezone('UTC')
                ->hour(0)->minute(0)->second(0)->getTimestampMs();

        $dealsProperties = [
            'datePropaty' => $datePropaty,
        ];
        $simplePublicObjectInput = new SimplePublicObjectInput([
            'properties' => $dealsProperties,
        ]);
        $apiResponseForCreateDeals = $hubspot->crm()->deals()->basicApi()->create($simplePublicObjectInput);

作成された取引のプロパティ値の詳細を見ると値が入っています

スクリーンショット 2023-03-09 9.53.16.png

表示上のタイムゾーンはHubspot上の設定に基づきます。

最後に

Hubspotの日付プロパティのAPIによる更新方法を紹介しました
何でこんな仕様になっているんだろう....
日付の更新処理があるところが多ければhelperに切り出してもいいかなと思ってます。


弊社では、一緒に働いてくれるエンジニアを募集しています。

↓興味のある方はこちらから↓
Wantedly - スタジオアンビルト株式会社

こんなWebサービスを作っています。
マドリー
Studio Unbuilt

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?