Nguồn cấp dữ liệu chiến dịch

Người bán sẽ có thể thêm đường liên kết đến chiến dịch gây quỹ vào trang thông tin của họ trên Google. Nguồn cấp dữ liệu chiến dịch được dùng để nhà cung cấp chiến dịch gửi chỉ số về kết quả của những ngày trước đó cho tất cả chiến dịch. Nguồn cấp dữ liệu chiến dịch sẽ sử dụng dropbox chung, trong đó giá trị "name" trong tệp mô tả được đặt thành "fundserving.campaign". Để xem hướng dẫn về cách sử dụng dropbox chung, hãy tham khảo hướng dẫn này. Bạn có thể xem thông số kỹ thuật của proto dưới đây và một nguồn cấp dữ liệu JSON mẫu.

Thông số kỹ thuật Proto

Thông số kỹ thuật dưới đây được cung cấp ở định dạng proto. Trường này dùng để xác định tất cả các trường có trong nguồn cấp dữ liệu. Khi tải lên dropbox chung, bạn cũng có thể sử dụng định dạng JSON như minh hoạ trong mẫu JSON.

Định nghĩa nguồn cấp dữ liệu của chiến dịch

message CampaignFeed {
  repeated Campaign data = 1;
}

Định nghĩa chiến dịch

message Campaign {
  // Unique identifier for the campaign. (required)
  // (Note: could be the same as the campaign url if that's the only unique
  // identifier the partner uses. This will mainly be used for identification
  // when Google and partners communicate issues for a particular campaign
  // entry.)
  string campaign_id = 1;

  // Whether this campaign entry is active (i.e. able to accept donation) or
  // inactive. (required)
  CampaignStatus campaign_status = 2;

  // The campaign url that merchants might upload to Google if they have a
  // campaign set up with the partner. (required)
  string campaign_url = 3;

  // Name/title of the campaign. (optional)
  string campaign_title = 4;

  // More detailed description of the campaign. (optional)
  string campaign_description = 5;

  // The start/publish timestamp for the campaign. Format: Seconds of UTC time
  // since the Unix epoch. (optional)
  int64 campaign_start_sec = 6;

  // The end timestamp for the campaign. Format: Seconds of UTC time since the
  // Unix epoch. (optional)
  int64 campaign_end_sec = 7;

  // The monetary amount for the campaign goal. (optional)
  MonetaryAmount campaign_goal = 8;

  // The date in YYYY-MM-DD format indicating when the
  // amount_contributed_previous_day and num_of_transactions_previous_day data
  // below are retrieved. Should always be one day after the date which the
  // stats in xxx_previous_day corresponds to. UTC timezone should be used to
  // delineate which transactions fall on which dates.
  // E.g. if the amount_contributed_previous_day corresponds to the amount
  // contributed yesterday, then the data_retrieval_date here should be set as
  // today's date. The feed must include all campaign entries for the given date
  // (no partial uploads). (required)
  string data_retrieval_date = 9;

  // Previous day's monetary amount contributed through the Enhanced User
  // Referral Feature(s) to this campaign. (required)
  MonetaryAmount amount_contributed_previous_day = 10;

  // Previous day's number of transactions through the Enhanced User Referral
  // Feature(s) for this campaign. (required)
  int32 num_transactions_previous_day = 11;

  // Information about the merchant that initiated the campaign. (required)
  MerchantInfo merchant_info = 12;
}

Định nghĩa trạng thái chiến dịch

message CampaignStatus {
  enum Status {
    // Unused.
    STATUS_UNSPECIFIED = 0;

    // Able to accept donation.
    ACTIVE = 1;

    // Unable to accept donation.
    INACTIVE = 2;
  }
  Status status = 1;
}

Định nghĩa về người bán

message MerchantInfo {
  // Unique identifier for the merchant.
  // (recommended for Campaign feed, required for others)
  string merchant_id = 1;

  // Name of the merchant that initiated the campaign.
  // (recommended for Campaign feed, required for others)
  string merchant_name = 2;

  // Unstructured address of the merchant that initiated the gift card.
  // (optional)
  // E.g. "1600 Amphitheatre Pkwy, Mountain View, CA, USA, 94043"
  string merchant_address_unstructured = 3;

  // Structured address of the merchant that initiated the gift card. (required)
  PostalAddress merchant_postal_address = 4;

  // Business category of the merchant, e.g. restaurant. (optional)
  // See https://developers.google.com/places/supported_types for possible
  // categories.
  string merchant_category = 5;
}

Định nghĩa số tiền

message MonetaryAmount {
  // The monetary amount in centi-units of the currency.
  // For example: 1.95 USD is 195 in centi-units.
  // If your amount contains fractions of the smallest currency unit, then it
  // will be rounded using nearest even rounding (e.g. 2.5 cents rounded
  // to 2 cents, 3.5 cents rounded to 4 cents, 0.5 cents rounded to 0 cents,
  // 2.51 cents rounded to 3 cents). (required)
  int64 monetary_amount_centi = 1;

  // The currency of the price that is defined in ISO 4217. (required)
  string currency_code = 2;
}

Định nghĩa địa chỉ bưu chính

// The postal address for a merchant.
message PostalAddress {
  // The country, e.g. "US". (required)
  string country = 1;

  // The locality/city, e.g. "Mountain View". (required)
  string locality = 2;

  // The region/state/province, e.g. "CA". This field is only required in
  // countries where region is commonly a part of the address. (optional)
  string region = 3;

  // The postal code, e.g. "94043". (required)
  string postal_code = 4;

  // The street address, e.g. "1600 Amphitheatre Pkwy". (optional)
  string street_address = 5;
}

Ví dụ về chiến dịch (ở định dạng JSON)

Ví dụ JSON dưới đây có một chiến dịch đang hoạt động cho Jetters Pizza đã có hai giao dịch vào ngày hôm trước. Giá trị của các giao dịch của ngày trước đó từ người dùng Google là 50 USD và chiến dịch có mục tiêu tổng cộng là 20.000 USD. Ngoài tệp này, bạn cũng cần tải tệp mô tả lên Tài khoản đăng chung với giá trị "name" trong tệp mô tả được đặt thành "fundsố.campaign". Để biết thêm thông tin về cách sử dụng tài liệu tham khảo về dropbox chung chung hướng dẫn này

{
  "data": [
    {
      "campaign_id": "1",
      "campaign_status": {
        "status": "ACTIVE"
      },
      "campaign_url": "www.example.com/jetterspizza",
      "campaign_title": "Fundraiser for Jetters Pizza",
      "campaign_start_sec": 1546300800,
      "campaign_goal": {
        "monetary_amount_centi": 2000000,
        "currency_code": "USD"
      },
      "data_retrieval_date": "2020-04-24",
      "amount_contributed_previous_day": {
        "monetary_amount_centi": 5000,
        "currency_code": "USD"
      },
      "num_transactions_previous_day": 2,
      "merchant_info": {
        "merchant_id": "A",
        "merchant_name": "Jetters Pizza",
        "merchant_address_unstructured": "1600 Amphitheatre Pkwy, Mountain View, CA, USA, 94043",
        "merchant_postal_address": {
          "country": "United States",
          "region": "CA",
          "postal_code": "94043",
          "street_address": "1600 Amphitheatre Pkwy",
          "locality": "Mountain View"
        },
        "merchant_category": "restaurant"
      }
    }
  ]
}