// Copyright 2018 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

syntax = "proto3";

package google.ads.googleads.v0.common;

import "google/ads/googleads/v0/enums/customer_match_upload_key_type.proto";
import "google/ads/googleads/v0/enums/user_list_crm_data_source_type.proto";
import "google/protobuf/wrappers.proto";

option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
option java_multiple_files = true;
option java_outer_classname = "UserListsProto";
option java_package = "com.google.ads.googleads.v0.common";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
// Proto file describing user list types.

// SimilarUserList is a list of users which are similar to users from another
// UserList. These lists are read-only and automatically created by Google.
message SimilarUserListInfo {
  // Seed UserList from which this list is derived.
  google.protobuf.StringValue seed_user_list = 1;
}

// UserList of CRM users provided by the advertiser.
message CrmBasedUserListInfo {
  // A string that uniquely identifies a mobile application from which the data
  // was collected to the Google Ads API.
  // For iOS, the ID string is the 9 digit string that appears at the end of an
  // App Store URL (e.g., "476943146" for "Flood-It! 2" whose App Store link is
  // http://itunes.apple.com/us/app/flood-it!-2/id476943146).
  // For Android, the ID string is the application's package name
  // (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
  // https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
  // Required when creating CrmBasedUserList for uploading mobile advertising
  // IDs.
  google.protobuf.StringValue app_id = 1;

  // Matching key type of the list.
  // Mixed data types are not allowed on the same list.
  // This field is required for an ADD operation.
  google.ads.googleads.v0.enums.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType upload_key_type = 2;

  // Data source of the list. Default value is FIRST_PARTY.
  // Only whitelisted customers can create third party sourced crm lists.
  google.ads.googleads.v0.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3;
}
