| OLD | NEW |
| 1 // This is a generated file (see the discoveryapis_generator project). | 1 // This is a generated file (see the discoveryapis_generator project). |
| 2 | 2 |
| 3 library googleapis_beta.adexchangebuyer2.v2beta1; | 3 library googleapis_beta.adexchangebuyer2.v2beta1; |
| 4 | 4 |
| 5 import 'dart:core' as core; | 5 import 'dart:core' as core; |
| 6 import 'dart:async' as async; | 6 import 'dart:async' as async; |
| 7 import 'dart:convert' as convert; | 7 import 'dart:convert' as convert; |
| 8 | 8 |
| 9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; | 9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| 10 import 'package:http/http.dart' as http; | 10 import 'package:http/http.dart' as http; |
| 11 | 11 |
| 12 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show | 12 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show |
| 13 ApiRequestError, DetailedApiRequestError; | 13 ApiRequestError, DetailedApiRequestError; |
| 14 | 14 |
| 15 const core.String USER_AGENT = 'dart-api-client adexchangebuyer2/v2beta1'; | 15 const core.String USER_AGENT = 'dart-api-client adexchangebuyer2/v2beta1'; |
| 16 | 16 |
| 17 /** | 17 /** |
| 18 * Accesses the latest features for managing Ad Exchange accounts and Real-Time | 18 * Accesses the latest features for managing Ad Exchange accounts and Real-Time |
| 19 * Bidding configurations. | 19 * Bidding configurations and auction metrics. |
| 20 */ | 20 */ |
| 21 class Adexchangebuyer2Api { | 21 class Adexchangebuyer2Api { |
| 22 /** Manage your Ad Exchange buyer account configuration */ | 22 /** Manage your Ad Exchange buyer account configuration */ |
| 23 static const AdexchangeBuyerScope = "https://www.googleapis.com/auth/adexchang
e.buyer"; | 23 static const AdexchangeBuyerScope = "https://www.googleapis.com/auth/adexchang
e.buyer"; |
| 24 | 24 |
| 25 | 25 |
| 26 final commons.ApiRequester _requester; | 26 final commons.ApiRequester _requester; |
| 27 | 27 |
| 28 AccountsResourceApi get accounts => new AccountsResourceApi(_requester); | 28 AccountsResourceApi get accounts => new AccountsResourceApi(_requester); |
| 29 | 29 |
| 30 Adexchangebuyer2Api(http.Client client, {core.String rootUrl: "https://adexcha
ngebuyer.googleapis.com/", core.String servicePath: ""}) : | 30 Adexchangebuyer2Api(http.Client client, {core.String rootUrl: "https://adexcha
ngebuyer.googleapis.com/", core.String servicePath: ""}) : |
| 31 _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_A
GENT); | 31 _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_A
GENT); |
| 32 } | 32 } |
| 33 | 33 |
| 34 | 34 |
| 35 class AccountsResourceApi { | 35 class AccountsResourceApi { |
| 36 final commons.ApiRequester _requester; | 36 final commons.ApiRequester _requester; |
| 37 | 37 |
| 38 AccountsClientsResourceApi get clients => new AccountsClientsResourceApi(_requ
ester); | 38 AccountsClientsResourceApi get clients => new AccountsClientsResourceApi(_requ
ester); |
| 39 AccountsFilterSetsResourceApi get filterSets => new AccountsFilterSetsResource
Api(_requester); |
| 39 | 40 |
| 40 AccountsResourceApi(commons.ApiRequester client) : | 41 AccountsResourceApi(commons.ApiRequester client) : |
| 41 _requester = client; | 42 _requester = client; |
| 42 } | 43 } |
| 43 | 44 |
| 44 | 45 |
| 45 class AccountsClientsResourceApi { | 46 class AccountsClientsResourceApi { |
| 46 final commons.ApiRequester _requester; | 47 final commons.ApiRequester _requester; |
| 47 | 48 |
| 48 AccountsClientsInvitationsResourceApi get invitations => new AccountsClientsIn
vitationsResourceApi(_requester); | 49 AccountsClientsInvitationsResourceApi get invitations => new AccountsClientsIn
vitationsResourceApi(_requester); |
| (...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 619 queryParams: _queryParams, | 620 queryParams: _queryParams, |
| 620 uploadOptions: _uploadOptions, | 621 uploadOptions: _uploadOptions, |
| 621 uploadMedia: _uploadMedia, | 622 uploadMedia: _uploadMedia, |
| 622 downloadOptions: _downloadOptions); | 623 downloadOptions: _downloadOptions); |
| 623 return _response.then((data) => new ClientUser.fromJson(data)); | 624 return _response.then((data) => new ClientUser.fromJson(data)); |
| 624 } | 625 } |
| 625 | 626 |
| 626 } | 627 } |
| 627 | 628 |
| 628 | 629 |
| 630 class AccountsFilterSetsResourceApi { |
| 631 final commons.ApiRequester _requester; |
| 632 |
| 633 AccountsFilterSetsFilteredBidsResourceApi get filteredBids => new AccountsFilt
erSetsFilteredBidsResourceApi(_requester); |
| 634 AccountsFilterSetsFilteredImpressionsResourceApi get filteredImpressions => ne
w AccountsFilterSetsFilteredImpressionsResourceApi(_requester); |
| 635 AccountsFilterSetsFilteredRequestsResourceApi get filteredRequests => new Acco
untsFilterSetsFilteredRequestsResourceApi(_requester); |
| 636 AccountsFilterSetsLosingBidsResourceApi get losingBids => new AccountsFilterSe
tsLosingBidsResourceApi(_requester); |
| 637 AccountsFilterSetsResponseErrorsResourceApi get responseErrors => new Accounts
FilterSetsResponseErrorsResourceApi(_requester); |
| 638 AccountsFilterSetsResponsesWithoutBidsResourceApi get responsesWithoutBids =>
new AccountsFilterSetsResponsesWithoutBidsResourceApi(_requester); |
| 639 |
| 640 AccountsFilterSetsResourceApi(commons.ApiRequester client) : |
| 641 _requester = client; |
| 642 |
| 643 /** |
| 644 * Creates the specified filter set for the account with the given account ID. |
| 645 * |
| 646 * [request] - The metadata request object. |
| 647 * |
| 648 * Request parameters: |
| 649 * |
| 650 * [accountId] - Account ID of the buyer. |
| 651 * |
| 652 * [isTransient] - Whether the filter set is transient, or should be persisted |
| 653 * indefinitely. |
| 654 * By default, filter sets are not transient. |
| 655 * If transient, it will be available for at least 1 hour after creation. |
| 656 * |
| 657 * Completes with a [FilterSet]. |
| 658 * |
| 659 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 660 * error. |
| 661 * |
| 662 * If the used [http.Client] completes with an error when making a REST call, |
| 663 * this method will complete with the same error. |
| 664 */ |
| 665 async.Future<FilterSet> create(FilterSet request, core.String accountId, {core
.bool isTransient}) { |
| 666 var _url = null; |
| 667 var _queryParams = new core.Map(); |
| 668 var _uploadMedia = null; |
| 669 var _uploadOptions = null; |
| 670 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 671 var _body = null; |
| 672 |
| 673 if (request != null) { |
| 674 _body = convert.JSON.encode((request).toJson()); |
| 675 } |
| 676 if (accountId == null) { |
| 677 throw new core.ArgumentError("Parameter accountId is required."); |
| 678 } |
| 679 if (isTransient != null) { |
| 680 _queryParams["isTransient"] = ["${isTransient}"]; |
| 681 } |
| 682 |
| 683 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets'; |
| 684 |
| 685 var _response = _requester.request(_url, |
| 686 "POST", |
| 687 body: _body, |
| 688 queryParams: _queryParams, |
| 689 uploadOptions: _uploadOptions, |
| 690 uploadMedia: _uploadMedia, |
| 691 downloadOptions: _downloadOptions); |
| 692 return _response.then((data) => new FilterSet.fromJson(data)); |
| 693 } |
| 694 |
| 695 /** |
| 696 * Deletes the requested filter set from the account with the given account |
| 697 * ID. |
| 698 * |
| 699 * Request parameters: |
| 700 * |
| 701 * [accountId] - Account ID of the buyer. |
| 702 * |
| 703 * [filterSetId] - The ID of the filter set to delete. |
| 704 * |
| 705 * Completes with a [Empty]. |
| 706 * |
| 707 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 708 * error. |
| 709 * |
| 710 * If the used [http.Client] completes with an error when making a REST call, |
| 711 * this method will complete with the same error. |
| 712 */ |
| 713 async.Future<Empty> delete(core.String accountId, core.int filterSetId) { |
| 714 var _url = null; |
| 715 var _queryParams = new core.Map(); |
| 716 var _uploadMedia = null; |
| 717 var _uploadOptions = null; |
| 718 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 719 var _body = null; |
| 720 |
| 721 if (accountId == null) { |
| 722 throw new core.ArgumentError("Parameter accountId is required."); |
| 723 } |
| 724 if (filterSetId == null) { |
| 725 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 726 } |
| 727 |
| 728 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId'); |
| 729 |
| 730 var _response = _requester.request(_url, |
| 731 "DELETE", |
| 732 body: _body, |
| 733 queryParams: _queryParams, |
| 734 uploadOptions: _uploadOptions, |
| 735 uploadMedia: _uploadMedia, |
| 736 downloadOptions: _downloadOptions); |
| 737 return _response.then((data) => new Empty.fromJson(data)); |
| 738 } |
| 739 |
| 740 /** |
| 741 * Retrieves the requested filter set for the account with the given account |
| 742 * ID. |
| 743 * |
| 744 * Request parameters: |
| 745 * |
| 746 * [accountId] - Account ID of the buyer. |
| 747 * |
| 748 * [filterSetId] - The ID of the filter set to get. |
| 749 * |
| 750 * Completes with a [FilterSet]. |
| 751 * |
| 752 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 753 * error. |
| 754 * |
| 755 * If the used [http.Client] completes with an error when making a REST call, |
| 756 * this method will complete with the same error. |
| 757 */ |
| 758 async.Future<FilterSet> get(core.String accountId, core.int filterSetId) { |
| 759 var _url = null; |
| 760 var _queryParams = new core.Map(); |
| 761 var _uploadMedia = null; |
| 762 var _uploadOptions = null; |
| 763 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 764 var _body = null; |
| 765 |
| 766 if (accountId == null) { |
| 767 throw new core.ArgumentError("Parameter accountId is required."); |
| 768 } |
| 769 if (filterSetId == null) { |
| 770 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 771 } |
| 772 |
| 773 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId'); |
| 774 |
| 775 var _response = _requester.request(_url, |
| 776 "GET", |
| 777 body: _body, |
| 778 queryParams: _queryParams, |
| 779 uploadOptions: _uploadOptions, |
| 780 uploadMedia: _uploadMedia, |
| 781 downloadOptions: _downloadOptions); |
| 782 return _response.then((data) => new FilterSet.fromJson(data)); |
| 783 } |
| 784 |
| 785 /** |
| 786 * Gets all metrics that are measured in terms of number of bids. |
| 787 * |
| 788 * Request parameters: |
| 789 * |
| 790 * [accountId] - Account ID of the buyer. |
| 791 * |
| 792 * [filterSetId] - The ID of the filter set to apply. |
| 793 * |
| 794 * Completes with a [BidMetrics]. |
| 795 * |
| 796 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 797 * error. |
| 798 * |
| 799 * If the used [http.Client] completes with an error when making a REST call, |
| 800 * this method will complete with the same error. |
| 801 */ |
| 802 async.Future<BidMetrics> getBidMetrics(core.String accountId, core.int filterS
etId) { |
| 803 var _url = null; |
| 804 var _queryParams = new core.Map(); |
| 805 var _uploadMedia = null; |
| 806 var _uploadOptions = null; |
| 807 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 808 var _body = null; |
| 809 |
| 810 if (accountId == null) { |
| 811 throw new core.ArgumentError("Parameter accountId is required."); |
| 812 } |
| 813 if (filterSetId == null) { |
| 814 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 815 } |
| 816 |
| 817 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/bidMetrics'; |
| 818 |
| 819 var _response = _requester.request(_url, |
| 820 "GET", |
| 821 body: _body, |
| 822 queryParams: _queryParams, |
| 823 uploadOptions: _uploadOptions, |
| 824 uploadMedia: _uploadMedia, |
| 825 downloadOptions: _downloadOptions); |
| 826 return _response.then((data) => new BidMetrics.fromJson(data)); |
| 827 } |
| 828 |
| 829 /** |
| 830 * Gets all metrics that are measured in terms of number of impressions. |
| 831 * |
| 832 * Request parameters: |
| 833 * |
| 834 * [accountId] - Account ID of the buyer. |
| 835 * |
| 836 * [filterSetId] - The ID of the filter set to apply. |
| 837 * |
| 838 * Completes with a [ImpressionMetrics]. |
| 839 * |
| 840 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 841 * error. |
| 842 * |
| 843 * If the used [http.Client] completes with an error when making a REST call, |
| 844 * this method will complete with the same error. |
| 845 */ |
| 846 async.Future<ImpressionMetrics> getImpressionMetrics(core.String accountId, co
re.int filterSetId) { |
| 847 var _url = null; |
| 848 var _queryParams = new core.Map(); |
| 849 var _uploadMedia = null; |
| 850 var _uploadOptions = null; |
| 851 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 852 var _body = null; |
| 853 |
| 854 if (accountId == null) { |
| 855 throw new core.ArgumentError("Parameter accountId is required."); |
| 856 } |
| 857 if (filterSetId == null) { |
| 858 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 859 } |
| 860 |
| 861 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/impressionMetr
ics'; |
| 862 |
| 863 var _response = _requester.request(_url, |
| 864 "GET", |
| 865 body: _body, |
| 866 queryParams: _queryParams, |
| 867 uploadOptions: _uploadOptions, |
| 868 uploadMedia: _uploadMedia, |
| 869 downloadOptions: _downloadOptions); |
| 870 return _response.then((data) => new ImpressionMetrics.fromJson(data)); |
| 871 } |
| 872 |
| 873 /** |
| 874 * Lists all filter sets for the account with the given account ID. |
| 875 * |
| 876 * Request parameters: |
| 877 * |
| 878 * [accountId] - Account ID of the buyer. |
| 879 * |
| 880 * [pageSize] - Requested page size. The server may return fewer than |
| 881 * requested. |
| 882 * If unspecified, the server will pick an appropriate default. |
| 883 * |
| 884 * [pageToken] - A token identifying a page of results the server should |
| 885 * return. |
| 886 * Typically, this is the value of |
| 887 * ListFilterSetsResponse.nextPageToken |
| 888 * returned from the previous call to the |
| 889 * accounts.rtbBreakout.filterSets.list method. |
| 890 * |
| 891 * Completes with a [ListFilterSetsResponse]. |
| 892 * |
| 893 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 894 * error. |
| 895 * |
| 896 * If the used [http.Client] completes with an error when making a REST call, |
| 897 * this method will complete with the same error. |
| 898 */ |
| 899 async.Future<ListFilterSetsResponse> list(core.String accountId, {core.int pag
eSize, core.String pageToken}) { |
| 900 var _url = null; |
| 901 var _queryParams = new core.Map(); |
| 902 var _uploadMedia = null; |
| 903 var _uploadOptions = null; |
| 904 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 905 var _body = null; |
| 906 |
| 907 if (accountId == null) { |
| 908 throw new core.ArgumentError("Parameter accountId is required."); |
| 909 } |
| 910 if (pageSize != null) { |
| 911 _queryParams["pageSize"] = ["${pageSize}"]; |
| 912 } |
| 913 if (pageToken != null) { |
| 914 _queryParams["pageToken"] = [pageToken]; |
| 915 } |
| 916 |
| 917 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets'; |
| 918 |
| 919 var _response = _requester.request(_url, |
| 920 "GET", |
| 921 body: _body, |
| 922 queryParams: _queryParams, |
| 923 uploadOptions: _uploadOptions, |
| 924 uploadMedia: _uploadMedia, |
| 925 downloadOptions: _downloadOptions); |
| 926 return _response.then((data) => new ListFilterSetsResponse.fromJson(data)); |
| 927 } |
| 928 |
| 929 } |
| 930 |
| 931 |
| 932 class AccountsFilterSetsFilteredBidsResourceApi { |
| 933 final commons.ApiRequester _requester; |
| 934 |
| 935 AccountsFilterSetsFilteredBidsCreativesResourceApi get creatives => new Accoun
tsFilterSetsFilteredBidsCreativesResourceApi(_requester); |
| 936 AccountsFilterSetsFilteredBidsDetailsResourceApi get details => new AccountsFi
lterSetsFilteredBidsDetailsResourceApi(_requester); |
| 937 |
| 938 AccountsFilterSetsFilteredBidsResourceApi(commons.ApiRequester client) : |
| 939 _requester = client; |
| 940 |
| 941 /** |
| 942 * List all reasons for which bids were filtered, with the number of bids |
| 943 * filtered for each reason. |
| 944 * |
| 945 * Request parameters: |
| 946 * |
| 947 * [accountId] - Account ID of the buyer. |
| 948 * |
| 949 * [filterSetId] - The ID of the filter set to apply. |
| 950 * |
| 951 * Completes with a [ListFilteredBidsResponse]. |
| 952 * |
| 953 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 954 * error. |
| 955 * |
| 956 * If the used [http.Client] completes with an error when making a REST call, |
| 957 * this method will complete with the same error. |
| 958 */ |
| 959 async.Future<ListFilteredBidsResponse> list(core.String accountId, core.int fi
lterSetId) { |
| 960 var _url = null; |
| 961 var _queryParams = new core.Map(); |
| 962 var _uploadMedia = null; |
| 963 var _uploadOptions = null; |
| 964 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 965 var _body = null; |
| 966 |
| 967 if (accountId == null) { |
| 968 throw new core.ArgumentError("Parameter accountId is required."); |
| 969 } |
| 970 if (filterSetId == null) { |
| 971 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 972 } |
| 973 |
| 974 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/filteredBids'; |
| 975 |
| 976 var _response = _requester.request(_url, |
| 977 "GET", |
| 978 body: _body, |
| 979 queryParams: _queryParams, |
| 980 uploadOptions: _uploadOptions, |
| 981 uploadMedia: _uploadMedia, |
| 982 downloadOptions: _downloadOptions); |
| 983 return _response.then((data) => new ListFilteredBidsResponse.fromJson(data))
; |
| 984 } |
| 985 |
| 986 } |
| 987 |
| 988 |
| 989 class AccountsFilterSetsFilteredBidsCreativesResourceApi { |
| 990 final commons.ApiRequester _requester; |
| 991 |
| 992 AccountsFilterSetsFilteredBidsCreativesDetailsResourceApi get details => new A
ccountsFilterSetsFilteredBidsCreativesDetailsResourceApi(_requester); |
| 993 |
| 994 AccountsFilterSetsFilteredBidsCreativesResourceApi(commons.ApiRequester client
) : |
| 995 _requester = client; |
| 996 |
| 997 /** |
| 998 * List all creatives associated with a specific reason for which bids were |
| 999 * filtered, with the number of bids filtered for each creative. |
| 1000 * |
| 1001 * Request parameters: |
| 1002 * |
| 1003 * [accountId] - Account ID of the buyer. |
| 1004 * |
| 1005 * [filterSetId] - The ID of the filter set to apply. |
| 1006 * |
| 1007 * [creativeStatusId] - The ID of the creative status for which to retrieve a |
| 1008 * breakdown by |
| 1009 * creative. |
| 1010 * See creative-status-codes. |
| 1011 * |
| 1012 * [pageSize] - Requested page size. The server may return fewer than |
| 1013 * requested. |
| 1014 * If unspecified, the server will pick an appropriate default. |
| 1015 * |
| 1016 * [pageToken] - A token identifying a page of results the server should |
| 1017 * return. |
| 1018 * Typically, this is the value of |
| 1019 * ListCreativeStatusBreakdownByCreativeResponse.nextPageToken |
| 1020 * returned from the previous call to the |
| 1021 * accounts.filterSets.filteredBids.creatives.list method. |
| 1022 * |
| 1023 * Completes with a [ListCreativeStatusBreakdownByCreativeResponse]. |
| 1024 * |
| 1025 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 1026 * error. |
| 1027 * |
| 1028 * If the used [http.Client] completes with an error when making a REST call, |
| 1029 * this method will complete with the same error. |
| 1030 */ |
| 1031 async.Future<ListCreativeStatusBreakdownByCreativeResponse> list(core.String a
ccountId, core.int filterSetId, core.int creativeStatusId, {core.int pageSize, c
ore.String pageToken}) { |
| 1032 var _url = null; |
| 1033 var _queryParams = new core.Map(); |
| 1034 var _uploadMedia = null; |
| 1035 var _uploadOptions = null; |
| 1036 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 1037 var _body = null; |
| 1038 |
| 1039 if (accountId == null) { |
| 1040 throw new core.ArgumentError("Parameter accountId is required."); |
| 1041 } |
| 1042 if (filterSetId == null) { |
| 1043 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 1044 } |
| 1045 if (creativeStatusId == null) { |
| 1046 throw new core.ArgumentError("Parameter creativeStatusId is required."); |
| 1047 } |
| 1048 if (pageSize != null) { |
| 1049 _queryParams["pageSize"] = ["${pageSize}"]; |
| 1050 } |
| 1051 if (pageToken != null) { |
| 1052 _queryParams["pageToken"] = [pageToken]; |
| 1053 } |
| 1054 |
| 1055 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/filteredBids/'
+ commons.Escaper.ecapeVariable('$creativeStatusId') + '/creatives'; |
| 1056 |
| 1057 var _response = _requester.request(_url, |
| 1058 "GET", |
| 1059 body: _body, |
| 1060 queryParams: _queryParams, |
| 1061 uploadOptions: _uploadOptions, |
| 1062 uploadMedia: _uploadMedia, |
| 1063 downloadOptions: _downloadOptions); |
| 1064 return _response.then((data) => new ListCreativeStatusBreakdownByCreativeRes
ponse.fromJson(data)); |
| 1065 } |
| 1066 |
| 1067 } |
| 1068 |
| 1069 |
| 1070 class AccountsFilterSetsFilteredBidsCreativesDetailsResourceApi { |
| 1071 final commons.ApiRequester _requester; |
| 1072 |
| 1073 AccountsFilterSetsFilteredBidsCreativesDetailsResourceApi(commons.ApiRequester
client) : |
| 1074 _requester = client; |
| 1075 |
| 1076 /** |
| 1077 * List all details associated with a specific reason for which bids were |
| 1078 * filtered and a specific creative that was filtered for that reason, with |
| 1079 * the number of bids filtered for each detail. |
| 1080 * |
| 1081 * Request parameters: |
| 1082 * |
| 1083 * [accountId] - Account ID of the buyer. |
| 1084 * |
| 1085 * [filterSetId] - The ID of the filter set to apply. |
| 1086 * |
| 1087 * [creativeStatusId] - The ID of the creative status for which to retrieve a |
| 1088 * breakdown by detail. |
| 1089 * See creative-status-codes. |
| 1090 * |
| 1091 * [creativeId] - The creative ID for which to retrieve a breakdown by detail. |
| 1092 * |
| 1093 * Completes with a [ListCreativeStatusAndCreativeBreakdownByDetailResponse]. |
| 1094 * |
| 1095 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 1096 * error. |
| 1097 * |
| 1098 * If the used [http.Client] completes with an error when making a REST call, |
| 1099 * this method will complete with the same error. |
| 1100 */ |
| 1101 async.Future<ListCreativeStatusAndCreativeBreakdownByDetailResponse> list(core
.String accountId, core.int filterSetId, core.int creativeStatusId, core.String
creativeId) { |
| 1102 var _url = null; |
| 1103 var _queryParams = new core.Map(); |
| 1104 var _uploadMedia = null; |
| 1105 var _uploadOptions = null; |
| 1106 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 1107 var _body = null; |
| 1108 |
| 1109 if (accountId == null) { |
| 1110 throw new core.ArgumentError("Parameter accountId is required."); |
| 1111 } |
| 1112 if (filterSetId == null) { |
| 1113 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 1114 } |
| 1115 if (creativeStatusId == null) { |
| 1116 throw new core.ArgumentError("Parameter creativeStatusId is required."); |
| 1117 } |
| 1118 if (creativeId == null) { |
| 1119 throw new core.ArgumentError("Parameter creativeId is required."); |
| 1120 } |
| 1121 |
| 1122 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/filteredBids/'
+ commons.Escaper.ecapeVariable('$creativeStatusId') + '/creatives/' + commons.
Escaper.ecapeVariable('$creativeId') + '/details'; |
| 1123 |
| 1124 var _response = _requester.request(_url, |
| 1125 "GET", |
| 1126 body: _body, |
| 1127 queryParams: _queryParams, |
| 1128 uploadOptions: _uploadOptions, |
| 1129 uploadMedia: _uploadMedia, |
| 1130 downloadOptions: _downloadOptions); |
| 1131 return _response.then((data) => new ListCreativeStatusAndCreativeBreakdownBy
DetailResponse.fromJson(data)); |
| 1132 } |
| 1133 |
| 1134 } |
| 1135 |
| 1136 |
| 1137 class AccountsFilterSetsFilteredBidsDetailsResourceApi { |
| 1138 final commons.ApiRequester _requester; |
| 1139 |
| 1140 AccountsFilterSetsFilteredBidsDetailsResourceApi(commons.ApiRequester client)
: |
| 1141 _requester = client; |
| 1142 |
| 1143 /** |
| 1144 * List all details associated with a specific reason for which bids were |
| 1145 * filtered, with the number of bids filtered for each detail. |
| 1146 * |
| 1147 * Request parameters: |
| 1148 * |
| 1149 * [accountId] - Account ID of the buyer. |
| 1150 * |
| 1151 * [filterSetId] - The ID of the filter set to apply. |
| 1152 * |
| 1153 * [creativeStatusId] - The ID of the creative status for which to retrieve a |
| 1154 * breakdown by detail. |
| 1155 * See creative-status-codes. |
| 1156 * |
| 1157 * Completes with a [ListCreativeStatusBreakdownByDetailResponse]. |
| 1158 * |
| 1159 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 1160 * error. |
| 1161 * |
| 1162 * If the used [http.Client] completes with an error when making a REST call, |
| 1163 * this method will complete with the same error. |
| 1164 */ |
| 1165 async.Future<ListCreativeStatusBreakdownByDetailResponse> list(core.String acc
ountId, core.int filterSetId, core.int creativeStatusId) { |
| 1166 var _url = null; |
| 1167 var _queryParams = new core.Map(); |
| 1168 var _uploadMedia = null; |
| 1169 var _uploadOptions = null; |
| 1170 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 1171 var _body = null; |
| 1172 |
| 1173 if (accountId == null) { |
| 1174 throw new core.ArgumentError("Parameter accountId is required."); |
| 1175 } |
| 1176 if (filterSetId == null) { |
| 1177 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 1178 } |
| 1179 if (creativeStatusId == null) { |
| 1180 throw new core.ArgumentError("Parameter creativeStatusId is required."); |
| 1181 } |
| 1182 |
| 1183 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/filteredBids/'
+ commons.Escaper.ecapeVariable('$creativeStatusId') + '/details'; |
| 1184 |
| 1185 var _response = _requester.request(_url, |
| 1186 "GET", |
| 1187 body: _body, |
| 1188 queryParams: _queryParams, |
| 1189 uploadOptions: _uploadOptions, |
| 1190 uploadMedia: _uploadMedia, |
| 1191 downloadOptions: _downloadOptions); |
| 1192 return _response.then((data) => new ListCreativeStatusBreakdownByDetailRespo
nse.fromJson(data)); |
| 1193 } |
| 1194 |
| 1195 } |
| 1196 |
| 1197 |
| 1198 class AccountsFilterSetsFilteredImpressionsResourceApi { |
| 1199 final commons.ApiRequester _requester; |
| 1200 |
| 1201 AccountsFilterSetsFilteredImpressionsResourceApi(commons.ApiRequester client)
: |
| 1202 _requester = client; |
| 1203 |
| 1204 /** |
| 1205 * List all reasons that caused an impression to be filtered (i.e. not |
| 1206 * considered as an inventory match), with the number of impressions that were |
| 1207 * filtered for each reason. |
| 1208 * |
| 1209 * Request parameters: |
| 1210 * |
| 1211 * [accountId] - Account ID of the buyer. |
| 1212 * |
| 1213 * [filterSetId] - The ID of the filter set to apply. |
| 1214 * |
| 1215 * Completes with a [ListFilteredImpressionsResponse]. |
| 1216 * |
| 1217 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 1218 * error. |
| 1219 * |
| 1220 * If the used [http.Client] completes with an error when making a REST call, |
| 1221 * this method will complete with the same error. |
| 1222 */ |
| 1223 async.Future<ListFilteredImpressionsResponse> list(core.String accountId, core
.int filterSetId) { |
| 1224 var _url = null; |
| 1225 var _queryParams = new core.Map(); |
| 1226 var _uploadMedia = null; |
| 1227 var _uploadOptions = null; |
| 1228 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 1229 var _body = null; |
| 1230 |
| 1231 if (accountId == null) { |
| 1232 throw new core.ArgumentError("Parameter accountId is required."); |
| 1233 } |
| 1234 if (filterSetId == null) { |
| 1235 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 1236 } |
| 1237 |
| 1238 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/filteredImpres
sions'; |
| 1239 |
| 1240 var _response = _requester.request(_url, |
| 1241 "GET", |
| 1242 body: _body, |
| 1243 queryParams: _queryParams, |
| 1244 uploadOptions: _uploadOptions, |
| 1245 uploadMedia: _uploadMedia, |
| 1246 downloadOptions: _downloadOptions); |
| 1247 return _response.then((data) => new ListFilteredImpressionsResponse.fromJson
(data)); |
| 1248 } |
| 1249 |
| 1250 } |
| 1251 |
| 1252 |
| 1253 class AccountsFilterSetsFilteredRequestsResourceApi { |
| 1254 final commons.ApiRequester _requester; |
| 1255 |
| 1256 AccountsFilterSetsFilteredRequestsResourceApi(commons.ApiRequester client) : |
| 1257 _requester = client; |
| 1258 |
| 1259 /** |
| 1260 * List all reasons that caused a bid request not to be sent for an |
| 1261 * impression, with the number of bid requests not sent for each reason. |
| 1262 * |
| 1263 * Request parameters: |
| 1264 * |
| 1265 * [accountId] - Account ID of the buyer. |
| 1266 * |
| 1267 * [filterSetId] - The ID of the filter set to apply. |
| 1268 * |
| 1269 * Completes with a [ListFilteredRequestsResponse]. |
| 1270 * |
| 1271 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 1272 * error. |
| 1273 * |
| 1274 * If the used [http.Client] completes with an error when making a REST call, |
| 1275 * this method will complete with the same error. |
| 1276 */ |
| 1277 async.Future<ListFilteredRequestsResponse> list(core.String accountId, core.in
t filterSetId) { |
| 1278 var _url = null; |
| 1279 var _queryParams = new core.Map(); |
| 1280 var _uploadMedia = null; |
| 1281 var _uploadOptions = null; |
| 1282 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 1283 var _body = null; |
| 1284 |
| 1285 if (accountId == null) { |
| 1286 throw new core.ArgumentError("Parameter accountId is required."); |
| 1287 } |
| 1288 if (filterSetId == null) { |
| 1289 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 1290 } |
| 1291 |
| 1292 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/filteredReques
ts'; |
| 1293 |
| 1294 var _response = _requester.request(_url, |
| 1295 "GET", |
| 1296 body: _body, |
| 1297 queryParams: _queryParams, |
| 1298 uploadOptions: _uploadOptions, |
| 1299 uploadMedia: _uploadMedia, |
| 1300 downloadOptions: _downloadOptions); |
| 1301 return _response.then((data) => new ListFilteredRequestsResponse.fromJson(da
ta)); |
| 1302 } |
| 1303 |
| 1304 } |
| 1305 |
| 1306 |
| 1307 class AccountsFilterSetsLosingBidsResourceApi { |
| 1308 final commons.ApiRequester _requester; |
| 1309 |
| 1310 AccountsFilterSetsLosingBidsResourceApi(commons.ApiRequester client) : |
| 1311 _requester = client; |
| 1312 |
| 1313 /** |
| 1314 * List all reasons for which bids lost in the auction, with the number of |
| 1315 * bids that lost for each reason. |
| 1316 * |
| 1317 * Request parameters: |
| 1318 * |
| 1319 * [accountId] - Account ID of the buyer. |
| 1320 * |
| 1321 * [filterSetId] - The ID of the filter set to apply. |
| 1322 * |
| 1323 * Completes with a [ListLosingBidsResponse]. |
| 1324 * |
| 1325 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 1326 * error. |
| 1327 * |
| 1328 * If the used [http.Client] completes with an error when making a REST call, |
| 1329 * this method will complete with the same error. |
| 1330 */ |
| 1331 async.Future<ListLosingBidsResponse> list(core.String accountId, core.int filt
erSetId) { |
| 1332 var _url = null; |
| 1333 var _queryParams = new core.Map(); |
| 1334 var _uploadMedia = null; |
| 1335 var _uploadOptions = null; |
| 1336 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 1337 var _body = null; |
| 1338 |
| 1339 if (accountId == null) { |
| 1340 throw new core.ArgumentError("Parameter accountId is required."); |
| 1341 } |
| 1342 if (filterSetId == null) { |
| 1343 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 1344 } |
| 1345 |
| 1346 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/losingBids'; |
| 1347 |
| 1348 var _response = _requester.request(_url, |
| 1349 "GET", |
| 1350 body: _body, |
| 1351 queryParams: _queryParams, |
| 1352 uploadOptions: _uploadOptions, |
| 1353 uploadMedia: _uploadMedia, |
| 1354 downloadOptions: _downloadOptions); |
| 1355 return _response.then((data) => new ListLosingBidsResponse.fromJson(data)); |
| 1356 } |
| 1357 |
| 1358 } |
| 1359 |
| 1360 |
| 1361 class AccountsFilterSetsResponseErrorsResourceApi { |
| 1362 final commons.ApiRequester _requester; |
| 1363 |
| 1364 AccountsFilterSetsResponseErrorsResourceApi(commons.ApiRequester client) : |
| 1365 _requester = client; |
| 1366 |
| 1367 /** |
| 1368 * List all errors that occurred in bid responses, with the number of bid |
| 1369 * responses affected for each reason. |
| 1370 * |
| 1371 * Request parameters: |
| 1372 * |
| 1373 * [accountId] - Account ID of the buyer. |
| 1374 * |
| 1375 * [filterSetId] - The ID of the filter set to apply. |
| 1376 * |
| 1377 * Completes with a [ListResponseErrorsResponse]. |
| 1378 * |
| 1379 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 1380 * error. |
| 1381 * |
| 1382 * If the used [http.Client] completes with an error when making a REST call, |
| 1383 * this method will complete with the same error. |
| 1384 */ |
| 1385 async.Future<ListResponseErrorsResponse> list(core.String accountId, core.int
filterSetId) { |
| 1386 var _url = null; |
| 1387 var _queryParams = new core.Map(); |
| 1388 var _uploadMedia = null; |
| 1389 var _uploadOptions = null; |
| 1390 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 1391 var _body = null; |
| 1392 |
| 1393 if (accountId == null) { |
| 1394 throw new core.ArgumentError("Parameter accountId is required."); |
| 1395 } |
| 1396 if (filterSetId == null) { |
| 1397 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 1398 } |
| 1399 |
| 1400 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/responseErrors
'; |
| 1401 |
| 1402 var _response = _requester.request(_url, |
| 1403 "GET", |
| 1404 body: _body, |
| 1405 queryParams: _queryParams, |
| 1406 uploadOptions: _uploadOptions, |
| 1407 uploadMedia: _uploadMedia, |
| 1408 downloadOptions: _downloadOptions); |
| 1409 return _response.then((data) => new ListResponseErrorsResponse.fromJson(data
)); |
| 1410 } |
| 1411 |
| 1412 } |
| 1413 |
| 1414 |
| 1415 class AccountsFilterSetsResponsesWithoutBidsResourceApi { |
| 1416 final commons.ApiRequester _requester; |
| 1417 |
| 1418 AccountsFilterSetsResponsesWithoutBidsResourceApi(commons.ApiRequester client)
: |
| 1419 _requester = client; |
| 1420 |
| 1421 /** |
| 1422 * List all reasons for which bid responses were considered to have no |
| 1423 * applicable bids, with the number of bid responses affected for each reason. |
| 1424 * |
| 1425 * Request parameters: |
| 1426 * |
| 1427 * [accountId] - Account ID of the buyer. |
| 1428 * |
| 1429 * [filterSetId] - The ID of the filter set to apply. |
| 1430 * |
| 1431 * Completes with a [ListResponsesWithoutBidsResponse]. |
| 1432 * |
| 1433 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| 1434 * error. |
| 1435 * |
| 1436 * If the used [http.Client] completes with an error when making a REST call, |
| 1437 * this method will complete with the same error. |
| 1438 */ |
| 1439 async.Future<ListResponsesWithoutBidsResponse> list(core.String accountId, cor
e.int filterSetId) { |
| 1440 var _url = null; |
| 1441 var _queryParams = new core.Map(); |
| 1442 var _uploadMedia = null; |
| 1443 var _uploadOptions = null; |
| 1444 var _downloadOptions = commons.DownloadOptions.Metadata; |
| 1445 var _body = null; |
| 1446 |
| 1447 if (accountId == null) { |
| 1448 throw new core.ArgumentError("Parameter accountId is required."); |
| 1449 } |
| 1450 if (filterSetId == null) { |
| 1451 throw new core.ArgumentError("Parameter filterSetId is required."); |
| 1452 } |
| 1453 |
| 1454 _url = 'v2beta1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '
/filterSets/' + commons.Escaper.ecapeVariable('$filterSetId') + '/responsesWitho
utBids'; |
| 1455 |
| 1456 var _response = _requester.request(_url, |
| 1457 "GET", |
| 1458 body: _body, |
| 1459 queryParams: _queryParams, |
| 1460 uploadOptions: _uploadOptions, |
| 1461 uploadMedia: _uploadMedia, |
| 1462 downloadOptions: _downloadOptions); |
| 1463 return _response.then((data) => new ListResponsesWithoutBidsResponse.fromJso
n(data)); |
| 1464 } |
| 1465 |
| 1466 } |
| 1467 |
| 1468 |
| 1469 |
| 1470 /** |
| 1471 * An absolute date range, specified by its start date and end date. |
| 1472 * The supported range of dates begins 30 days before today and ends today. |
| 1473 * Validity checked upon filter set creation. If a filter set with an absolute |
| 1474 * date range is run at a later date more than 30 days after start_date, it will |
| 1475 * fail. |
| 1476 */ |
| 1477 class AbsoluteDateRange { |
| 1478 /** |
| 1479 * The end date of the range (inclusive). |
| 1480 * Must be within the 30 days leading up to current date, and must be equal to |
| 1481 * or after start_date. |
| 1482 */ |
| 1483 Date endDate; |
| 1484 /** |
| 1485 * The start date of the range (inclusive). |
| 1486 * Must be within the 30 days leading up to current date, and must be equal to |
| 1487 * or before end_date. |
| 1488 */ |
| 1489 Date startDate; |
| 1490 |
| 1491 AbsoluteDateRange(); |
| 1492 |
| 1493 AbsoluteDateRange.fromJson(core.Map _json) { |
| 1494 if (_json.containsKey("endDate")) { |
| 1495 endDate = new Date.fromJson(_json["endDate"]); |
| 1496 } |
| 1497 if (_json.containsKey("startDate")) { |
| 1498 startDate = new Date.fromJson(_json["startDate"]); |
| 1499 } |
| 1500 } |
| 1501 |
| 1502 core.Map toJson() { |
| 1503 var _json = new core.Map(); |
| 1504 if (endDate != null) { |
| 1505 _json["endDate"] = (endDate).toJson(); |
| 1506 } |
| 1507 if (startDate != null) { |
| 1508 _json["startDate"] = (startDate).toJson(); |
| 1509 } |
| 1510 return _json; |
| 1511 } |
| 1512 } |
| 1513 |
| 1514 /** |
| 1515 * The set of metrics that are measured in numbers of bids, representing how |
| 1516 * many bids were considered eligible at each stage of the bidding funnel. |
| 1517 */ |
| 1518 class BidMetrics { |
| 1519 /** The number of bids that Ad Exchange received from the buyer. */ |
| 1520 core.String bids; |
| 1521 /** The number of bids that were permitted to compete in the auction. */ |
| 1522 core.String bidsInAuction; |
| 1523 /** |
| 1524 * The timestamp marking the end of the range (exclusive) for which data is |
| 1525 * included. |
| 1526 */ |
| 1527 core.String endTime; |
| 1528 /** The number of bids that won an impression. */ |
| 1529 core.String impressionsWon; |
| 1530 /** |
| 1531 * The timestamp marking the start of the range (inclusive) for which data is |
| 1532 * included. |
| 1533 */ |
| 1534 core.String startTime; |
| 1535 |
| 1536 BidMetrics(); |
| 1537 |
| 1538 BidMetrics.fromJson(core.Map _json) { |
| 1539 if (_json.containsKey("bids")) { |
| 1540 bids = _json["bids"]; |
| 1541 } |
| 1542 if (_json.containsKey("bidsInAuction")) { |
| 1543 bidsInAuction = _json["bidsInAuction"]; |
| 1544 } |
| 1545 if (_json.containsKey("endTime")) { |
| 1546 endTime = _json["endTime"]; |
| 1547 } |
| 1548 if (_json.containsKey("impressionsWon")) { |
| 1549 impressionsWon = _json["impressionsWon"]; |
| 1550 } |
| 1551 if (_json.containsKey("startTime")) { |
| 1552 startTime = _json["startTime"]; |
| 1553 } |
| 1554 } |
| 1555 |
| 1556 core.Map toJson() { |
| 1557 var _json = new core.Map(); |
| 1558 if (bids != null) { |
| 1559 _json["bids"] = bids; |
| 1560 } |
| 1561 if (bidsInAuction != null) { |
| 1562 _json["bidsInAuction"] = bidsInAuction; |
| 1563 } |
| 1564 if (endTime != null) { |
| 1565 _json["endTime"] = endTime; |
| 1566 } |
| 1567 if (impressionsWon != null) { |
| 1568 _json["impressionsWon"] = impressionsWon; |
| 1569 } |
| 1570 if (startTime != null) { |
| 1571 _json["startTime"] = startTime; |
| 1572 } |
| 1573 return _json; |
| 1574 } |
| 1575 } |
| 1576 |
| 1577 /** |
| 1578 * The number of impressions for which the corresponding callouts had the |
| 1579 * specified status. |
| 1580 */ |
| 1581 class CalloutStatusFrequency { |
| 1582 /** |
| 1583 * The ID of the callout status. |
| 1584 * See callout-status-codes. |
| 1585 */ |
| 1586 core.int calloutStatusId; |
| 1587 /** The number of impressions associated with the specified status. */ |
| 1588 core.String impressionCount; |
| 1589 |
| 1590 CalloutStatusFrequency(); |
| 1591 |
| 1592 CalloutStatusFrequency.fromJson(core.Map _json) { |
| 1593 if (_json.containsKey("calloutStatusId")) { |
| 1594 calloutStatusId = _json["calloutStatusId"]; |
| 1595 } |
| 1596 if (_json.containsKey("impressionCount")) { |
| 1597 impressionCount = _json["impressionCount"]; |
| 1598 } |
| 1599 } |
| 1600 |
| 1601 core.Map toJson() { |
| 1602 var _json = new core.Map(); |
| 1603 if (calloutStatusId != null) { |
| 1604 _json["calloutStatusId"] = calloutStatusId; |
| 1605 } |
| 1606 if (impressionCount != null) { |
| 1607 _json["impressionCount"] = impressionCount; |
| 1608 } |
| 1609 return _json; |
| 1610 } |
| 1611 } |
| 629 | 1612 |
| 630 /** | 1613 /** |
| 631 * A client resource represents a client buyer—an agency, | 1614 * A client resource represents a client buyer—an agency, |
| 632 * a brand, or an advertiser customer of the sponsor buyer. | 1615 * a brand, or an advertiser customer of the sponsor buyer. |
| 633 * Users associated with the client buyer have restricted access to | 1616 * Users associated with the client buyer have restricted access to |
| 634 * the Ad Exchange Marketplace and certain other sections | 1617 * the Ad Exchange Marketplace and certain other sections |
| 635 * of the Ad Exchange Buyer UI based on the role | 1618 * of the Ad Exchange Buyer UI based on the role |
| 636 * granted to the client buyer. | 1619 * granted to the client buyer. |
| 637 * All fields are required unless otherwise specified. | 1620 * All fields are required unless otherwise specified. |
| 638 */ | 1621 */ |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 903 if (email != null) { | 1886 if (email != null) { |
| 904 _json["email"] = email; | 1887 _json["email"] = email; |
| 905 } | 1888 } |
| 906 if (invitationId != null) { | 1889 if (invitationId != null) { |
| 907 _json["invitationId"] = invitationId; | 1890 _json["invitationId"] = invitationId; |
| 908 } | 1891 } |
| 909 return _json; | 1892 return _json; |
| 910 } | 1893 } |
| 911 } | 1894 } |
| 912 | 1895 |
| 1896 /** The number of bids for a given creative. */ |
| 1897 class CreativeFrequency { |
| 1898 /** The number of bids associated with the specified creative. */ |
| 1899 core.String bidCount; |
| 1900 /** The ID of the creative. */ |
| 1901 core.String creativeId; |
| 1902 |
| 1903 CreativeFrequency(); |
| 1904 |
| 1905 CreativeFrequency.fromJson(core.Map _json) { |
| 1906 if (_json.containsKey("bidCount")) { |
| 1907 bidCount = _json["bidCount"]; |
| 1908 } |
| 1909 if (_json.containsKey("creativeId")) { |
| 1910 creativeId = _json["creativeId"]; |
| 1911 } |
| 1912 } |
| 1913 |
| 1914 core.Map toJson() { |
| 1915 var _json = new core.Map(); |
| 1916 if (bidCount != null) { |
| 1917 _json["bidCount"] = bidCount; |
| 1918 } |
| 1919 if (creativeId != null) { |
| 1920 _json["creativeId"] = creativeId; |
| 1921 } |
| 1922 return _json; |
| 1923 } |
| 1924 } |
| 1925 |
| 1926 /** The number of bids with the specified creative status. */ |
| 1927 class CreativeStatusFrequency { |
| 1928 /** The number of bids associated with the specified status. */ |
| 1929 core.String bidCount; |
| 1930 /** |
| 1931 * The ID of the creative status. |
| 1932 * See creative-status-codes. |
| 1933 */ |
| 1934 core.int creativeStatusId; |
| 1935 |
| 1936 CreativeStatusFrequency(); |
| 1937 |
| 1938 CreativeStatusFrequency.fromJson(core.Map _json) { |
| 1939 if (_json.containsKey("bidCount")) { |
| 1940 bidCount = _json["bidCount"]; |
| 1941 } |
| 1942 if (_json.containsKey("creativeStatusId")) { |
| 1943 creativeStatusId = _json["creativeStatusId"]; |
| 1944 } |
| 1945 } |
| 1946 |
| 1947 core.Map toJson() { |
| 1948 var _json = new core.Map(); |
| 1949 if (bidCount != null) { |
| 1950 _json["bidCount"] = bidCount; |
| 1951 } |
| 1952 if (creativeStatusId != null) { |
| 1953 _json["creativeStatusId"] = creativeStatusId; |
| 1954 } |
| 1955 return _json; |
| 1956 } |
| 1957 } |
| 1958 |
| 1959 /** |
| 1960 * Represents a whole calendar date, e.g. date of birth. The time of day and |
| 1961 * time zone are either specified elsewhere or are not significant. The date |
| 1962 * is relative to the Proleptic Gregorian Calendar. The day may be 0 to |
| 1963 * represent a year and month where the day is not significant, e.g. credit card |
| 1964 * expiration date. The year may be 0 to represent a month and day independent |
| 1965 * of year, e.g. anniversary date. Related types are google.type.TimeOfDay |
| 1966 * and `google.protobuf.Timestamp`. |
| 1967 */ |
| 1968 class Date { |
| 1969 /** |
| 1970 * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 |
| 1971 * if specifying a year/month where the day is not significant. |
| 1972 */ |
| 1973 core.int day; |
| 1974 /** Month of year. Must be from 1 to 12. */ |
| 1975 core.int month; |
| 1976 /** |
| 1977 * Year of date. Must be from 1 to 9999, or 0 if specifying a date without |
| 1978 * a year. |
| 1979 */ |
| 1980 core.int year; |
| 1981 |
| 1982 Date(); |
| 1983 |
| 1984 Date.fromJson(core.Map _json) { |
| 1985 if (_json.containsKey("day")) { |
| 1986 day = _json["day"]; |
| 1987 } |
| 1988 if (_json.containsKey("month")) { |
| 1989 month = _json["month"]; |
| 1990 } |
| 1991 if (_json.containsKey("year")) { |
| 1992 year = _json["year"]; |
| 1993 } |
| 1994 } |
| 1995 |
| 1996 core.Map toJson() { |
| 1997 var _json = new core.Map(); |
| 1998 if (day != null) { |
| 1999 _json["day"] = day; |
| 2000 } |
| 2001 if (month != null) { |
| 2002 _json["month"] = month; |
| 2003 } |
| 2004 if (year != null) { |
| 2005 _json["year"] = year; |
| 2006 } |
| 2007 return _json; |
| 2008 } |
| 2009 } |
| 2010 |
| 2011 /** |
| 2012 * The number of bids, among those with a given creative status, that had the |
| 2013 * specified detail. |
| 2014 */ |
| 2015 class DetailFrequency { |
| 2016 /** The number of bids associated with the specified detail. */ |
| 2017 core.String bidCount; |
| 2018 /** |
| 2019 * The ID of the detail. The associated value can be looked up in the |
| 2020 * dictionary file corresponding to the DetailType in the response message. |
| 2021 */ |
| 2022 core.int detailId; |
| 2023 |
| 2024 DetailFrequency(); |
| 2025 |
| 2026 DetailFrequency.fromJson(core.Map _json) { |
| 2027 if (_json.containsKey("bidCount")) { |
| 2028 bidCount = _json["bidCount"]; |
| 2029 } |
| 2030 if (_json.containsKey("detailId")) { |
| 2031 detailId = _json["detailId"]; |
| 2032 } |
| 2033 } |
| 2034 |
| 2035 core.Map toJson() { |
| 2036 var _json = new core.Map(); |
| 2037 if (bidCount != null) { |
| 2038 _json["bidCount"] = bidCount; |
| 2039 } |
| 2040 if (detailId != null) { |
| 2041 _json["detailId"] = detailId; |
| 2042 } |
| 2043 return _json; |
| 2044 } |
| 2045 } |
| 2046 |
| 2047 /** |
| 2048 * A generic empty message that you can re-use to avoid defining duplicated |
| 2049 * empty messages in your APIs. A typical example is to use it as the request |
| 2050 * or the response type of an API method. For instance: |
| 2051 * |
| 2052 * service Foo { |
| 2053 * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); |
| 2054 * } |
| 2055 * |
| 2056 * The JSON representation for `Empty` is empty JSON object `{}`. |
| 2057 */ |
| 2058 class Empty { |
| 2059 |
| 2060 Empty(); |
| 2061 |
| 2062 Empty.fromJson(core.Map _json) { |
| 2063 } |
| 2064 |
| 2065 core.Map toJson() { |
| 2066 var _json = new core.Map(); |
| 2067 return _json; |
| 2068 } |
| 2069 } |
| 2070 |
| 2071 /** |
| 2072 * A set of filters that is applied to a request for data from the |
| 2073 * RtbTroubleshootingService. Within a filter set, an AND operation is performed |
| 2074 * across the filters represented by each field. An OR operation is performed |
| 2075 * across the filters represented by the multiple values of a repeated field. |
| 2076 * E.g. |
| 2077 * "format=VIDEO AND deal_id=12 AND (web_property_id=34 OR web_property_id=56)" |
| 2078 */ |
| 2079 class FilterSet { |
| 2080 /** An absolute date range, defined by a start date and an end date. */ |
| 2081 AbsoluteDateRange absoluteDateRange; |
| 2082 /** The ID of the buyer account on which to filter; optional. */ |
| 2083 core.String buyerAccountId; |
| 2084 /** The ID of the creative on which to filter; optional. */ |
| 2085 core.String creativeId; |
| 2086 /** The ID of the deal on which to filter; optional. */ |
| 2087 core.String dealId; |
| 2088 /** |
| 2089 * The ID of the filter set; unique within the account of the filter set |
| 2090 * owner. |
| 2091 * The value of this field is ignored in create operations. |
| 2092 */ |
| 2093 core.int filterSetId; |
| 2094 /** |
| 2095 * The account ID of the buyer who owns this filter set. |
| 2096 * The value of this field is ignored in create operations. |
| 2097 */ |
| 2098 core.String filterSetOwnerAccountId; |
| 2099 /** |
| 2100 * The format on which to filter; optional. |
| 2101 * Possible string values are: |
| 2102 * - "FORMAT_UNSPECIFIED" : A placeholder for an undefined format; indicates |
| 2103 * that no format filter |
| 2104 * will be applied. |
| 2105 * - "DISPLAY" : The ad impression is display format (i.e. an image). |
| 2106 * - "VIDEO" : The ad impression is video format. |
| 2107 */ |
| 2108 core.String format; |
| 2109 /** |
| 2110 * The platform on which to filter; optional. |
| 2111 * Possible string values are: |
| 2112 * - "PLATFORM_UNSPECIFIED" : A placeholder for an undefined platform; |
| 2113 * indicates that no platform |
| 2114 * filter will be applied. |
| 2115 * - "DESKTOP" : The ad impression appears on a desktop. |
| 2116 * - "TABLET_WEB" : The ad impression appears on a tablet, on the web. |
| 2117 * - "TABLET_APP" : The ad impression appears on a tablet, in an app. |
| 2118 * - "MOBILE_WEB" : The ad impression appears on a mobile device, on the web. |
| 2119 * - "MOBILE_APP" : The ad impression appears on a mobile device, in an app. |
| 2120 */ |
| 2121 core.String platform; |
| 2122 /** A relative date range, defined by an offset from today and a duration. */ |
| 2123 RelativeDateRange relativeDateRange; |
| 2124 /** |
| 2125 * The list of IDs of web properties on which to filter; may be empty. |
| 2126 * The filters represented by multiple web property IDs are ORed together |
| 2127 * (i.e. if non-empty, results must match any one of the web properties). |
| 2128 */ |
| 2129 core.List<core.String> webPropertyIds; |
| 2130 |
| 2131 FilterSet(); |
| 2132 |
| 2133 FilterSet.fromJson(core.Map _json) { |
| 2134 if (_json.containsKey("absoluteDateRange")) { |
| 2135 absoluteDateRange = new AbsoluteDateRange.fromJson(_json["absoluteDateRang
e"]); |
| 2136 } |
| 2137 if (_json.containsKey("buyerAccountId")) { |
| 2138 buyerAccountId = _json["buyerAccountId"]; |
| 2139 } |
| 2140 if (_json.containsKey("creativeId")) { |
| 2141 creativeId = _json["creativeId"]; |
| 2142 } |
| 2143 if (_json.containsKey("dealId")) { |
| 2144 dealId = _json["dealId"]; |
| 2145 } |
| 2146 if (_json.containsKey("filterSetId")) { |
| 2147 filterSetId = _json["filterSetId"]; |
| 2148 } |
| 2149 if (_json.containsKey("filterSetOwnerAccountId")) { |
| 2150 filterSetOwnerAccountId = _json["filterSetOwnerAccountId"]; |
| 2151 } |
| 2152 if (_json.containsKey("format")) { |
| 2153 format = _json["format"]; |
| 2154 } |
| 2155 if (_json.containsKey("platform")) { |
| 2156 platform = _json["platform"]; |
| 2157 } |
| 2158 if (_json.containsKey("relativeDateRange")) { |
| 2159 relativeDateRange = new RelativeDateRange.fromJson(_json["relativeDateRang
e"]); |
| 2160 } |
| 2161 if (_json.containsKey("webPropertyIds")) { |
| 2162 webPropertyIds = _json["webPropertyIds"]; |
| 2163 } |
| 2164 } |
| 2165 |
| 2166 core.Map toJson() { |
| 2167 var _json = new core.Map(); |
| 2168 if (absoluteDateRange != null) { |
| 2169 _json["absoluteDateRange"] = (absoluteDateRange).toJson(); |
| 2170 } |
| 2171 if (buyerAccountId != null) { |
| 2172 _json["buyerAccountId"] = buyerAccountId; |
| 2173 } |
| 2174 if (creativeId != null) { |
| 2175 _json["creativeId"] = creativeId; |
| 2176 } |
| 2177 if (dealId != null) { |
| 2178 _json["dealId"] = dealId; |
| 2179 } |
| 2180 if (filterSetId != null) { |
| 2181 _json["filterSetId"] = filterSetId; |
| 2182 } |
| 2183 if (filterSetOwnerAccountId != null) { |
| 2184 _json["filterSetOwnerAccountId"] = filterSetOwnerAccountId; |
| 2185 } |
| 2186 if (format != null) { |
| 2187 _json["format"] = format; |
| 2188 } |
| 2189 if (platform != null) { |
| 2190 _json["platform"] = platform; |
| 2191 } |
| 2192 if (relativeDateRange != null) { |
| 2193 _json["relativeDateRange"] = (relativeDateRange).toJson(); |
| 2194 } |
| 2195 if (webPropertyIds != null) { |
| 2196 _json["webPropertyIds"] = webPropertyIds; |
| 2197 } |
| 2198 return _json; |
| 2199 } |
| 2200 } |
| 2201 |
| 2202 /** The number of impressions filtered due to the specified status. */ |
| 2203 class FilteredImpressionStatusFrequency { |
| 2204 /** The number of impressions associated with the specified status. */ |
| 2205 core.String impressionCount; |
| 2206 /** |
| 2207 * The status for which impressions were filtered. |
| 2208 * Possible string values are: |
| 2209 * - "STATUS_UNSPECIFIED" : A placeholder for an undefined status. |
| 2210 * This value will never be returned in responses. |
| 2211 * - "PRETARGETING_CONFIGURATIONS" : The impression was filtered because it |
| 2212 * did not match the buyer's |
| 2213 * pretargeting configurations. |
| 2214 */ |
| 2215 core.String status; |
| 2216 |
| 2217 FilteredImpressionStatusFrequency(); |
| 2218 |
| 2219 FilteredImpressionStatusFrequency.fromJson(core.Map _json) { |
| 2220 if (_json.containsKey("impressionCount")) { |
| 2221 impressionCount = _json["impressionCount"]; |
| 2222 } |
| 2223 if (_json.containsKey("status")) { |
| 2224 status = _json["status"]; |
| 2225 } |
| 2226 } |
| 2227 |
| 2228 core.Map toJson() { |
| 2229 var _json = new core.Map(); |
| 2230 if (impressionCount != null) { |
| 2231 _json["impressionCount"] = impressionCount; |
| 2232 } |
| 2233 if (status != null) { |
| 2234 _json["status"] = status; |
| 2235 } |
| 2236 return _json; |
| 2237 } |
| 2238 } |
| 2239 |
| 2240 /** |
| 2241 * The set of metrics that are measured in numbers of impressions, representing |
| 2242 * how many impressions were considered eligible at each stage of the bidding |
| 2243 * funnel. |
| 2244 */ |
| 2245 class ImpressionMetrics { |
| 2246 /** |
| 2247 * The number of impressions available to the buyer on Ad Exchange. |
| 2248 * In some cases this value may be unavailable. |
| 2249 */ |
| 2250 core.String availableImpressions; |
| 2251 /** |
| 2252 * The number of impressions for which Ad Exchange sent the buyer a bid |
| 2253 * request. |
| 2254 */ |
| 2255 core.String bidRequests; |
| 2256 /** |
| 2257 * The timestamp marking the end of the range (exclusive) for which data is |
| 2258 * included. |
| 2259 */ |
| 2260 core.String endTime; |
| 2261 /** |
| 2262 * The number of impressions that match the buyer's inventory pretargeting. |
| 2263 */ |
| 2264 core.String inventoryMatches; |
| 2265 /** |
| 2266 * The number of impressions for which Ad Exchange received a response from |
| 2267 * the buyer that contained at least one applicable bid. |
| 2268 */ |
| 2269 core.String responsesWithBids; |
| 2270 /** |
| 2271 * The timestamp marking the start of the range (inclusive) for which data is |
| 2272 * included. |
| 2273 */ |
| 2274 core.String startTime; |
| 2275 /** |
| 2276 * The number of impressions for which the buyer successfully sent a response |
| 2277 * to Ad Exchange. |
| 2278 */ |
| 2279 core.String successfulResponses; |
| 2280 |
| 2281 ImpressionMetrics(); |
| 2282 |
| 2283 ImpressionMetrics.fromJson(core.Map _json) { |
| 2284 if (_json.containsKey("availableImpressions")) { |
| 2285 availableImpressions = _json["availableImpressions"]; |
| 2286 } |
| 2287 if (_json.containsKey("bidRequests")) { |
| 2288 bidRequests = _json["bidRequests"]; |
| 2289 } |
| 2290 if (_json.containsKey("endTime")) { |
| 2291 endTime = _json["endTime"]; |
| 2292 } |
| 2293 if (_json.containsKey("inventoryMatches")) { |
| 2294 inventoryMatches = _json["inventoryMatches"]; |
| 2295 } |
| 2296 if (_json.containsKey("responsesWithBids")) { |
| 2297 responsesWithBids = _json["responsesWithBids"]; |
| 2298 } |
| 2299 if (_json.containsKey("startTime")) { |
| 2300 startTime = _json["startTime"]; |
| 2301 } |
| 2302 if (_json.containsKey("successfulResponses")) { |
| 2303 successfulResponses = _json["successfulResponses"]; |
| 2304 } |
| 2305 } |
| 2306 |
| 2307 core.Map toJson() { |
| 2308 var _json = new core.Map(); |
| 2309 if (availableImpressions != null) { |
| 2310 _json["availableImpressions"] = availableImpressions; |
| 2311 } |
| 2312 if (bidRequests != null) { |
| 2313 _json["bidRequests"] = bidRequests; |
| 2314 } |
| 2315 if (endTime != null) { |
| 2316 _json["endTime"] = endTime; |
| 2317 } |
| 2318 if (inventoryMatches != null) { |
| 2319 _json["inventoryMatches"] = inventoryMatches; |
| 2320 } |
| 2321 if (responsesWithBids != null) { |
| 2322 _json["responsesWithBids"] = responsesWithBids; |
| 2323 } |
| 2324 if (startTime != null) { |
| 2325 _json["startTime"] = startTime; |
| 2326 } |
| 2327 if (successfulResponses != null) { |
| 2328 _json["successfulResponses"] = successfulResponses; |
| 2329 } |
| 2330 return _json; |
| 2331 } |
| 2332 } |
| 2333 |
| 913 class ListClientUserInvitationsResponse { | 2334 class ListClientUserInvitationsResponse { |
| 914 /** The returned list of client users. */ | 2335 /** The returned list of client users. */ |
| 915 core.List<ClientUserInvitation> invitations; | 2336 core.List<ClientUserInvitation> invitations; |
| 916 /** | 2337 /** |
| 917 * A token to retrieve the next page of results. | 2338 * A token to retrieve the next page of results. |
| 918 * Pass this value in the | 2339 * Pass this value in the |
| 919 * ListClientUserInvitationsRequest.pageToken | 2340 * ListClientUserInvitationsRequest.pageToken |
| 920 * field in the subsequent call to the | 2341 * field in the subsequent call to the |
| 921 * clients.invitations.list | 2342 * clients.invitations.list |
| 922 * method to retrieve the next | 2343 * method to retrieve the next |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1011 core.Map toJson() { | 2432 core.Map toJson() { |
| 1012 var _json = new core.Map(); | 2433 var _json = new core.Map(); |
| 1013 if (clients != null) { | 2434 if (clients != null) { |
| 1014 _json["clients"] = clients.map((value) => (value).toJson()).toList(); | 2435 _json["clients"] = clients.map((value) => (value).toJson()).toList(); |
| 1015 } | 2436 } |
| 1016 if (nextPageToken != null) { | 2437 if (nextPageToken != null) { |
| 1017 _json["nextPageToken"] = nextPageToken; | 2438 _json["nextPageToken"] = nextPageToken; |
| 1018 } | 2439 } |
| 1019 return _json; | 2440 return _json; |
| 1020 } | 2441 } |
| 2442 } |
| 2443 |
| 2444 /** |
| 2445 * Response message for listing all details associated with a given filtered bid |
| 2446 * reason and a given creative. |
| 2447 */ |
| 2448 class ListCreativeStatusAndCreativeBreakdownByDetailResponse { |
| 2449 /** |
| 2450 * The ID of the creative associated with a bid filtered from the auction. |
| 2451 */ |
| 2452 core.String creativeId; |
| 2453 /** |
| 2454 * The ID of the creative status that identifies the reason the bid was |
| 2455 * filtered before the auction. |
| 2456 * See creative-status-codes. |
| 2457 */ |
| 2458 core.int creativeStatusId; |
| 2459 /** |
| 2460 * The type of detail that the detail IDs represent. |
| 2461 * Possible string values are: |
| 2462 * - "TYPE_UNSPECIFIED" : A placeholder for an undefined status. |
| 2463 * This value will never be returned in responses. |
| 2464 * - "CREATIVE_ATTRIBUTE" : Indicates that the detail ID refers to a creative |
| 2465 * attribute; see |
| 2466 * publisher-excludable-creative-attributes. |
| 2467 * - "VENDOR" : Indicates that the detail ID refers to a vendor; see |
| 2468 * vendors. |
| 2469 * - "SENSITIVE_CATEGORY" : Indicates that the detail ID refers to a sensitive |
| 2470 * category; see |
| 2471 * ad-sensitive-categories. |
| 2472 * - "PRODUCT_CATEGORY" : Indicates that the detail ID refers to a product |
| 2473 * category; see |
| 2474 * ad-product-categories. |
| 2475 */ |
| 2476 core.String detailType; |
| 2477 /** |
| 2478 * The timestamp marking the end of the range (exclusive) for which data is |
| 2479 * included. |
| 2480 */ |
| 2481 core.String endTime; |
| 2482 /** |
| 2483 * List of all detail IDs with their associated bid counts. |
| 2484 * There is a fixed set of details, hence results are not paged. |
| 2485 */ |
| 2486 core.List<DetailFrequency> frequencies; |
| 2487 /** |
| 2488 * The timestamp marking the start of the range (inclusive) for which data is |
| 2489 * included. |
| 2490 */ |
| 2491 core.String startTime; |
| 2492 |
| 2493 ListCreativeStatusAndCreativeBreakdownByDetailResponse(); |
| 2494 |
| 2495 ListCreativeStatusAndCreativeBreakdownByDetailResponse.fromJson(core.Map _json
) { |
| 2496 if (_json.containsKey("creativeId")) { |
| 2497 creativeId = _json["creativeId"]; |
| 2498 } |
| 2499 if (_json.containsKey("creativeStatusId")) { |
| 2500 creativeStatusId = _json["creativeStatusId"]; |
| 2501 } |
| 2502 if (_json.containsKey("detailType")) { |
| 2503 detailType = _json["detailType"]; |
| 2504 } |
| 2505 if (_json.containsKey("endTime")) { |
| 2506 endTime = _json["endTime"]; |
| 2507 } |
| 2508 if (_json.containsKey("frequencies")) { |
| 2509 frequencies = _json["frequencies"].map((value) => new DetailFrequency.from
Json(value)).toList(); |
| 2510 } |
| 2511 if (_json.containsKey("startTime")) { |
| 2512 startTime = _json["startTime"]; |
| 2513 } |
| 2514 } |
| 2515 |
| 2516 core.Map toJson() { |
| 2517 var _json = new core.Map(); |
| 2518 if (creativeId != null) { |
| 2519 _json["creativeId"] = creativeId; |
| 2520 } |
| 2521 if (creativeStatusId != null) { |
| 2522 _json["creativeStatusId"] = creativeStatusId; |
| 2523 } |
| 2524 if (detailType != null) { |
| 2525 _json["detailType"] = detailType; |
| 2526 } |
| 2527 if (endTime != null) { |
| 2528 _json["endTime"] = endTime; |
| 2529 } |
| 2530 if (frequencies != null) { |
| 2531 _json["frequencies"] = frequencies.map((value) => (value).toJson()).toList
(); |
| 2532 } |
| 2533 if (startTime != null) { |
| 2534 _json["startTime"] = startTime; |
| 2535 } |
| 2536 return _json; |
| 2537 } |
| 2538 } |
| 2539 |
| 2540 /** |
| 2541 * Response message for listing all creatives associated with a given filtered |
| 2542 * bid reason. |
| 2543 */ |
| 2544 class ListCreativeStatusBreakdownByCreativeResponse { |
| 2545 /** |
| 2546 * The ID of the creative status that identifies the reason the bid was |
| 2547 * filtered before the auction. |
| 2548 * See creative-status-codes. |
| 2549 */ |
| 2550 core.int creativeStatusId; |
| 2551 /** |
| 2552 * The timestamp marking the end of the range (exclusive) for which data is |
| 2553 * included. |
| 2554 */ |
| 2555 core.String endTime; |
| 2556 /** List of creative IDs with their associated bid counts. */ |
| 2557 core.List<CreativeFrequency> frequencies; |
| 2558 /** |
| 2559 * A token to retrieve the next page of results. |
| 2560 * Pass this value in the |
| 2561 * ListCreativeStatusBreakdownByCreativeRequest.pageToken |
| 2562 * field in the subsequent call to the |
| 2563 * accounts.filterSets.filteredBids.creatives.list |
| 2564 * method to retrieve the next page of results. |
| 2565 */ |
| 2566 core.String nextPageToken; |
| 2567 /** |
| 2568 * The timestamp marking the start of the range (inclusive) for which data is |
| 2569 * included. |
| 2570 */ |
| 2571 core.String startTime; |
| 2572 |
| 2573 ListCreativeStatusBreakdownByCreativeResponse(); |
| 2574 |
| 2575 ListCreativeStatusBreakdownByCreativeResponse.fromJson(core.Map _json) { |
| 2576 if (_json.containsKey("creativeStatusId")) { |
| 2577 creativeStatusId = _json["creativeStatusId"]; |
| 2578 } |
| 2579 if (_json.containsKey("endTime")) { |
| 2580 endTime = _json["endTime"]; |
| 2581 } |
| 2582 if (_json.containsKey("frequencies")) { |
| 2583 frequencies = _json["frequencies"].map((value) => new CreativeFrequency.fr
omJson(value)).toList(); |
| 2584 } |
| 2585 if (_json.containsKey("nextPageToken")) { |
| 2586 nextPageToken = _json["nextPageToken"]; |
| 2587 } |
| 2588 if (_json.containsKey("startTime")) { |
| 2589 startTime = _json["startTime"]; |
| 2590 } |
| 2591 } |
| 2592 |
| 2593 core.Map toJson() { |
| 2594 var _json = new core.Map(); |
| 2595 if (creativeStatusId != null) { |
| 2596 _json["creativeStatusId"] = creativeStatusId; |
| 2597 } |
| 2598 if (endTime != null) { |
| 2599 _json["endTime"] = endTime; |
| 2600 } |
| 2601 if (frequencies != null) { |
| 2602 _json["frequencies"] = frequencies.map((value) => (value).toJson()).toList
(); |
| 2603 } |
| 2604 if (nextPageToken != null) { |
| 2605 _json["nextPageToken"] = nextPageToken; |
| 2606 } |
| 2607 if (startTime != null) { |
| 2608 _json["startTime"] = startTime; |
| 2609 } |
| 2610 return _json; |
| 2611 } |
| 2612 } |
| 2613 |
| 2614 /** |
| 2615 * Response message for listing all details associated with a given filtered bid |
| 2616 * reason. |
| 2617 */ |
| 2618 class ListCreativeStatusBreakdownByDetailResponse { |
| 2619 /** |
| 2620 * The ID of the creative status that identifies the reason the bid was |
| 2621 * filtered before the auction. |
| 2622 * See creative-status-codes. |
| 2623 */ |
| 2624 core.int creativeStatusId; |
| 2625 /** |
| 2626 * The type of detail that the detail IDs represent. |
| 2627 * Possible string values are: |
| 2628 * - "TYPE_UNSPECIFIED" : A placeholder for an undefined status. |
| 2629 * This value will never be returned in responses. |
| 2630 * - "CREATIVE_ATTRIBUTE" : Indicates that the detail ID refers to a creative |
| 2631 * attribute; see |
| 2632 * publisher-excludable-creative-attributes. |
| 2633 * - "VENDOR" : Indicates that the detail ID refers to a vendor; see |
| 2634 * vendors. |
| 2635 * - "SENSITIVE_CATEGORY" : Indicates that the detail ID refers to a sensitive |
| 2636 * category; see |
| 2637 * ad-sensitive-categories. |
| 2638 * - "PRODUCT_CATEGORY" : Indicates that the detail ID refers to a product |
| 2639 * category; see |
| 2640 * ad-product-categories. |
| 2641 */ |
| 2642 core.String detailType; |
| 2643 /** |
| 2644 * The timestamp marking the end of the range (exclusive) for which data is |
| 2645 * included. |
| 2646 */ |
| 2647 core.String endTime; |
| 2648 /** |
| 2649 * List of all detail IDs with their associated bid counts. |
| 2650 * There is a fixed set of details, hence results are not paged. |
| 2651 */ |
| 2652 core.List<DetailFrequency> frequencies; |
| 2653 /** |
| 2654 * The timestamp marking the start of the range (inclusive) for which data is |
| 2655 * included. |
| 2656 */ |
| 2657 core.String startTime; |
| 2658 |
| 2659 ListCreativeStatusBreakdownByDetailResponse(); |
| 2660 |
| 2661 ListCreativeStatusBreakdownByDetailResponse.fromJson(core.Map _json) { |
| 2662 if (_json.containsKey("creativeStatusId")) { |
| 2663 creativeStatusId = _json["creativeStatusId"]; |
| 2664 } |
| 2665 if (_json.containsKey("detailType")) { |
| 2666 detailType = _json["detailType"]; |
| 2667 } |
| 2668 if (_json.containsKey("endTime")) { |
| 2669 endTime = _json["endTime"]; |
| 2670 } |
| 2671 if (_json.containsKey("frequencies")) { |
| 2672 frequencies = _json["frequencies"].map((value) => new DetailFrequency.from
Json(value)).toList(); |
| 2673 } |
| 2674 if (_json.containsKey("startTime")) { |
| 2675 startTime = _json["startTime"]; |
| 2676 } |
| 2677 } |
| 2678 |
| 2679 core.Map toJson() { |
| 2680 var _json = new core.Map(); |
| 2681 if (creativeStatusId != null) { |
| 2682 _json["creativeStatusId"] = creativeStatusId; |
| 2683 } |
| 2684 if (detailType != null) { |
| 2685 _json["detailType"] = detailType; |
| 2686 } |
| 2687 if (endTime != null) { |
| 2688 _json["endTime"] = endTime; |
| 2689 } |
| 2690 if (frequencies != null) { |
| 2691 _json["frequencies"] = frequencies.map((value) => (value).toJson()).toList
(); |
| 2692 } |
| 2693 if (startTime != null) { |
| 2694 _json["startTime"] = startTime; |
| 2695 } |
| 2696 return _json; |
| 2697 } |
| 2698 } |
| 2699 |
| 2700 /** Response message for listing filter sets. */ |
| 2701 class ListFilterSetsResponse { |
| 2702 /** The filter sets belonging to the buyer. */ |
| 2703 core.List<FilterSet> filterSets; |
| 2704 /** |
| 2705 * A token to retrieve the next page of results. |
| 2706 * Pass this value in the |
| 2707 * ListFilterSetsRequest.pageToken |
| 2708 * field in the subsequent call to the |
| 2709 * accounts.filterSets.list |
| 2710 * method to retrieve the next page of results. |
| 2711 */ |
| 2712 core.String nextPageToken; |
| 2713 |
| 2714 ListFilterSetsResponse(); |
| 2715 |
| 2716 ListFilterSetsResponse.fromJson(core.Map _json) { |
| 2717 if (_json.containsKey("filterSets")) { |
| 2718 filterSets = _json["filterSets"].map((value) => new FilterSet.fromJson(val
ue)).toList(); |
| 2719 } |
| 2720 if (_json.containsKey("nextPageToken")) { |
| 2721 nextPageToken = _json["nextPageToken"]; |
| 2722 } |
| 2723 } |
| 2724 |
| 2725 core.Map toJson() { |
| 2726 var _json = new core.Map(); |
| 2727 if (filterSets != null) { |
| 2728 _json["filterSets"] = filterSets.map((value) => (value).toJson()).toList()
; |
| 2729 } |
| 2730 if (nextPageToken != null) { |
| 2731 _json["nextPageToken"] = nextPageToken; |
| 2732 } |
| 2733 return _json; |
| 2734 } |
| 2735 } |
| 2736 |
| 2737 /** |
| 2738 * Response message for listing all reasons that bids were filtered from the |
| 2739 * auction. |
| 2740 */ |
| 2741 class ListFilteredBidsResponse { |
| 2742 /** |
| 2743 * The timestamp marking the end of the range (exclusive) for which data is |
| 2744 * included. |
| 2745 */ |
| 2746 core.String endTime; |
| 2747 /** |
| 2748 * List of all creative status IDs, identifying the reason the bids were |
| 2749 * filtered from the auction, with their associated bid counts. |
| 2750 * See creative-status-codes. |
| 2751 * There is a fixed set of statuses, hence results are not paged. |
| 2752 */ |
| 2753 core.List<CreativeStatusFrequency> frequencies; |
| 2754 /** |
| 2755 * The timestamp marking the start of the range (inclusive) for which data is |
| 2756 * included. |
| 2757 */ |
| 2758 core.String startTime; |
| 2759 |
| 2760 ListFilteredBidsResponse(); |
| 2761 |
| 2762 ListFilteredBidsResponse.fromJson(core.Map _json) { |
| 2763 if (_json.containsKey("endTime")) { |
| 2764 endTime = _json["endTime"]; |
| 2765 } |
| 2766 if (_json.containsKey("frequencies")) { |
| 2767 frequencies = _json["frequencies"].map((value) => new CreativeStatusFreque
ncy.fromJson(value)).toList(); |
| 2768 } |
| 2769 if (_json.containsKey("startTime")) { |
| 2770 startTime = _json["startTime"]; |
| 2771 } |
| 2772 } |
| 2773 |
| 2774 core.Map toJson() { |
| 2775 var _json = new core.Map(); |
| 2776 if (endTime != null) { |
| 2777 _json["endTime"] = endTime; |
| 2778 } |
| 2779 if (frequencies != null) { |
| 2780 _json["frequencies"] = frequencies.map((value) => (value).toJson()).toList
(); |
| 2781 } |
| 2782 if (startTime != null) { |
| 2783 _json["startTime"] = startTime; |
| 2784 } |
| 2785 return _json; |
| 2786 } |
| 2787 } |
| 2788 |
| 2789 /** |
| 2790 * Response message for listing all reasons that impressions were filtered (i.e. |
| 2791 * not considered as an inventory match) for the buyer. |
| 2792 */ |
| 2793 class ListFilteredImpressionsResponse { |
| 2794 /** |
| 2795 * The timestamp marking the end of the range (exclusive) for which data is |
| 2796 * included. |
| 2797 */ |
| 2798 core.String endTime; |
| 2799 /** |
| 2800 * List of all statuses identifying the reason the bid request was filtered, |
| 2801 * with their associated impression counts. |
| 2802 * There is a fixed set of statuses, hence results are not paged. |
| 2803 */ |
| 2804 core.List<FilteredImpressionStatusFrequency> frequencies; |
| 2805 /** |
| 2806 * The timestamp marking the start of the range (inclusive) for which data is |
| 2807 * included. |
| 2808 */ |
| 2809 core.String startTime; |
| 2810 |
| 2811 ListFilteredImpressionsResponse(); |
| 2812 |
| 2813 ListFilteredImpressionsResponse.fromJson(core.Map _json) { |
| 2814 if (_json.containsKey("endTime")) { |
| 2815 endTime = _json["endTime"]; |
| 2816 } |
| 2817 if (_json.containsKey("frequencies")) { |
| 2818 frequencies = _json["frequencies"].map((value) => new FilteredImpressionSt
atusFrequency.fromJson(value)).toList(); |
| 2819 } |
| 2820 if (_json.containsKey("startTime")) { |
| 2821 startTime = _json["startTime"]; |
| 2822 } |
| 2823 } |
| 2824 |
| 2825 core.Map toJson() { |
| 2826 var _json = new core.Map(); |
| 2827 if (endTime != null) { |
| 2828 _json["endTime"] = endTime; |
| 2829 } |
| 2830 if (frequencies != null) { |
| 2831 _json["frequencies"] = frequencies.map((value) => (value).toJson()).toList
(); |
| 2832 } |
| 2833 if (startTime != null) { |
| 2834 _json["startTime"] = startTime; |
| 2835 } |
| 2836 return _json; |
| 2837 } |
| 2838 } |
| 2839 |
| 2840 /** |
| 2841 * Response message for listing all reasons that bid requests were filtered and |
| 2842 * not sent to the buyer. |
| 2843 */ |
| 2844 class ListFilteredRequestsResponse { |
| 2845 /** |
| 2846 * The timestamp marking the end of the range (exclusive) for which data is |
| 2847 * included. |
| 2848 */ |
| 2849 core.String endTime; |
| 2850 /** |
| 2851 * List of all callout status IDs, identifying the reason the bid request was |
| 2852 * filtered, with their associated impression counts. |
| 2853 * See callout-status-codes. |
| 2854 * There is a fixed set of statuses, hence results are not paged. |
| 2855 */ |
| 2856 core.List<CalloutStatusFrequency> frequencies; |
| 2857 /** |
| 2858 * The timestamp marking the start of the range (inclusive) for which data is |
| 2859 * included. |
| 2860 */ |
| 2861 core.String startTime; |
| 2862 |
| 2863 ListFilteredRequestsResponse(); |
| 2864 |
| 2865 ListFilteredRequestsResponse.fromJson(core.Map _json) { |
| 2866 if (_json.containsKey("endTime")) { |
| 2867 endTime = _json["endTime"]; |
| 2868 } |
| 2869 if (_json.containsKey("frequencies")) { |
| 2870 frequencies = _json["frequencies"].map((value) => new CalloutStatusFrequen
cy.fromJson(value)).toList(); |
| 2871 } |
| 2872 if (_json.containsKey("startTime")) { |
| 2873 startTime = _json["startTime"]; |
| 2874 } |
| 2875 } |
| 2876 |
| 2877 core.Map toJson() { |
| 2878 var _json = new core.Map(); |
| 2879 if (endTime != null) { |
| 2880 _json["endTime"] = endTime; |
| 2881 } |
| 2882 if (frequencies != null) { |
| 2883 _json["frequencies"] = frequencies.map((value) => (value).toJson()).toList
(); |
| 2884 } |
| 2885 if (startTime != null) { |
| 2886 _json["startTime"] = startTime; |
| 2887 } |
| 2888 return _json; |
| 2889 } |
| 2890 } |
| 2891 |
| 2892 /** Response message for listing all reasons that bids lost in the auction. */ |
| 2893 class ListLosingBidsResponse { |
| 2894 /** |
| 2895 * The timestamp marking the end of the range (exclusive) for which data is |
| 2896 * included. |
| 2897 */ |
| 2898 core.String endTime; |
| 2899 /** |
| 2900 * List of all creative status IDs with their associated bid counts. |
| 2901 * See creative-status-codes. |
| 2902 * There is a fixed set of statuses, hence results are not paged. |
| 2903 */ |
| 2904 core.List<CreativeStatusFrequency> frequencies; |
| 2905 /** |
| 2906 * The timestamp marking the start of the range (inclusive) for which data is |
| 2907 * included. |
| 2908 */ |
| 2909 core.String startTime; |
| 2910 |
| 2911 ListLosingBidsResponse(); |
| 2912 |
| 2913 ListLosingBidsResponse.fromJson(core.Map _json) { |
| 2914 if (_json.containsKey("endTime")) { |
| 2915 endTime = _json["endTime"]; |
| 2916 } |
| 2917 if (_json.containsKey("frequencies")) { |
| 2918 frequencies = _json["frequencies"].map((value) => new CreativeStatusFreque
ncy.fromJson(value)).toList(); |
| 2919 } |
| 2920 if (_json.containsKey("startTime")) { |
| 2921 startTime = _json["startTime"]; |
| 2922 } |
| 2923 } |
| 2924 |
| 2925 core.Map toJson() { |
| 2926 var _json = new core.Map(); |
| 2927 if (endTime != null) { |
| 2928 _json["endTime"] = endTime; |
| 2929 } |
| 2930 if (frequencies != null) { |
| 2931 _json["frequencies"] = frequencies.map((value) => (value).toJson()).toList
(); |
| 2932 } |
| 2933 if (startTime != null) { |
| 2934 _json["startTime"] = startTime; |
| 2935 } |
| 2936 return _json; |
| 2937 } |
| 2938 } |
| 2939 |
| 2940 /** |
| 2941 * Response message for listing all reasons that bid responses resulted in an |
| 2942 * error. |
| 2943 */ |
| 2944 class ListResponseErrorsResponse { |
| 2945 /** |
| 2946 * The timestamp marking the end of the range (exclusive) for which data is |
| 2947 * included. |
| 2948 */ |
| 2949 core.String endTime; |
| 2950 /** |
| 2951 * List of all callout status IDs, identifying the error in the bid responses, |
| 2952 * with their associated impression counts. |
| 2953 * See callout-status-codes. |
| 2954 * There is a fixed set of statuses, hence results are not paged. |
| 2955 */ |
| 2956 core.List<CalloutStatusFrequency> frequencies; |
| 2957 /** |
| 2958 * The timestamp marking the start of the range (inclusive) for which data is |
| 2959 * included. |
| 2960 */ |
| 2961 core.String startTime; |
| 2962 |
| 2963 ListResponseErrorsResponse(); |
| 2964 |
| 2965 ListResponseErrorsResponse.fromJson(core.Map _json) { |
| 2966 if (_json.containsKey("endTime")) { |
| 2967 endTime = _json["endTime"]; |
| 2968 } |
| 2969 if (_json.containsKey("frequencies")) { |
| 2970 frequencies = _json["frequencies"].map((value) => new CalloutStatusFrequen
cy.fromJson(value)).toList(); |
| 2971 } |
| 2972 if (_json.containsKey("startTime")) { |
| 2973 startTime = _json["startTime"]; |
| 2974 } |
| 2975 } |
| 2976 |
| 2977 core.Map toJson() { |
| 2978 var _json = new core.Map(); |
| 2979 if (endTime != null) { |
| 2980 _json["endTime"] = endTime; |
| 2981 } |
| 2982 if (frequencies != null) { |
| 2983 _json["frequencies"] = frequencies.map((value) => (value).toJson()).toList
(); |
| 2984 } |
| 2985 if (startTime != null) { |
| 2986 _json["startTime"] = startTime; |
| 2987 } |
| 2988 return _json; |
| 2989 } |
| 2990 } |
| 2991 |
| 2992 /** |
| 2993 * Response message for listing all reasons that bid responses were considered |
| 2994 * to have no applicable bids. |
| 2995 */ |
| 2996 class ListResponsesWithoutBidsResponse { |
| 2997 /** |
| 2998 * The timestamp marking the end of the range (exclusive) for which data is |
| 2999 * included. |
| 3000 */ |
| 3001 core.String endTime; |
| 3002 /** |
| 3003 * List of all statuses with their associated impression counts. |
| 3004 * There is a fixed set of statuses, hence results are not paged. |
| 3005 */ |
| 3006 core.List<ResponsesWithoutBidsStatusFrequency> frequencies; |
| 3007 /** |
| 3008 * The timestamp marking the start of the range (inclusive) for which data is |
| 3009 * included. |
| 3010 */ |
| 3011 core.String startTime; |
| 3012 |
| 3013 ListResponsesWithoutBidsResponse(); |
| 3014 |
| 3015 ListResponsesWithoutBidsResponse.fromJson(core.Map _json) { |
| 3016 if (_json.containsKey("endTime")) { |
| 3017 endTime = _json["endTime"]; |
| 3018 } |
| 3019 if (_json.containsKey("frequencies")) { |
| 3020 frequencies = _json["frequencies"].map((value) => new ResponsesWithoutBids
StatusFrequency.fromJson(value)).toList(); |
| 3021 } |
| 3022 if (_json.containsKey("startTime")) { |
| 3023 startTime = _json["startTime"]; |
| 3024 } |
| 3025 } |
| 3026 |
| 3027 core.Map toJson() { |
| 3028 var _json = new core.Map(); |
| 3029 if (endTime != null) { |
| 3030 _json["endTime"] = endTime; |
| 3031 } |
| 3032 if (frequencies != null) { |
| 3033 _json["frequencies"] = frequencies.map((value) => (value).toJson()).toList
(); |
| 3034 } |
| 3035 if (startTime != null) { |
| 3036 _json["startTime"] = startTime; |
| 3037 } |
| 3038 return _json; |
| 3039 } |
| 3040 } |
| 3041 |
| 3042 /** |
| 3043 * A relative date range, specified by an offset and a duration. |
| 3044 * The supported range of dates begins 30 days before today and ends today. |
| 3045 * I.e. the limits for these values are: |
| 3046 * offset_days >= 0 |
| 3047 * duration_days >= 1 |
| 3048 * offset_days + duration_days <= 30 |
| 3049 */ |
| 3050 class RelativeDateRange { |
| 3051 /** |
| 3052 * The number of days in the requested date range. E.g. for a range spanning |
| 3053 * today, 1. For a range spanning the last 7 days, 7. |
| 3054 */ |
| 3055 core.int durationDays; |
| 3056 /** |
| 3057 * The end date of the filter set, specified as the number of days before |
| 3058 * today. E.g. for a range where the last date is today, 0. |
| 3059 */ |
| 3060 core.int offsetDays; |
| 3061 |
| 3062 RelativeDateRange(); |
| 3063 |
| 3064 RelativeDateRange.fromJson(core.Map _json) { |
| 3065 if (_json.containsKey("durationDays")) { |
| 3066 durationDays = _json["durationDays"]; |
| 3067 } |
| 3068 if (_json.containsKey("offsetDays")) { |
| 3069 offsetDays = _json["offsetDays"]; |
| 3070 } |
| 3071 } |
| 3072 |
| 3073 core.Map toJson() { |
| 3074 var _json = new core.Map(); |
| 3075 if (durationDays != null) { |
| 3076 _json["durationDays"] = durationDays; |
| 3077 } |
| 3078 if (offsetDays != null) { |
| 3079 _json["offsetDays"] = offsetDays; |
| 3080 } |
| 3081 return _json; |
| 3082 } |
| 3083 } |
| 3084 |
| 3085 /** |
| 3086 * The number of impressions for which the corresponding response had no |
| 3087 * applicable bids, as described by the specified status. |
| 3088 */ |
| 3089 class ResponsesWithoutBidsStatusFrequency { |
| 3090 /** The number of impressions associated with the specified status. */ |
| 3091 core.String impressionCount; |
| 3092 /** |
| 3093 * The status that caused the bid response to be considered to have no |
| 3094 * applicable bids. |
| 3095 * Possible string values are: |
| 3096 * - "STATUS_UNSPECIFIED" : A placeholder for an undefined status. |
| 3097 * This value will never be returned in responses. |
| 3098 * - "RESPONSES_WITHOUT_BIDS" : The response had no bids. |
| 3099 * - "RESPONSES_WITHOUT_BIDS_FOR_ACCOUNT" : The response had no bids for the |
| 3100 * specified account, though it may have |
| 3101 * included bids on behalf of other accounts. |
| 3102 * - "RESPONSES_WITHOUT_BIDS_FOR_DEAL" : The response had no bids for the |
| 3103 * specified deal, though it may have |
| 3104 * included bids on other deals on behalf of the account to which the deal |
| 3105 * belongs. |
| 3106 */ |
| 3107 core.String status; |
| 3108 |
| 3109 ResponsesWithoutBidsStatusFrequency(); |
| 3110 |
| 3111 ResponsesWithoutBidsStatusFrequency.fromJson(core.Map _json) { |
| 3112 if (_json.containsKey("impressionCount")) { |
| 3113 impressionCount = _json["impressionCount"]; |
| 3114 } |
| 3115 if (_json.containsKey("status")) { |
| 3116 status = _json["status"]; |
| 3117 } |
| 3118 } |
| 3119 |
| 3120 core.Map toJson() { |
| 3121 var _json = new core.Map(); |
| 3122 if (impressionCount != null) { |
| 3123 _json["impressionCount"] = impressionCount; |
| 3124 } |
| 3125 if (status != null) { |
| 3126 _json["status"] = status; |
| 3127 } |
| 3128 return _json; |
| 3129 } |
| 1021 } | 3130 } |
| OLD | NEW |