1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.ads.googleads.v16.services; 18 19import "google/ads/googleads/v16/enums/identity_verification_program.proto"; 20import "google/ads/googleads/v16/enums/identity_verification_program_status.proto"; 21import "google/api/annotations.proto"; 22import "google/api/client.proto"; 23import "google/api/field_behavior.proto"; 24import "google/protobuf/empty.proto"; 25 26option csharp_namespace = "Google.Ads.GoogleAds.V16.Services"; 27option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/services;services"; 28option java_multiple_files = true; 29option java_outer_classname = "IdentityVerificationServiceProto"; 30option java_package = "com.google.ads.googleads.v16.services"; 31option objc_class_prefix = "GAA"; 32option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Services"; 33option ruby_package = "Google::Ads::GoogleAds::V16::Services"; 34 35// Proto file describing the IdentityVerificatio Service. 36 37// A service for managing Identity Verification Service. 38service IdentityVerificationService { 39 option (google.api.default_host) = "googleads.googleapis.com"; 40 option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; 41 42 // Starts Identity Verification for a given verification program type. 43 // Statuses are returned. 44 // 45 // List of thrown errors: 46 // [AuthenticationError]() 47 // [AuthorizationError]() 48 // [HeaderError]() 49 // [InternalError]() 50 // [QuotaError]() 51 // [RequestError]() 52 rpc StartIdentityVerification(StartIdentityVerificationRequest) 53 returns (google.protobuf.Empty) { 54 option (google.api.http) = { 55 post: "/v16/customers/{customer_id=*}:startIdentityVerification" 56 body: "*" 57 }; 58 option (google.api.method_signature) = "customer_id,verification_program"; 59 } 60 61 // Returns Identity Verification information. 62 // 63 // List of thrown errors: 64 // [AuthenticationError]() 65 // [AuthorizationError]() 66 // [HeaderError]() 67 // [InternalError]() 68 // [QuotaError]() 69 // [RequestError]() 70 rpc GetIdentityVerification(GetIdentityVerificationRequest) 71 returns (GetIdentityVerificationResponse) { 72 option (google.api.http) = { 73 get: "/v16/customers/{customer_id=*}/getIdentityVerification" 74 }; 75 option (google.api.method_signature) = "customer_id"; 76 } 77} 78 79// Request message for 80// [IdentityVerificationService.StartIdentityVerification]. 81message StartIdentityVerificationRequest { 82 // Required. The Id of the customer for whom we are creating this 83 // verification. 84 string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; 85 86 // Required. The verification program type for which we want to start the 87 // verification. 88 google.ads.googleads.v16.enums.IdentityVerificationProgramEnum 89 .IdentityVerificationProgram verification_program = 2 90 [(google.api.field_behavior) = REQUIRED]; 91} 92 93// Request message for 94// [IdentityVerificationService.GetIdentityVerification]. 95message GetIdentityVerificationRequest { 96 // Required. The ID of the customer for whom we are requesting verification 97 // information. 98 string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; 99} 100 101// Response message for 102// [IdentityVerificationService.GetIdentityVerification]. 103message GetIdentityVerificationResponse { 104 // List of identity verifications for the customer. 105 repeated IdentityVerification identity_verification = 1; 106} 107 108// An identity verification for a customer. 109message IdentityVerification { 110 // The verification program type. 111 google.ads.googleads.v16.enums.IdentityVerificationProgramEnum 112 .IdentityVerificationProgram verification_program = 1; 113 114 // The verification requirement for this verification program for this 115 // customer. 116 optional IdentityVerificationRequirement identity_verification_requirement = 117 2; 118 119 // Information regarding progress for this verification program for this 120 // customer. 121 optional IdentityVerificationProgress verification_progress = 3; 122} 123 124// Information regarding the verification progress for a verification program 125// type. 126message IdentityVerificationProgress { 127 // Current Status (PENDING_USER_ACTION, SUCCESS, FAILURE etc) 128 google.ads.googleads.v16.enums.IdentityVerificationProgramStatusEnum 129 .IdentityVerificationProgramStatus program_status = 1; 130 131 // The timestamp when the action url will expire in "yyyy-MM-dd HH:mm:ss" 132 // format. 133 string invitation_link_expiration_time = 2; 134 135 // Action URL for user to complete verification for the given verification 136 // program type. 137 string action_url = 3; 138} 139 140// Information regarding the verification requirement for a verification program 141// type. 142message IdentityVerificationRequirement { 143 // The deadline to start verification in "yyyy-MM-dd HH:mm:ss" format. 144 string verification_start_deadline_time = 1; 145 146 // The deadline to submit verification. 147 string verification_completion_deadline_time = 2; 148} 149