Package: yandex-direct-api
Yandex Direct Api Wrapper (yandex direct api v5)InstallationInstal userpip...pip install yandex-direct-apiUsagefromdirect_apiimportDirectAPIclient=DirectAPI('<access_token>','<clid>',lang='ru')AgencyClient:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/agencyclients/add-docpage/params:nametypedefault valueloginstr*requiredfirst_namestr*requiredlast_namestr*requiredcurrencystr*requiredgrantslistNonenotificationdictNonesettingsdictNoneresult=client.AgencyClient.add(login='<login>',first_name='<fname>',last_name='<lname>',currency='RUB')AgencyClient:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/agencyclients/get-docpage/params:nametypedefault valuefield_nameslist*requiredlimitint500offsetint0loginslistNonearchivedstrNoneresult=client.AgencyClient.get(field_names=["ClientId","ClientInfo"])AgencyClient:updatedoc:https://yandex.ru/dev/direct/doc/ref-v5/agencyclients/update.htmlparams:nametypedefault valueclientslist*requiredclients=[{"ClientId":1"ClientInfo":'client info',},]result=client.AgencyClient.update(clients=clients)AdExtension:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/adextensions/add-docpage/params:nametypedefault valuead_extensionslist*requiredad_extendsions=[{"Callout":{"CalloutText":"<callout text>"},},]result=client.AdExtension.add(ad_extendsions=ad_extendsions)AdExtension:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/adextensions/delete-docpage/params:nametypedefault valueidslist*requiredids=['1','2','3']result=client.AdExtension.delete(ids)AdExtension:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/adextensions/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonetypeslistNonestatuseslistNonemodify_sincestrNonecallout_field_nameslistNonelimitint500offsetint0field_names=['Id','Type','Status']result=client.AdExtension.get(field_names)AdGroup:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/adgroups/add-docpage/params:nametypedefault valuead_groupslist*requiredad_groups=[{'Name':'Test','CampaignId':'123','RegionIds'}]result=client.AdGroup.add(ad_groups)AdGroup:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/adgroups/delete-docpage/params:nametypedefault valueidslist*requiredids=['123','124','125']result=client.AdGroup.get(ids=ids)AdGroup:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/adgroups/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonecampaign_idslistNonetypeslistNonestatuseslistNoneserving_statuseslistNoneapp_icon_statuseslistNonenegative_keyword_shared_set_idslistNonemobile_app_ad_group_field_nameslistNonedynamic_text_ad_group_field_nameslistNonedynamic_text_feed_ad_group_field_nameslistNonelimitint500offsetint500field_names=['AdGroupId','Name','CampaignId']result=client.AdGroup.get(field_names=field_names)AdGroup:updatedoc:https://yandex.ru/dev/direct/doc/ref-v5/adgroups/update-docpage/params:nametypedefault valuead_groupslist*requiredad_groups=[{'Name':'Test','CampaignId':'123','RegionIds','AdGroupId':'123'}]result=client.AdGroup.update(ad_groups)AdImage:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/adimages/add-docpage/params:nametypedefault valuead_imageslist*requiredad_images=[{'Name':'Test','ImageData':'<binary>'}]result=client.AdImage.add(ad_images)AdImage:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/adimages/delete.htmlparams:nametypedefault valuehasheslist*requiredhashes=['<hash1>','<hash2>']result=client.AdImage.delete(hashes)AdImage:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/adimages/get-docpage/params:nametypedefault valuefield_nameslist*requiredad_images_hasheslistNoneassociatedstrNonelimitinit500offsetinit0field_names=['AdImageHash','Name']result=client.AdImage.get(field_names)Ad:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/ads/add-docpage/params:nametypedefault valueadslist*requiredads=[{'AdgroupId':'<id>','TextAd':{}}]result=client.Ad.add(ads)Ad:archivedoc:https://yandex.ru/dev/direct/doc/ref-v5/ads/archive-docpage/params:nametypedefault valueidslist*requiredids=['123','124']result=client.Ad.archive(ids)Ad:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/ads/delete-docpage/params:nametypedefault valueidslist*requiredids=['123','124']result=client.Ad.delete(ids)Ad:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/ads/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonecampaign_idslistNonead_group_idslistNonestateslistNonestatuseslistNonetypeslistNonemobilestrNonev_card_idslistNonesitelink_set_idslistNonead_image_hasheslistNonev_card_moderation_statuseslistNonesitelink_moderation_statuseslistNonead_image_moderation_statuseslistNonead_extension_idslistNonetext_ad_field_nameslistNonetext_ad_price_extension_field_nameslistNonemobile_app_field_nameslistNonedynamic_text_ad_field_nameslistNonemobile_app_image_ad_field_nameslistNonetext_ad_builder_ad_field_nameslistNonemobile_app_ad_builder_ad_field_nameslistNonecpc_video_ad_builder_ad_field_nameslistNonecpm_banner_ad_builder_ad_field_nameslistNonecpm_video_ad_builder_ad_field_nameslistNonelimitint500offsetint0field_names=['Id','CampaignId']result=client.Ad.get(field_names)Ad:moderatedoc:https://yandex.ru/dev/direct/doc/ref-v5/ads/moderate-docpage/params:nametypedefault valueidslist*requiredids=['123','124']result=client.Ad.moderate(ids)Ad:resumedoc:https://yandex.ru/dev/direct/doc/ref-v5/ads/resume-docpage/params:nametypedefault valueidslist*requiredids=['123','124']result=client.Ad.resume(ids)Ad:suspenddoc:https://yandex.ru/dev/direct/doc/ref-v5/ads/suspend-docpage/params:nametypedefault valueidslist*requiredids=['123','124']result=client.Ad.suspend(ids)Ad:unarchivedoc:https://yandex.ru/dev/direct/doc/ref-v5/ads/unarchive-docpage/params:nametypedefault valueidslist*requiredids=['123','124']result=client.Ad.unarchive(ids)Ad:updatedoc:https://yandex.ru/dev/direct/doc/ref-v5/ads/update-docpage/params:nametypedefault valueadslist*requiredads=[{'AdgroupId':'<id>','TextAd':{},'Id':'<Id>'}]result=client.Ad.update(ads)AudienceTarget:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/audiencetargets/add-docpage/params:nametypedefault valueadslist*requiredads=[{'AdgroupId':'<id>',}]result=client.AudienceTarget.add(ids)AudienceTarget:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/audiencetargets/delete-docpage/params:nametypedefault valueidslist*requiredids=['232324353']result=client.AudienceTarget.delete(ids)AudienceTarget:get_audience_targetsdoc:https://yandex.ru/dev/direct/doc/ref-v5/audiencetargets/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonead_group_idslistNonecampaign_idslistNoneretargeting_list_idslistNoneinterest_idslistNonestateslistNonelimitint500offsetint0field_names=['Id']result=client.AudienceTarget.get_audience_targets(field_names,campaigns_ids=[123])AudienceTarget:resumedoc:https://yandex.ru/dev/direct/doc/ref-v5/audiencetargets/resume-docpage/params:nametypedefault valueidslist*requiredids=['232324353']result=client.AudienceTarget.resume(ids)AudienceTarget:set_bidsdoc:https://yandex.ru/dev/direct/doc/ref-v5/audiencetargets/setBids-docpage/params:nametypedefault valuebidslist*requiredbids=[{'Id':'<id>','AdGroupId':'<Id>'}]result=client.AudienceTarget.set_bids(bids)Bid:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/bids/get-docpage/params:nametypedefault valuefield_nameslist*requiredkeyword_idslistNonead_group_idslistNonecampaign_idslistNoneserving_statuseslistNonelimitint500offsetint0field_names=['Id']result=client.Bid.suspend(field_names,campaign_ids=[1232424532])Bid:setdoc:https://yandex.ru/dev/direct/doc/ref-v5/bids/set-docpage/params:nametypedefault valuebidslist*requiredbids=[{'Bid':'<long>'}]result=client.Bid.set(bids)Bid:set_autodoc:https://yandex.ru/dev/direct/doc/ref-v5/bids/setAuto-docpage/params:nametypedefault valuebidslist*requiredbids=[{'CampaignID':'<long>','Scope':'SEARCH'}]result=client.Bid.set_auto(bids)BidsModifier:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/bidmodifiers/add-docpage/params:nametypedefault valuebid_modifierslist*requiredbid_modifiers=[{'MobileAdjustment':{'BidModifier':'<id>'}}]result=client.BidsModifier.add(bid_modifiers)BidsModifier:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/bidmodifiers/delete-docpage/params:nametypedefault valueidslist*requiredids=['1312324343']result=client.BidsModifier.delete(ids)BidsModifier:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/bidmodifiers/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonecampaign_idslistNonead_group_idslistNonetypeslistNonelevelslistNonemobile_adjustment_field_nameslistNonedesktop_adjustment_field_nameslistNonedemographics_adjustment_field_nameslistNoneretargeting_adjustment_field_nameslistNoneregional_adjustment_field_nameslistNonevideo_adjustment_field_nameslistNonelimitlist500offsetlist0field_names=['Id','CampaignId','Type']result=client.BidsModifier.get(field_names,campaign_ids=['123453534'])BidsModifier:setdoc:https://yandex.ru/dev/direct/doc/ref-v5/bidmodifiers/set-docpage/params:nametypedefault valuebid_modifierslist*requiredids=[{'Id':'<id>','BidModifier':124242}]result=client.BidsModifier.set(bid_modifiers)BidsModifier:toggledoc:https://yandex.ru/dev/direct/doc/ref-v5/bidmodifiers/toggle-docpage/params:nametypedefault valuebid_modifier_toggle_itemslist*requiredbid_modifier_toggle_items=[{'CampaignId':'<id>','Type':"DEMOGRAPHICS_ADJUSTMENT","Enabled":"YES"}]result=client.BidsModifier.toggle(bid_modifier_toggle_items)Campaign:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/campaigns/add-docpage/params:nametypedefault valuecampaignslist*requiredcampaign_item={}# campaign objectcampaigns=[campaign_item]result=client.Campaign.add(campaigns)Campaign:archivedoc:https://yandex.ru/dev/direct/doc/ref-v5/campaigns/archive-docpage/params:nametypedefault valueidslist*requiredids=['12312535','345345345','23432325345']result=client.Campaign.archive(ids)Campaign:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/campaigns/delete-docpage/params:nametypedefault valueidslist*requiredids=['12312535','345345345','23432325345']result=client.Campaign.delete(ids)Campaign:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/campaigns/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonetypeslistNonestateslistNonestatuseslistNonestatuses_paymentslistNonetext_campaign_field_nameslistNonemobile_app_campaign_field_nameslistNonedynamic_text_campaign_field_nameslistNonecpm_banner_campaign_field_nameslistNonelimitint500offsetint0field_names=['Id','Name','Type']result=client.Campaign.get(field_names=field_names)Campaign:resumedoc:https://yandex.ru/dev/direct/doc/ref-v5/campaigns/resume-docpage/params:nametypedefault valueidslist*requiredids=['12312535','345345345','23432325345']result=client.Campaign.resume(ids)Campaign:suspenddoc:https://yandex.ru/dev/direct/doc/ref-v5/campaigns/suspend-docpage/params:nametypedefault valueidslist*requiredids=['12312535','345345345','23432325345']result=client.Campaign.suspend(ids)Campaign:unarchivedoc:https://yandex.ru/dev/direct/doc/ref-v5/campaigns/unarchive-docpage/params:nametypedefault valueidslist*requiredids=['12312535','345345345','23432325345']result=client.Campaign.unarchive(ids)Campaign:updatedoc:https://yandex.ru/dev/direct/doc/ref-v5/campaigns/update-docpage/params:nametypedefault valuecampaignslist*requiredcampaigns=[{'Id':'12312535','Name':'updated!']result=client.Campaign.unarchive(campaigns)Change:check_dictionariesdoc:https://yandex.ru/dev/direct/doc/ref-v5/changes/checkDictionaries-docpage/params:nametypedefault valuetimestampint*requiredfromtimeimporttimetimestamp=int(time.now()-1800)result=client.Change.check_dictionaries(timestamp)Change:check_campaignsdoc:https://yandex.ru/dev/direct/doc/ref-v5/changes/checkDictionaries-docpage/params:nametypedefault valuetimestampint*requiredfromtimeimporttimetimestamp=int(time.now()-1800)result=client.Change.check_campaigns(timestamp)Change:checkdoc:https://yandex.ru/dev/direct/doc/ref-v5/changes/checkDictionaries-docpage/params:nametypedefault valuetimestampint*requiredfield_nameslist*requiredcampaign_idslistNonead_group_idslistNonead_idslistNonefromtimeimporttimetimestamp=int(time.now()-1800)field_names=['Id','Name']result=client.Change.check(timestamp,fiel_names)Creative:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/creatives/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonetypeslistNonevideo_extension_creative_field_nameslistNonecpc_video_creative_field_nameslistNonecpm_video_creative_field_nameslistNonelimitint10000offsetint0field_names=['Id','Name','Type','PreviewUrl']result=client.Creative.get(field_names)Dictionary:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/dictionaries/get-docpage/params:nametypedefault valuedictionary_nameslist*requireddictionary_names=['TimeZones','Currencies']result=client.Dictionary.get(dictionary_names)DynamicTextAdTarget:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/dynamictextadtargets/add-docpage/params:nametypedefault valuewebpageslist*requiredbidlistNonecontext_bidstrNonecontext_bidstrNonestrategy_prioritystrNonewebpages=[{'Name':'Test','AdGroupId':'123242453253'}]result=client.DynamicTextAdTarget.add(webpages)DynamicTextAdTarget:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/dynamictextadtargets/delete-docpage/params:nametypedefault valueidslist*requiredids=['213232432432']result=client.DynamicTextAdTarget.delete(ids)DynamicTextAdTarget:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/dynamictextadtargets/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonead_group_idslistNonecampaign_idslistNonestateslistNonelimitint10000offsetint0ids=['AdGroupId','Bid']result=client.DynamicTextAdTarget.get(ids)DynamicTextAdTarget:resumedoc:https://yandex.ru/dev/direct/doc/ref-v5/dynamictextadtargets/resume-docpage/params:nametypedefault valueidslist*requiredids=['213232432432']result=client.DynamicTextAdTarget.resume(ids)DynamicTextAdTarget:suspenddoc:https://yandex.ru/dev/direct/doc/ref-v5/dynamictextadtargets/suspend-docpage/params:nametypedefault valueidslist*requiredids=['213232432432']result=client.DynamicTextAdTarget.suspend(ids)DynamicTextAdTarget:set_bidsdoc:https://yandex.ru/dev/direct/doc/ref-v5/dynamictextadtargets/suspend-docpage/params:nametypedefault valuebidslist*requiredset_bit_item={}# set bid item from docbids=[set_bit_item]result=client.DynamicTextAdTarget.set_bids(bids)KeywordBid:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/keywordbids/get-docpage/params:nametypedefault valuefield_nameslist*requiredcampaign_idslistNonead_group_idslistNonekeyword_idslistNoneserving_statuseslistNonesearch_field_nameslistNonenetwork_field_nameslistNonelimitint10000offsetint0field_names=['Id']campaign_ids=['123123212353']result=client.KeywordBid.get(field_names,campaign_ids=campaign_ids)KeywordBid:setdoc:https://yandex.ru/dev/direct/doc/ref-v5/keywordbids/get-docpage/params:nametypedefault valuekeyword_bidslist*requiredset_bit_item={}# set bid item from dockeyword_bids=[set_bit_item]result=client.KeywordBid.set(keyword_bids)KeywordBid:set_autodoc:https://yandex.ru/dev/direct/doc/ref-v5/keywordbids/setAuto-docpage/params:nametypedefault valuekeyword_bidslist*requiredset_bit_item={}# set bid item from dockeyword_bids=[set_bit_item]result=client.KeywordBid.set_auto(keyword_bids)Keyword:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/keywords/add-docpage/params:nametypedefault valuekeywordslist*requiredkeyword={"Keyworod":"yandex-dircet-api-python","AdGroupId":"12324324334"}keywords=[keyword]result=client.Keyword.add(keywords)Keyword:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/keywords/delete-docpage/params:nametypedefault valueidslist*requiredids=['1232432547357348']result=client.Keyword.delete(ids)Keyword:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/keywords/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonead_group_idslistNonecampaign_idslistNonestateslistNonestatuseslistNoneserving_statuseslistNonemodified_sincestrNonelimitint10000offsetint0field_names=['Id','Keyword']result=client.Keyword.delete(field_names,campaign_ids=['23232343583'])Keyword:resumedoc:https://yandex.ru/dev/direct/doc/ref-v5/keywords/resume-docpage/params:nametypedefault valueidslist*requiredids=['1232432547357348']result=client.Keyword.resume(ids)Keyword:suspenddoc:https://yandex.ru/dev/direct/doc/ref-v5/keywords/suspend-docpage/params:nametypedefault valueidslist*requiredids=['1232432547357348']result=client.Keyword.resume(ids)Keyword:updatedoc:https://yandex.ru/dev/direct/doc/ref-v5/keywords/update-docpage/params:nametypedefault valuekeywordslist*requiredkeywords=[{'Id':'123123243534','Keyword':'updated yandex'}]result=client.Keyword.update(keywords)KeywordsResearch:deduplicatedoc:https://yandex.ru/dev/direct/doc/ref-v5/keywordsresearch/deduplicate-docpage/params:nametypedefault valuekeywordslist*requiredoperationlistNonekeywords=[{'Id':'123123243534','Keyword':'updated yandex'}]operation='MERGE_DUPLICATES'result=client.KeywordsResearch.deduplicate(keywords,operation)KeywordsResearch:has_search_volumedoc:https://yandex.ru/dev/direct/doc/ref-v5/keywordsresearch/hasSearchVolume-docpage/params:nametypedefault valuefield_nameslist*requiredkeywordslist*requiredregion_idslist*requiredfield_names=['Keyword']keywords=[{'Id':'123123243534','Keyword':'updated yandex'}]region_ids=['123123123']result=client.KeywordsResearch.has_search_volume(field_names,keywords,region_ids)Lead:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/leads/get-docpage/params:nametypedefault valuefield_nameslist*requiredturbo_page_idslistNonedate_time_fromstrNonedate_time_tostrNonelimitint10000offsetint0field_names=['TurboPageId','TurboPageName','id']result=client.Lead.get(field_names)NegativeKeywordSharedSet:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/negativekeywordsharedsets/add-docpage/params:nametypedefault valuenegative_keyword_shared_setslist*requirednegative_keyword_shared_sets=[{'Name':'name','NegativeKeywords':[123]}]result=client.Lead.get(negative_keyword_shared_sets)NegativeKeywordSharedSet:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/negativekeywordsharedsets/delete-docpage/params:nametypedefault valueidslist*requiredids=[12312325]result=client.NegativeKeywordSharedSet.delete(ids)NegativeKeywordSharedSet:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/negativekeywordsharedsets/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonelimitint10000offsetint0field_names=['Id','Name','NegativeKeywords']result=client.NegativeKeywordSharedSet.get(field_names)NegativeKeywordSharedSet:updatedoc:https://yandex.ru/dev/direct/doc/ref-v5/negativekeywordsharedsets/get-docpage/params:nametypedefault valuenegative_keyword_shared_setslist*requirednegative_keyword_shared_sets=[{'Id':'12324234234','Name':'test','NegativeKeywords':['1231321']}]result=client.NegativeKeywordSharedSet.update(negative_keyword_shared_sets)RetargetingList:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/retargetinglists/add-docpage/params:nametypedefault valueretargeting_listlist*requiredretargeting_obj={}# object from docretargeting_list=[retargeting_obj]result=client.RetargetingList.add(retargeting_list)RetargetingList:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/retargetinglists/delete-docpage/params:nametypedefault valueidslist*requiredids=[12313254325345345353]result=client.RetargetingList.delete(ids)RetargetingList:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/retargetinglists/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonetypeslistNonelimitint10000offsetint0field_names=['Type','Id','Name']ids=[12313254325345345353]result=client.RetargetingList.get(field_names,ids=ids)RetargetingList:updatedoc:https://yandex.ru/dev/direct/doc/ref-v5/retargetinglists/update-docpage/params:nametypedefault valueretargeting_listlist*requiredretargeting_obj={}# object from docretargeting_list=[retargeting_obj]result=client.RetargetingList.update(retargeting_list)Sitelink:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/sitelinks/add-docpage/params:nametypedefault valuesitelinks_setslist*requiredsitelinks=[{'Title':'sitelink1'}]sitelinks_sets=[sitelinks]result=client.Sitelink.add(sitelinks_sets)Sitelink:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/sitelinks/delete-docpage/params:nametypedefault valueidslist*requiredids=[12313254325345345353]result=client.Sitelink.delete(ids)Sitelink:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/sitelinks/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonesitelinks_field_nameslistNonelimitint10000offsetint0field_names=['Id','Sitelinks']result=client.Sitelink.get(field_names)TurboPage:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/turbopages/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonelimitint10000offsetint0field_names=['Id','Name','Href']result=client.TurboPage.get(field_names)VCard:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/vcards/add-docpage/params:nametypedefault valuevcardslist*requiredvcard={'CampaignId':'1231231232131','Country':'<country>','City':'<City>','CompanyName':'<CompanyName>',}vcards=[vcard]result=client.VCard.add(vcards)VCard:deletedoc:https://yandex.ru/dev/direct/doc/ref-v5/vcards/delete-docpage/params:nametypedefault valueidslist*requiredids=[12313254325345345353]result=client.Sitelink.delete(ids)VCard:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/vcards/get-docpage/params:nametypedefault valuefield_nameslist*requiredidslistNonelimitint10000offsetint0field_names=['Id','Country','City']result=client.VCard.get(field_names)Report:getdoc:https://yandex.ru/dev/direct/doc/reports/spec-docpage/params:nametypedefault valueselection_criterialist*requiredfield_nameslist*requiredreport_namestr*requiredreport_typestr*requireddate_range_typestr*requiredprocessing_modestrautoheadersdictNonegoalslistNoneattribution_modelslistNonepagedictNoneorder_bylistNoneformatstrTSVinclude_vatstrYESinclude_discountstrNOselection_criteria={"DateFrom":date_from.strftime('%Y-%m-%d'),"DateTo":date_to.strftime('%Y-%m-%d'),}field_names=["Date","Impressions","Clicks","Cost","CriterionId","Criterion","CampaignId","AdId","Device","AdGroupId","CampaignType","AvgClickPosition","Slot","LocationOfPresenceId","Placement","AvgImpressionPosition","LocationOfPresenceName","CampaignName","AdNetworkType",]page={"Limit":100000000},report_name=f"ActualData - 123"report_type="CUSTOM_REPORT",date_range_type="CUSTOM_DATE"result=client.Report.get(selection_criteria=selection_criteria,field_names=field_names,report_name=report_name,report_type=report_type,date_range_type=date_range_type,page=page,)Client:adddoc:https://yandex.ru/dev/direct/doc/ref-v5/agencyclients/add.htmlparams:nametypedefault valueloginstr*requiredfirst_namestr*requiredlast_namestr*requiredcurrencystr*requiredgrantslistNonenotificationdictNonesettingsdictNoneresult=client.Client.add(login='clid',first_name='ivan',last_name='petrov',currency='RUB')Client:getdoc:https://yandex.ru/dev/direct/doc/ref-v5/agencyclients/get.htmlparams:nametypedefault valuefield_nameslist*requiredloginslistNonearchivedstrNonelimitint500offsetint0field_names=['ClientId','ClientInfo']result=client.Client.get(field_names)TODO:examplestestsdocsTravis CI