إذا كان مطلوبًا منك إكمال برنامج تحقّق من المعلِنين، قد يتم تحديد موعد نهائي لعملية التحقّق. وفي حال تجاوز الموعد النهائي بدون إكمال عملية التحقّق، قد يتم إيقاف حسابك مؤقتًا.
يمكنك أيضًا إجراء عملية التحقّق بشكل استباقي بدون أن يُطلب منك ذلك.
توفر IdentityVerificationService
طرقًا لإجراء ما يلي:
- استرداد حالة عملية التحقّق من حساب عميل، بما في ذلك أي مواعيد نهائية
- بدء عملية التحقّق
استرداد حالة التحقّق
لاسترداد حالة عملية التحقّق من هوية المعلِن لحساب عميل، يُرجى استدعاء طريقة GetIdentityVerification:
جافا
private IdentityVerification getIdentityVerification( long customerId, IdentityVerificationServiceClient identityVerificationServiceClient) { GetIdentityVerificationResponse response = identityVerificationServiceClient.getIdentityVerification(Long.toString(customerId)); if (response.getIdentityVerificationCount() == 0) { return null; } IdentityVerification identityVerification = response.getIdentityVerification(0); String deadline = identityVerification .getIdentityVerificationRequirement() .getVerificationCompletionDeadlineTime(); IdentityVerificationProgress progress = identityVerification.getVerificationProgress(); System.out.printf( "Account %d has a verification completion deadline of '%s' and status '%s' for advertiser" + " identity verification.%n", customerId, deadline, progress.getProgramStatus()); return identityVerification; }
#C
private static IdentityVerification GetIdentityVerification( GoogleAdsClient client, long customerId) { IdentityVerificationServiceClient identityVerificationService = client.GetService(Services.V24.IdentityVerificationService); try { GetIdentityVerificationResponse response = identityVerificationService.GetIdentityVerification( new GetIdentityVerificationRequest() { CustomerId = customerId.ToString() } ); if (response.IdentityVerification.Count == 0) { return null; } IdentityVerification identityVerification = response.IdentityVerification[0]; string deadline = identityVerification.IdentityVerificationRequirement.VerificationCompletionDeadlineTime; IdentityVerificationProgress identityVerificationProgress = identityVerification.VerificationProgress; Console.WriteLine($"Account {customerId} has a verification completion " + $"deadline of {deadline} and status " + $"{identityVerificationProgress.ProgramStatus} for advertiser identity " + "verification."); return identityVerification; } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
private static function getIdentityVerification( int $customerId, IdentityVerificationServiceClient $identityVerificationServiceClient ) { // Gets an identity verification response. $response = $identityVerificationServiceClient->getIdentityVerification( GetIdentityVerificationRequest::build($customerId) ); if (empty($response->getIdentityVerification())) { return null; } // Prints some details about the retrieved identity verification. /** @var IdentityVerification $identityVerification */ $identityVerification = $response->getIdentityVerification()->getIterator()->current(); $deadline = $identityVerification->getIdentityVerificationRequirement() ->getVerificationCompletionDeadlineTime(); $progress = $identityVerification->getVerificationProgress(); printf( "Account %d has a verification completion deadline of '%s' and status '%s' for" . " advertiser identity verification.%s", $customerId, $deadline, IdentityVerificationProgramStatus::name($progress->getProgramStatus()), PHP_EOL ); return $identityVerification; }
Python
def get_identity_verification( client: GoogleAdsClient, customer_id: str ) -> Optional[IdentityVerification]: """Retrieves the status of the advertiser identity verification process. Args: client: An initialized GoogleAdsClient instance. customer_id: The client customer ID str. Returns: either an IdentityVerification instance, or None """ service: IdentityVerificationServiceClient = client.get_service( "IdentityVerificationService" ) response: GetIdentityVerificationResponse = ( service.get_identity_verification(customer_id=customer_id) ) # Check if the response contains any indentity verifications. If not, then # None will be returned. if response.identity_verification: identity_verification_data: IdentityVerification = ( response.identity_verification[0] ) deadline: str = ( identity_verification_data.identity_verification_requirement.verification_completion_deadline_time ) # progress is an enum member progress: ( IdentityVerificationProgramStatusEnum.IdentityVerificationProgramStatus ) = identity_verification_data.verification_progress.program_status print( f"Account {customer_id} has a verification completion deadline " "of {deadline} and status {progress.name} for advertiser identity " # Use .name for string representation of enum "verification." ) return identity_verification_data
Ruby
def get_identity_verification(client, customer_id) response = client.service.identity_verification.get_identity_verification( customer_id: customer_id ) return nil if response.nil? || response.identity_verification.empty? identity_verification = response.identity_verification.first deadline = identity_verification. identity_verification_requirement. verification_completion_deadline_time progress = identity_verification.verification_progress puts "Account #{customer_id} has a verification completion deadline " \ "of #{deadline} and status #{progress.program_status} for advertiser " \ "identity verification." identity_verification end
Perl
sub get_identity_verification { my ($api_client, $customer_id) = @_; my $response = $api_client->IdentityVerificationService()->get({ customerId => $customer_id }); if (!defined $response->{identityVerification}) { printf "Account %s does not require advertiser identity verification.", $customer_id; return; } my $identity_verification = $response->{identityVerification}[0]; my $deadline = $identity_verification->{identityVerificationRequirement} {verificationCompletionDeadlineTime}; my $identity_verification_progress = $identity_verification->{verificationProgress}; printf "Account %s has a verification completion deadline of %s and status " . "%s for advertiser identity verification.", $customer_id, $deadline, $identity_verification_progress->{programStatus}; return $identity_verification; }
curl
إذا كان حساب العميل مسجّلاً في برنامج التحقّق الإلزامي من هوية المعلِن
، تعرض الخدمة ردًا غير فارغ يحتوي على
قائمة بعناصر IdentityVerification. ويشير الردّ الفارغ إلى أنّه ليس مطلوبًا من حساب العميل إجراء عملية التحقّق من هوية المعلِن.
لا تتوافق Google Ads API إلا مع برنامج ADVERTISER_IDENTITY_VERIFICATION، لذا سيكون هذا هو العنصر الوحيد في القائمة.
يحتوي عنصر IdentityVerification على الخصائص التالية:
IdentityVerificationRequirementيصف المواعيد النهائية لـ بدء عملية التحقّق وإكمالهاAn
IdentityVerificationProgressيصف الحالة الحالية لـ عملية التحقّق: يمكن أن يشمل ذلك أيضًا عنوان URL للإجراء الذي يمكن للمستخدم اتّخاذه لإكمال عملية التحقّق.
بدء عملية التحقق
إذا كان حساب العميل مسجّلاً في برنامج التحقّق الإلزامي من هوية المعلِن، أي إذا عرضت طريقة GetIdentityVerification ردًا غير فارغ يتضمّن موعدًا نهائيًا لإكمال عملية التحقّق، يمكنك بدء جلسة تحقّق من خلال استدعاء طريقة StartIdentityVerification:
جافا
private void startIdentityVerification( long customerId, IdentityVerificationServiceClient identityVerificationServiceClient) { // Sends a request to start the identity verification process. identityVerificationServiceClient.startIdentityVerification( Long.toString(customerId), IdentityVerificationProgram.ADVERTISER_IDENTITY_VERIFICATION); }
#C
private static void StartIdentityVerification(GoogleAdsClient client, long customerId) { IdentityVerificationServiceClient identityVerificationService = client.GetService(Services.V24.IdentityVerificationService); StartIdentityVerificationRequest request = new StartIdentityVerificationRequest() { CustomerId = customerId.ToString(), VerificationProgram = IdentityVerificationProgram.AdvertiserIdentityVerification }; try { identityVerificationService.StartIdentityVerification(request); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
private static function startIdentityVerification( int $customerId, IdentityVerificationServiceClient $identityVerificationServiceClient ): void { // Sends a request to start the identity verification process. $identityVerificationServiceClient->startIdentityVerification( StartIdentityVerificationRequest::build( $customerId, IdentityVerificationProgram::ADVERTISER_IDENTITY_VERIFICATION ) ); }
Python
def start_identity_verification( client: GoogleAdsClient, customer_id: str ) -> None: """Starts the identity verification process. Args: client: An initialized GoogleAdsClient instance. customer_id: The client customer ID str. """ service: IdentityVerificationServiceClient = client.get_service( "IdentityVerificationService" ) # Sends a request to start the identity verification process. # The verification_program argument expects an IdentityVerificationProgramEnum value (int). service.start_identity_verification( customer_id=customer_id, verification_program=client.enums.IdentityVerificationProgramEnum.ADVERTISER_IDENTITY_VERIFICATION.value, )
Ruby
def start_identity_verification(client, customer_id) client.service.identity_verification.start_identity_verification( customer_id: customer_id, verification_program: :ADVERTISER_IDENTITY_VERIFICATION, ) end
Perl
sub start_identity_verification { my ($api_client, $customer_id) = @_; my $request = Google::Ads::GoogleAds::V25::Services::IdentityVerificationService::StartIdentityVerificationRequest ->new({ customerId => $customer_id, verificationProgram => ADVERTISER_IDENTITY_VERIFICATION }); $api_client->AdvertiserIdentityVerificationService() ->start_identity_verification($request); }
curl
لن تنجح هذه العملية إلا إذا لم تكن هناك جلسة تحقّق أخرى قيد التقدّم. بعد بدء جلسة تحقّق، ستعرض عمليات الاستدعاء اللاحقة لطريقة GetIdentityVerification عنوان URL للإجراء الذي يمكن للمستخدم اتّخاذه لإكمال عملية التحقّق ووقت انتهاء صلاحية عنوان URL للإجراء.
بعد انقضاء وقت انتهاء الصلاحية، يمكنك استدعاء طريقة StartIdentityVerification مرة أخرى لبدء جلسة تحقّق جديدة.