# Snapchat Import Integration

Snapchatは、友人と簡単にコミュニケーションを取ったり、世界中のライブストーリーを表示したり、一時的な写真やビデオメッセージでニュースを発見したりできるサービスです。ビジネスとして、Snapchat Ads Managerを実行して、広告を作成および管理し、リード生成などのキャンペーンを実行できます。Snapchat Import integrationを使用すると、Snapchatからリード生成レポートデータをインポートできます。

## 前提条件

- Treasure Dataの基本知識
- Snapchatビジネスアカウント


## 要件と制限事項

- リード生成レポートデータのインポートのみがサポートされています。
- リード生成広告から収集されたデータは、30日以上保存されません。つまり、開始時刻は30日以上前に設定できません。
- Snapchat Marketing APIは、インフラストラクチャの安定性を確保するためにレート制限を実装しています。レート制限は、AppレベルとTokenレベルの両方で実装されています。Appは全体で平均20リクエスト/秒をサポートし、Appによって発行される個別のAccess tokenは平均10リクエスト/秒でリクエストを実行できます。


## Treasure Data Integration の静的 IP アドレス

セキュリティポリシーで IP ホワイトリストが必要な場合は、接続を成功させるために Treasure Data の IP アドレスを許可リストに追加する必要があります。

リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります:
[IP Addresses for Integrations](/apis/endpoints/ip-addresses-integrations-result-workers)

## Snapchat Ads Account IDの取得

1. [https://ads.snapchat.com/](https://ads.snapchat.com/)にアクセスします。ユーザー名とパスワードを入力し、ログインをクリックします。
2. ログイン後、URLから広告アカウントIDを確認できます。例えば、https://ads.snapchat.com/112345-3211-410f-test-1332433/create の場合、「112345-3211-410f-test-1332433」が広告アカウントIDです。


## Treasure コンソールからのSnapchatインポート

### Authenticationの作成

最初のステップは、認証情報のセットで新しいAuthenticationを作成することです。

1. **Integrations Hub**を選択します。
2. **Catalog**を選択します。


![](/assets/image2021-9-30_14-38-2.ca92fa4ab9277dca95973c6bd413fc662a3f0d04b57d58f7a8c952a29f28bbec.2891338a.png)

1. Catalogで**Snapchat**を検索し、アイコンの上にマウスを置き、**Create Authentication**を選択します。


![](/assets/snapicon.0ca38b774caa0896efe0d41214276a3ff40cc71ebd1c5b252270380bf5927d5d.2891338a.png)

![](/assets/image2021-9-30_14-42-0.d6a5ad453f9fa98b4336af9506dadbd04ea44299e2f9af7fd760f75ac68e3f88.2891338a.png)

1. **Credentials**タブが選択されていることを確認し、Integrationの認証情報を入力するか、**Click here**を選択してSnapchatアカウントに接続します。まだログインしていない場合はSnapchatへのログインページに、またはTreasure Dataへのアクセスを許可する同意ページにリダイレクトされます。


![](/assets/mceclip3-2.e1578e5759d705d835407753a7ddc77120fcd7863a1720a6c8e84d90222030be.2891338a.png)

| Parameter | Description |
|  --- | --- |
| Ad Account ID | Snapchat Business Ad Account ID |


1. Authenticationの名前を入力し、**Done**を選択します。


### Sourceの作成

1. Treasure コンソールを開きます。
2. **Integrations Hub** > **Authentications**に移動します。
3. 新しいAuthenticationを見つけて、**New Source**を選択します。


### Connectionの作成

Sourceについて次の表を入力します。

| Parameter | Description |
|  --- | --- |
| Data Transfer Name | 転送の名前を定義できます。 |
| Authentication | 転送に使用されるAuthentication名。 |


1. Data Transfer Nameフィールドにソース名を入力します。
2. **Next**を選択します。


Create Sourceページが表示され、**Source Table**タブが選択されます。

### Source Tableの指定

| Parameter | Description |
|  --- | --- |
| Data Source | インポートされるオブジェクトデータ |
| Start Time | この時刻以降のデータをインポート |
| End Time | この時刻までのデータをインポート |
| Incremental loading | `インクリメンタルローディングを有効にするかどうか` |


**Next**を選択します。

### Data Settingsの定義

| Parameter | Description |
|  --- | --- |
| Max wait time for report to complete | レポートが完了するまでの最大待機時間（時間単位） |
| Max retry count per API call | API呼び出しごとの最大リトライ回数 |
| Initial retry interval per API call | API呼び出しごとの初期リトライ間隔（秒単位） |
| Max retry interval per API call | API呼び出しごとの最大リトライ間隔（秒単位） |


**Next**を選択します。

### Data Preview

インポートを実行する前に、Generate Preview を選択してデータの[プレビュー](/products/customer-data-platform/integration-hub/batch/import/previewing-your-source-data)を表示できます。Data preview はオプションであり、選択した場合はダイアログの次のページに安全にスキップできます。

1. **Next** を選択します。Data Preview ページが開きます。
2. データをプレビューする場合は、**Generate Preview** を選択します。
3. データを確認します。


### Data Placement

データの配置について、データを配置したいターゲット database と table を選択し、インポートを実行する頻度を指定します。

1. **Next** を選択します。Storage の下で、インポートされたデータを配置する新しい database を作成するか、既存の database を選択し、新しい table を作成するか、既存の table を選択します。
2. **Database** を選択 > **Select an existing** または **Create New Database** を選択します。
3. オプションで、database 名を入力します。
4. **Table** を選択 > **Select an existing** または **Create New Table** を選択します。
5. オプションで、table 名を入力します。
6. データをインポートする方法を選択します。
  - **Append** (デフォルト) - データインポートの結果は table に追加されます。
table が存在しない場合は作成されます。
  - **Always Replace** - 既存の table の全体の内容をクエリの結果出力で置き換えます。table が存在しない場合は、新しい table が作成されます。
  - **Replace on New Data** - 新しいデータがある場合のみ、既存の table の全体の内容をクエリの結果出力で置き換えます。
7. **Timestamp-based Partition Key** 列を選択します。
デフォルトキーとは異なるパーティションキーシードを設定したい場合は、long または timestamp 列をパーティショニング時刻として指定できます。デフォルトの時刻列として、add_time フィルターで upload_time を使用します。
8. データストレージの **Timezone** を選択します。
9. **Schedule** の下で、このクエリを実行するタイミングと頻度を選択できます。


#### 一度だけ実行

1. **Off** を選択します。
2. **Scheduling Timezone** を選択します。
3. **Create & Run Now** を選択します。


#### 定期的に繰り返す

1. **On** を選択します。
2. **Schedule** を選択します。UI では、*@hourly*、*@daily*、*@monthly*、またはカスタム *cron* の 4 つのオプションが提供されます。
3. **Delay Transfer** を選択して、実行時間の遅延を追加することもできます。
4. **Scheduling Timezone** を選択します。
5. **Create & Run Now** を選択します。


転送が実行された後、**Data Workbench** > **Databases** で転送の結果を確認できます。

## WorkflowからのSnapchatインポート

Workflowのtd_load>オペレーターを使用して、Snapchatからデータをインポートできます。すでにSOURCEを作成している場合は、それを実行できます。

### Sourceの使用

1. Sourceを特定します。
2. 一意のIDを取得するには、Sourceリストを開き、製品でフィルタリングします。
3. メニューを開き、「Copy Unique ID」を選択します。


![](/assets/image2021-10-12_12-26-58.09d9b84b0f1f752c7c95b0bc1c2d8e8b7302e5b91c6a3cb5f01309dadf53a604.2891338a.png)

1. td_load>オペレーターを使用してWorkflowタスクを定義します。


```yaml
+load:
  td_load>: unique_id_of_your_source
  database: ${td.dest_db}
  table: ${td.dest_table}
```

1. Workflowを実行します。