logos-sdk 0.0.25.dev19__tar.gz → 0.0.25.dev21__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/PKG-INFO +1 -1
  2. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/MicrosoftAdvertising.py +48 -0
  3. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk.egg-info/PKG-INFO +1 -1
  4. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/LICENSE +0 -0
  5. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/README.md +0 -0
  6. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/__init__.py +0 -0
  7. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/big_query/BigQuery.py +0 -0
  8. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/big_query/__init__.py +0 -0
  9. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/logging/LogosLogger.py +0 -0
  10. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/logging/__init__.py +0 -0
  11. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/CampaignManager.py +0 -0
  12. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/Collabim.py +0 -0
  13. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/DV360.py +0 -0
  14. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/Facebook.py +0 -0
  15. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/GoogleAds.py +0 -0
  16. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/GoogleSheets.py +0 -0
  17. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/MarketMiner.py +0 -0
  18. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/MerchantCenter.py +0 -0
  19. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/Sklik.py +0 -0
  20. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk/services/__init__.py +0 -0
  21. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk.egg-info/SOURCES.txt +0 -0
  22. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk.egg-info/dependency_links.txt +0 -0
  23. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk.egg-info/requires.txt +0 -0
  24. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/logos_sdk.egg-info/top_level.txt +0 -0
  25. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/setup.cfg +0 -0
  26. {logos_sdk-0.0.25.dev19 → logos_sdk-0.0.25.dev21}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: logos-sdk
3
- Version: 0.0.25.dev19
3
+ Version: 0.0.25.dev21
4
4
  Summary: SDK for Logos platform
5
5
  Home-page: https://bitbucket.org/databy/logos-sdk-pip/src/master/
6
6
  Author: Databy.io
@@ -34,6 +34,7 @@ class MicrosoftAdvertising:
34
34
  self._GET_CAMPAIGN_PERFORMANCE_REPORT = (
35
35
  self._URL + "/campaign-performance-report"
36
36
  )
37
+ self._GET_AD_PERFORMANCE_REPORT = self._URL + "/ad-performance-report"
37
38
  self._GET_GEOGRAPHIC_PERFORMANCE_REPORT = (
38
39
  self._URL + "/geographic-performance-report"
39
40
  )
@@ -243,6 +244,53 @@ class MicrosoftAdvertising:
243
244
  else:
244
245
  raise MicrosoftAdvertisingException(response.content)
245
246
 
247
+ def get_ad_performance_report(
248
+ self,
249
+ account_id: str,
250
+ secret_id: str,
251
+ date_from: str,
252
+ date_to: str,
253
+ report_columns: List[str],
254
+ entity_statuses: dict = None,
255
+ ) -> List:
256
+ """
257
+ Calls endpoint for getting ad performance stats
258
+ https://learn.microsoft.com/en-us/advertising/reporting-service/adperformancereportrequest?view=bingads-13&tabs=xml
259
+ :param account_id: The ID of the account in Microsoft Advertising
260
+ :param secret_id: The ID of the secret in secret manager
261
+ :param date_from: The date we want the report to start from. Must be before date to
262
+ :param date_to: The date we want the report to end at
263
+ :param report_columns: stats we want included in the report
264
+ :param entity_statuses: dict containing status of campaign_status, ad_group_status, ad_status and account_status
265
+ :return: List of ads and their stats
266
+ """
267
+ if entity_statuses is None:
268
+ entity_statuses = {
269
+ "campaign_status": EntityStatus.ACTIVE,
270
+ "ad_group_status": EntityStatus.ACTIVE,
271
+ "ad_status": EntityStatus.ACTIVE,
272
+ "account_status": EntityStatus.ACTIVE,
273
+ }
274
+
275
+ body = {
276
+ "account_id": account_id,
277
+ "secret_id": secret_id,
278
+ "date_from": date_from,
279
+ "date_to": date_to,
280
+ "report_columns": report_columns,
281
+ } | entity_statuses
282
+
283
+ header = get_headers(self._GET_AD_PERFORMANCE_REPORT)
284
+ response = self.session.request(
285
+ "post", url=self._GET_AD_PERFORMANCE_REPORT, json=body, headers=header
286
+ )
287
+
288
+ if response.status_code == HTTPStatus.OK:
289
+ service_response = response.json()
290
+ return service_response["data"]
291
+ else:
292
+ raise MicrosoftAdvertisingException(response.content)
293
+
246
294
  def get_budget_summary_report(
247
295
  self,
248
296
  account_id: str,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: logos-sdk
3
- Version: 0.0.25.dev19
3
+ Version: 0.0.25.dev21
4
4
  Summary: SDK for Logos platform
5
5
  Home-page: https://bitbucket.org/databy/logos-sdk-pip/src/master/
6
6
  Author: Databy.io