ارسال اعضای مخاطب

می توانید از طریق این شروع سریع کار کنید تا با Data Manager API آشنا شوید. نسخه شروع سریعی را که می خواهید ببینید انتخاب کنید:

در این شروع سریع، مراحل زیر را انجام می دهید:

  1. یک Destination برای دریافت اطلاعات مخاطبان آماده کنید.
  2. داده های مخاطب را برای ارسال آماده کنید.
  3. یک درخواست IngestionService برای اعضای مخاطب ایجاد کنید.
  4. درخواست را با Google APIs Explorer ارسال کنید.
  5. پاسخ های موفقیت و شکست را درک کنید.

مقصدی را آماده کنید

قبل از اینکه بتوانید داده ها را ارسال کنید، باید مقصد را برای ارسال داده ها آماده کنید. در اینجا یک نمونه Destination برای استفاده شما آورده شده است:

    {
      "operatingAccount": {
        "product": "OPERATING_ACCOUNT_PRODUCT",
        "accountId": "OPERATING_ACCOUNT_ID"
      },

      "productDestinationId": "AUDIENCE_ID"
    }
  • operatingAccount را روی محصول و شناسه حسابی که داده‌های مخاطب را دریافت می‌کند، تنظیم کنید.

داده های مخاطب را آماده کنید

داده های نمونه زیر را در یک فایل جدا شده با کاما در نظر بگیرید. هر خط در فایل مربوط به یک نفر از مخاطبان است و هر عضو حداکثر سه آدرس ایمیل دارد.

#,email_1,email_2,email_3
1,dana@example.com,DanaM@example.com,
2,ALEXJ@example.com, AlexJ@cymbalgroup.com,alexj@altostrat.com
3,quinn@CYMBALGROUP.com,baklavainthebalkans@gmail.com  ,
4,rosario@example.org,cloudySanFrancisco@GMAIL.com,

آدرس های ایمیل دارای شرایط قالب بندی و هش زیر هستند:

  1. تمام فضاهای سفید پیشرو، انتهایی و میانی را حذف کنید.
  2. آدرس ایمیل را به حروف کوچک تبدیل کنید.
  3. آدرس ایمیل را با استفاده از الگوریتم SHA-256 هش کنید.
  4. بایت های هش را با استفاده از کدگذاری هگزا دسیمال (هگز) یا Base64 رمزگذاری کنید. مثال‌های این راهنما از رمزگذاری هگز استفاده می‌کنند.

در اینجا داده های قالب بندی شده است:

#,email_1,email_2,email_3
1,dana@example.com,danam@example.com,
2,alexj@example.com,alexj@cymbalgroup.com,alexj@altostrat.com
3,quinn@cymbalgroup.com,baklavainthebalkans@gmail.com,
4,rosario@example.org,cloudysanfrancisco@gmail.com,

و این هم داده ها پس از هش و کدگذاری:

#,email_1,email_2,email_3
1,07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3,1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7
2,2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3,54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51,e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478
3,05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0,f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5
4,83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f,223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4

در اینجا یک AudienceMember نمونه برای آدرس‌های ایمیل قالب‌بندی‌شده، هش‌شده و کدگذاری‌شده dana@example.com و danam@example.com از ردیف اول داده‌های ورودی آمده است:

{
  "userData": {
    "userIdentifiers": [
      {
        "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3"
      },
      {
        "emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7"
      }
    ]
  }
}

بدنه درخواست را بسازید

Destination و userData برای بدنه درخواست ترکیب کنید:

{
  "destinations": [
    {
      "operatingAccount": {
        "product": "OPERATING_ACCOUNT_PRODUCT",
        "accountId": "OPERATING_ACCOUNT_ID"
      },

      "productDestinationId": "AUDIENCE_ID"
    }
  ],
  "audienceMembers": [
    {
      "userData": {
        "userIdentifiers": [
          {
            "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3"
          },
          {
            "emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7"
          }
        ]
      }
    },
    {
      "userData": {
        "userIdentifiers": [
          {
            "emailAddress": "2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3"
          },
          {
            "emailAddress": "54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51"
          },
          {
            "emailAddress": "e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478"
          }
        ]
      }
    },
    {
      "userData": {
        "userIdentifiers": [
          {
            "emailAddress": "05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0"
          },
          {
            "emailAddress": "f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5"
          }
        ]
      }
    },
    {
      "userData": {
        "userIdentifiers": [
          {
            "emailAddress": "83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f"
          },
          {
            "emailAddress": "223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4"
          }
        ]
      }
    }
  ],
  "consent": {
    "adUserData": "CONSENT_GRANTED",
    "adPersonalization": "CONSENT_GRANTED"
  },
  "encoding": "HEX",
  "termsOfService": {
    "customerMatchTermsOfServiceStatus": "ACCEPTED"
  },
  "validateOnly": true
}
  1. متغیرهای موجود در بدنه، مانند OPERATING_ACCOUNT_PRODUCT ، OPERATING_ACCOUNT_ID ، و AUDIENCE_ID را با مقادیر حساب و مقصد خود به‌روزرسانی کنید.
  2. برای تأیید اعتبار درخواست بدون اعمال تغییرات، validateOnly روی true تنظیم کنید. وقتی برای اعمال تغییرات آماده شدید، validateOnly روی false قرار دهید.
  3. termsOfService را طوری تنظیم کنید که نشان دهد کاربر شرایط خدمات مطابقت مشتری را پذیرفته است.
  4. توجه داشته باشید که این درخواست نشان می دهد که consent داده شده است و از رمزگذاری استفاده نمی کند.

درخواست را ارسال کنید

  1. بدنه درخواست را با استفاده از دکمه کپی در سمت راست بالای نمونه کپی کنید.
  2. به صفحه audienceMembers.ingest بروید.
  3. روی دکمه API در سمت راست کلیک کنید، سپس روی Try it! دکمه در بخش گسترش یافته
  4. بدنه درخواست کپی شده را در کادر بدنه درخواست جایگذاری کنید.
  5. روی دکمه Execute کلیک کنید، دستورات مجوز را تکمیل کنید و پاسخ را بررسی کنید.

پاسخ های موفقیت آمیز

یک درخواست موفق پاسخی را با یک شی حاوی requestId برمی‌گرداند.

{
  "requestId": "126365e1-16d0-4c81-9de9-f362711e250a"
}

پاسخ های شکست

یک درخواست ناموفق منجر به کد وضعیت پاسخ خطا مانند 400 Bad Request و پاسخی با جزئیات خطا می شود.

به عنوان مثال، یک email_address حاوی یک رشته متن ساده به جای یک مقدار رمزگذاری شده هگز، پاسخ زیر را ایجاد می کند:

{
  "error": {
    "code": 400,
    "message": "There was a problem with the request.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "INVALID_ARGUMENT",
        "domain": "datamanager.googleapis.com"
      },
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "audience_members.audience_members[0].user_data.user_identifiers",
            "description": "Email is not hex encoded.",
            "reason": "INVALID_HEX_ENCODING"
          }
        ]
      }
    ]
  }
}

email_address که هش نشده و فقط کدگذاری شده هگز است، پاسخ زیر را ایجاد می‌کند:

{
  "error": {
    "code": 400,
    "message": "There was a problem with the request.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "INVALID_ARGUMENT",
        "domain": "datamanager.googleapis.com"
      },
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "audience_members.audience_members[0]",
            "reason": "INVALID_SHA256_FORMAT"
          }
        ]
      }
    ]
  }
}

مراحل بعدی