SDK engine

Google Ads Transparency

Поиск рекламных креативов из Google Ads Transparency Center по advertiser_id или тексту/домену с фильтрами по платформе, региону, датам и формату.

engine: google_ads_transparency_center TS: XylopSearchEngines.GoogleAdsTransparencyCenter JS: XylopSearchEngines.GoogleAdsTransparencyCenter C#: XylopSearchEngines.GoogleAdsTransparencyCenter Python: XylopSearchEngines.GOOGLE_ADS_TRANSPARENCY_CENTER PHP: XylopSearchEngines::GOOGLE_ADS_TRANSPARENCY_CENTER Ruby: XylopApiClient::Engines::GOOGLE_ADS_TRANSPARENCY_CENTER Java: XylopSearchEngines.GOOGLE_ADS_TRANSPARENCY_CENTER Kotlin: XylopSearchEngines.GOOGLE_ADS_TRANSPARENCY_CENTER Swift: XylopSearchEngines.googleAdsTransparencyCenter Dart: XylopSearchEngines.googleAdsTransparencyCenter C++: xylop::api::engines::google_ads_transparency_center Go: xylop.EngineGoogleAdsTransparencyCenter GET /search
TypeScript пример

Вызов через @xylop/api-client-typescript

import { XylopSearchClient, XylopSearchEngines } from "@xylop/api-client-typescript";

interface SearchResponse {
  [key: string]: unknown;
}

const client = new XylopSearchClient({
  apiKey: "YOUR_API_KEY"
});

const response = await client.search<SearchResponse>(
  XylopSearchEngines.GoogleAdsTransparencyCenter,
  {
    advertiser_id: "AR17828074650563772417",
    text: "apple.com",
    region: "2840",
    platform: "SEARCH",
    creative_format: "image",
  });

TypeScript SDK написан на TypeScript, генерирует `.d.ts`, поддерживает generic response type и работает через `fetch`.

JavaScript пример

Вызов через @xylop/api-client

import { XylopSearchClient, XylopSearchEngines } from "@xylop/api-client";

const client = new XylopSearchClient({
  apiKey: "YOUR_API_KEY"
});

const response = await client.search(
  XylopSearchEngines.GoogleAdsTransparencyCenter,
  {
    advertiser_id: "AR17828074650563772417",
    text: "apple.com",
    region: "2840",
    platform: "SEARCH",
    creative_format: "image",
  });

JavaScript SDK работает в Node.js 18+ и современных браузерах через `fetch`; TypeScript declarations входят в npm package.

C# пример

Вызов через XylopSearchClient

using Xylop.Api.Client;

var client = new XylopSearchClient(new HttpClient(), "YOUR_API_KEY");

using var response = await client.SearchJsonAsync(
    XylopSearchEngines.GoogleAdsTransparencyCenter,
    new Dictionary<string, string?>
    {
        ["advertiser_id"] = "AR17828074650563772417",
        ["text"] = "apple.com",
        ["region"] = "2840",
        ["platform"] = "SEARCH",
        ["creative_format"] = "image",
    });

Для типизированного режима используйте `SearchAsync<TResponse>` и response-модель из `Xylop.Logic.SerpApiResponses.*`, которая входит в пакет C# SDK.

Python пример

Вызов через xylop-api-client

from xylop_api_client import XylopSearchClient, XylopSearchEngines

client = XylopSearchClient("YOUR_API_KEY")

response = client.search(
    XylopSearchEngines.GOOGLE_ADS_TRANSPARENCY_CENTER,
    {
        "advertiser_id": "AR17828074650563772417",
        "text": "apple.com",
        "region": "2840",
        "platform": "SEARCH",
        "creative_format": "image",
    },
)

Python SDK возвращает JSON как обычные `dict`/`list` и не требует runtime-зависимостей.

PHP пример

Вызов через xylop/api-client

<?php

use Xylop\Api\Client\XylopSearchClient;
use Xylop\Api\Client\XylopSearchEngines;

$client = new XylopSearchClient('YOUR_API_KEY');

$response = $client->search(
    XylopSearchEngines::GOOGLE_ADS_TRANSPARENCY_CENTER,
    [
        'advertiser_id' => 'AR17828074650563772417',
        'text' => 'apple.com',
        'region' => '2840',
        'platform' => 'SEARCH',
        'creative_format' => 'image',
    ]
);

PHP SDK использует стандартные stream wrappers, возвращает decoded JSON array и не требует runtime-зависимостей.

Ruby пример

Вызов через xylop-api-client

require "xylop_api_client"

client = XylopApiClient::Client.new(api_key: "YOUR_API_KEY")

response = client.search(
  XylopApiClient::Engines::GOOGLE_ADS_TRANSPARENCY_CENTER,
  {
    "advertiser_id" => "AR17828074650563772417",
    "text" => "apple.com",
    "region" => "2840",
    "platform" => "SEARCH",
    "creative_format" => "image",
  }
)

Ruby SDK использует стандартные `net/http`, `json` и возвращает JSON как обычные Hash/Array значения.

Java пример

Вызов через xylop-api-client

import java.util.Map;
import ru.xylop.api.client.XylopSearchClient;
import ru.xylop.api.client.XylopSearchEngines;

var client = new XylopSearchClient("YOUR_API_KEY");

String responseJson = client.searchJson(
    XylopSearchEngines.GOOGLE_ADS_TRANSPARENCY_CENTER,
    Map.of(
        "advertiser_id", "AR17828074650563772417",
        "text", "apple.com",
        "region", "2840",
        "platform", "SEARCH",
        "creative_format", "image"
    ));

Java SDK использует `java.net.http.HttpClient`, возвращает JSON-строку и не требует runtime-зависимостей.

Kotlin пример

Вызов через xylop-api-kotlin-client

import ru.xylop.api.kotlin.XylopSearchClient
import ru.xylop.api.kotlin.XylopSearchEngines

val client = XylopSearchClient("YOUR_API_KEY")

val responseJson = client.searchJson(
    XylopSearchEngines.GOOGLE_ADS_TRANSPARENCY_CENTER,
    mapOf(
        "advertiser_id" to "AR17828074650563772417",
        "text" to "apple.com",
        "region" to "2840",
        "platform" to "SEARCH",
        "creative_format" to "image",
    ),
)

Kotlin SDK использует JVM `HttpClient`, возвращает JSON-строку и оставляет JSON-маппинг приложению.

Swift пример

Вызов через XylopApiClient

import XylopApiClient

let client = XylopSearchClient(apiKey: "YOUR_API_KEY")

let response = try await client.searchJSON(
    engine: XylopSearchEngines.googleAdsTransparencyCenter,
    parameters: [
        "advertiser_id": "AR17828074650563772417",
        "text": "apple.com",
        "region": "2840",
        "platform": "SEARCH",
        "creative_format": "image",
    ]
)

Swift SDK использует Foundation `URLSession`, поддерживает async/await и возвращает Data, JSONSerialization values или caller-owned Decodable models.

Dart пример

Вызов через xylop_api_client

import 'package:xylop_api_client/xylop_api_client.dart';

Future<void> main() async {
  final client = XylopSearchClient('YOUR_API_KEY');

  final response = await client.search(
    XylopSearchEngines.googleAdsTransparencyCenter,
    <String, Object?>{
      'advertiser_id': 'AR17828074650563772417',
      'text': 'apple.com',
      'region': '2840',
      'platform': 'SEARCH',
      'creative_format': 'image',
    },
  );

  print(response);
}

Dart SDK использует `dart:io`, возвращает decoded JSON или raw response text и не требует runtime-зависимостей.

C++ пример

Вызов через Xylop.Api.Cpp

#include <xylop/api/client.hpp>
#include <xylop/api/curl_transport.hpp>

int main()
{
    xylop::api::search_client client(
        "YOUR_API_KEY",
        xylop::api::curl_transport);

    auto response_json = client.search_text(
        xylop::api::engines::google_ads_transparency_center,
        {
            {"advertiser_id", "AR17828074650563772417"},
            {"text", "apple.com"},
            {"region", "2840"},
            {"platform", "SEARCH"},
            {"creative_format", "image"},
        });

    return 0;
}

C++ SDK имеет header-only C++17 core, принимает transport callback и может использовать optional libcurl adapter `xylop::api::curl_transport`.

Go пример

Вызов через Xylop.Api.Go

package main

import (
    "context"
    "log"

    xylop "github.com/Leonid-Vizel/Xylop.AdminPanel/src/Xylop.Api.Go"
)

func main() {
    client, err := xylop.NewClient("YOUR_API_KEY")
    if err != nil {
        log.Fatal(err)
    }

    var response map[string]any
    err = client.SearchJSON(
        context.Background(),
        xylop.EngineGoogleAdsTransparencyCenter,
        xylop.Params(map[string]string{
            "advertiser_id": "AR17828074650563772417",
            "text": "apple.com",
            "region": "2840",
            "platform": "SEARCH",
            "creative_format": "image",
        }),
        &response)
    if err != nil {
        log.Fatal(err)
    }
}

Go SDK возвращает raw JSON bytes или декодирует ответ в пользовательскую структуру, `map[string]any` либо другой target.

Endpoint

HTTP контракт

URL
https://api.xylop.ru/search
Engine
google_ads_transparency_center
API key
Передается SDK автоматически из настроек клиента.
Входные параметры

Параметры запроса

Параметр Тип Обязателен Значение Описание
api_key SDK string Да Ключ Xylop API. В SDK задается один раз в настройках или конструкторе клиента.
engine SDK string Да google_ads_transparency_center Движок Google Ads Transparency Center.
advertiser_id string Нет AR17828074650563772417 Google Advertiser ID. Можно передать несколько ID через запятую.
text string Нет apple.com Альтернатива advertiser_id: текст или домен для поиска.
region string Нет 2840 Регион Ads Transparency Center.
platform string Нет SEARCH PLAY, MAPS, SEARCH, SHOPPING или YOUTUBE.
creative_format string Нет image text, image или video.
political_ads string Нет false Для true обязательно укажи region.
num number Нет 40 Количество креативов в ответе.
next_page_token string Нет CgoA... Токен следующей страницы.
Выходные параметры

Поля ответа

Поле Тип Источник Описание
search_metadata object пример ответа Метаданные запроса: статус, идентификатор, время выполнения и служебная информация провайдера.
search_parameters object пример ответа Нормализованные параметры, с которыми upstream-поиск выполнил запрос.
search_information object пример ответа Сводка по выдаче: примерное число результатов, время поиска и дополнительные статусы.
ad_creatives array пример ответа Типизированное поле ответа для этого engine; структура зависит от upstream-провайдера и параметров запроса.
pagination object пример ответа Данные пагинации или токены для перехода к следующей странице.
JSON

Пример ответа

{
  "search_metadata": {
    "status": "Success",
    "google_ads_transparency_center_url": "https://adstransparency.google.com/advertiser/AR17828074650563772417?region=US"
  },
  "search_parameters": {
    "engine": "google_ads_transparency_center",
    "advertiser_id": "AR17828074650563772417",
    "region": "2840"
  },
  "search_information": {
    "total_results": 200
  },
  "ad_creatives": [
    {
      "advertiser_id": "AR17828074650563772417",
      "advertiser": "Tesla Inc.",
      "ad_creative_id": "CR04179139827687489537",
      "format": "text",
      "image": "https://tpc.googlesyndication.com/archive/simgad/11385273875406013460",
      "width": 380,
      "height": 239,
      "first_shown": 1691712612,
      "last_shown": 1696917405,
      "details_link": "https://adstransparency.google.com/advertiser/AR17828074650563772417/creative/CR04179139827687489537?region=US"
    }
  ],
  "pagination": {
    "next_page_token": "CgoAP7zn5UyV..."
  }
}