Flux cartes cadeau

Les marchands ont la possibilité d'ajouter des liens vers des pages d'achat de cartes cadeau à leur fiche sur Google. Le flux cartes cadeau permet à la plate-forme de cartes cadeau d'envoyer des statistiques sur les résultats des jours précédents pour toutes les cartes. Le flux utilise la boîte de dépôt générique avec la valeur "name" dans le fichier descripteur défini sur "fundraising.giftcard". Pour savoir comment utiliser la boîte de dépôt générique, reportez-vous à ce tutoriel. Vous trouverez ci-dessous la spécification au format proto, ainsi qu'un exemple de flux JSON.

Spécification au format proto

La spécification ci-dessous est disponible au format proto. Elle permet de définir tous les champs disponibles dans le flux. Lors de l'importation dans la boîte de dépôt générique, vous pouvez également utiliser le format JSON, comme illustré dans l'exemple JSON.

Flux cartes cadeau – Définition

message GiftCardFeed {
  repeated GiftCard data = 1;
}

Carte cadeau – Définition

message GiftCard {
  // Unique identifier for the gift card. (required)
  // (Note: could be the same as the gift card 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 gift card
  // entry.)
  string gift_card_id = 1;

  // Whether this gift card entry is active (i.e. able to be purchased) or
  // inactive. (required)
  GiftCardStatus gift_card_status = 2;

  // The gift card url on the platform. (required)
  string gift_card_url = 3;

  // The date in YYYY-MM-DD format indicates 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. (required)
  // The feed must include all gift card entries for the given date (no partial
  // uploads). (required)
  string data_retrieval_date = 4;

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

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

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

État des cartes cadeaux – Définition

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

    // Able to be purchased.
    ACTIVE = 1;

    // Unable to be purchased.
    INACTIVE = 2;
  }
  Status status = 1;
}

Marchand – Définition

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;
}

Montant monétaire – Définition

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;
}

Adresse postale – Définition

// 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;
}

Exemple de carte cadeau (au format JSON)

Dans l'exemple JSON ci-dessous, l'utilisateur peut acheter une carte cadeau Jetters Pizza active. Deux cartes cadeaux ont été vendues la veille, pour un total de 50 $ d'achats réalisés par les utilisateurs de Google. Outre ce fichier, un fichier descripteur doit également être importé dans la boîte de dépôt générique dans lequel la valeur "name" est définie sur "fundraising.giftcard". Pour en savoir plus sur l'utilisation de la boîte de dépôt générique, reportez-vous à ce tutoriel.

{
  "data": [
    {
      "gift_card_id": "1",
      "gift_card_status": {
        "status": "ACTIVE"
      },
      "gift_card_url": "www.example.com/jetterspizza",
      "data_retrieval_date": "2020-04-24",
      "amount_contributed_previous_day": {
        "monetary_amount_centi": 5000,
        "currency_code": "USD"
      },
      "num_of_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"
      }
    }
  ]
}