Get Leads By List IDとBulk Lead Extractについて | Community
Skip to main content
November 2, 2017

Get Leads By List IDとBulk Lead Extractについて

  • November 2, 2017
  • 1 reply
  • 97 views

お世話になっております。

掲題の件になりますが、下記2点教えて下さい。

■Get Leads By List IDについて

以前にこちらで質問させて頂いた際に(leads.jsonのfilterTypeとfilterValuesについて )やりたい事は

Get Leads By List IDのAPIを使えば出来るよ!と教えて頂きました。

(その節はありがとうございます。)

上記のリストIDを指定して、カスタムフィールドの項目を取る場合には、Get Leads By List IDだけでは出来ず

ここからIDを使って、Get Lead by Idをしなければカスタムフィールドの値は取得出来ないでしょうか?

※リストにカスタムフィールドの項目はあっても、Get Leads By List IDを単純にrequestしただけでは取得出来ませんでした。

■Bulk Lead Extractについて

file exportするのにBulk Lead Extractを利用して出来ないかと試みたのですが、create.json後にstatus.jsonを

行っても一向にstatusがCompletedにならずに困っています。

こちらのAPIはどういうシチュエーションで利用するのが望ましいのでしょうか?

とりあえずcreate.jsonの3時間くらい経過した後にstatus.jsonを行ってもcreatedからstatusは変わっていませんでした。

どちらもやりたい事は簡潔にリストの全ての項目を取得したいと思っております。

上記、教えて頂けますと幸いです。

よろしくお願い致します。

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

1 reply

November 8, 2017

安竹です。フォロー遅れてしまいました。YY> で書きます。

■Get Leads By List IDについて

上記のリストIDを指定して、カスタムフィールドの項目を取る場合には、Get Leads By List IDだけでは出来ず

ここからIDを使って、Get Lead by Idをしなければカスタムフィールドの値は取得出来ないでしょうか?

※リストにカスタムフィールドの項目はあっても、Get Leads By List IDを単純にrequestしただけでは取得出来ませんでした。

YY> 同時に取得可能です。

YY> http://developers.marketo.com/rest-api/endpoint-reference/lead-database-endpoint-reference/#!/Static_Lists/getLeadsByLis…

YY> こちらにある、filelds パラメータを利用してください。

YY> /rest/v1/lists/{listId}/leads.json?fields=customField1,customField2,... のような形です。

YY> field数が多すぎて、URL の長さが 8KB を超えてしまうような場合は、POST で渡すことも可能だったはずです。

YY> http://developers.marketo.com/rest-api/lead-database/#long_uris

■Bulk Lead Extractについて

とりあえずcreate.jsonの3時間くらい経過した後にstatus.jsonを行ってもcreatedからstatusは変わっていませんでした。

YY> 以下のような使い方になります。

1.access_token の取得例

https://119-IEY-862.mktorest.com/identity/oauth/token?client_id=xxxxxxxxx-69e7-49e6-b188-a188c44b1xxx&client_secret=61mLj9onDvrctLTnekcfM3WUA6Qxxx&grant_type=client_credentials

Request Body: なし(GET)

Response Body:

{

    "access_token": "38746c89-8f20-46e3-80ad-385a28d3b3ef:ab",

    "token_type": "bearer",

    "expires_in": 3599,

    "scope": "api_user@partner.marketo.com"

}

2. export ジョブの作成例

https://119-IEY-862.mktorest.com/bulk/v1/leads/export/create.json?access_token=38746c89-8f20-46e3-80ad-385a28d3b3ef:ab

Request Body: ここで指定している fields で、戻りのデータを制限できます。指定できるカラム名は、管理>フィールド管理でフィールド名のエクスポートで REST API の部分を参照ください。下の例では、firstName と lastName だけ返ってきます。最終的に戻ってくるデータのヘッダのカラム名を変えることもできます。http://developers.marketo.com/rest-api/bulk-extract/#common_parameters

Request Body:

{

   "fields": [

      "firstName",

      "lastName"

   ],

   "format": "CSV",

   "filter": {

      "createdAt": {

         "startAt": "2017-08-01T00:00:00+9:00",

         "endAt": "2017-08-30T00:00:00+9:00"

      }

   }

}

Response Body: ここで返ってくる exportId をその後使います。

{

    "requestId": "c76#15e83e61df3",

    "result": [

        {

            "exportId": "de7dae6d-87ec-4ec9-b8d2-77211cb9f012",

            "format": "CSV",

            "status": "Created",

            "createdAt": "2017-09-15T04:57:30Z"

        }

    ],

    "success": true

}

3. export を開始

https://119-IEY-862.mktorest.com/bulk/v1/leads/export/de7dae6d-87ec-4ec9-b8d2-77211cb9f012/enqueue.json?access_token=38746c89-8f20-46e3-80ad-385a28d3b3ef:ab

Request Body: なし(GET)

Response Body:

{

    "requestId": "a3a5#15e83de2fe1",

    "result": [

        {

            "exportId": "de7dae6d-87ec-4ec9-b8d2-77211cb9f012",

            "format": "CSV",

            "status": "Queued",

            "createdAt": "2017-09-15T04:46:22Z",

            "queuedAt": "2017-09-15T04:48:50Z"

        }

    ],

    "success": true

}

4. export が終わったかどうか確認します。(ここが面倒なんですが、何秒か wait しながら status が “Completed”になるのを待ちます。

https://119-IEY-862.mktorest.com/bulk/v1/leads/export/de7dae6d-87ec-4ec9-b8d2-77211cb9f012/status.json?access_token=38746c89-8f20-46e3-80ad-385a28d3b3ef:ab

Request Body: なし(GET)

Response Body:

{

    "requestId": "67d1#15e83e149a9",

    "result": [

        {

            "exportId": "de7dae6d-87ec-4ec9-b8d2-77211cb9f012",

            "format": "CSV",

            "status": "Completed",

            "createdAt": "2017-09-15T04:46:22Z",

            "queuedAt": "2017-09-15T04:48:50Z",

            "startedAt": "2017-09-15T04:51:17Z",

            "finishedAt": "2017-09-15T04:52:10Z",

            "numberOfRecords": 2,

            "fileSize": 53

        }

    ],

    "success": true

}

5.データの取得

https://119-IEY-862.mktorest.com/bulk/v1/leads/export/de7dae6d-87ec-4ec9-b8d2-77211cb9f012/file.json?access_token=38746c89-8f20-46e3-80ad-385a28d3b3ef:ab

Request Body: なし(GET)

Response Body:

firstName,lastName

由起夫,安竹

yukio,yasutake

November 14, 2017

安竹さん

ご回答ありがとうございます。

返信遅れてしまい、申し訳ありません。

■Get Leads By List IDについて

YY> 同時に取得可能です。

YY> http://developers.marketo.com/rest-api/endpoint-reference/lead-database-endpoint-reference/#!/Static_Lists/getLeadsByLis…

YY> こちらにある、filelds パラメータを利用してください。

上記通り、fieldsパラメータを利用することで取得出来ました。

ありがとうございました。

■BulkLeadExtractについて

ご指摘頂いたNo3の処理が抜けてました。

3の処理をした後にステータスを取得することで(一定時間経ってから)、取得出来ました。

ありがとうございました。

どちらでもやりたい事は満たせるのは確認出来ました。

大変助かりました。