google-dfp-api 0.9.4 → 0.9.5

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 (247) hide show
  1. data/ChangeLog +4 -0
  2. data/README.md +1 -3
  3. data/dfp_api.yml +1 -9
  4. data/examples/v201408/report_service/run_sales_report.rb +3 -3
  5. data/examples/v201411/report_service/run_sales_report.rb +3 -3
  6. data/examples/v201502/report_service/run_sales_report.rb +3 -3
  7. data/examples/{v201405 → v201505}/activity_group_service/create_activity_groups.rb +1 -1
  8. data/examples/{v201405 → v201505}/activity_group_service/get_active_activity_groups.rb +18 -27
  9. data/examples/{v201405 → v201505}/activity_group_service/get_all_activity_groups.rb +13 -23
  10. data/examples/{v201405 → v201505}/activity_group_service/update_activity_groups.rb +11 -9
  11. data/examples/{v201405 → v201505}/activity_service/create_activities.rb +1 -1
  12. data/examples/{v201405 → v201505}/activity_service/get_active_activities.rb +15 -27
  13. data/examples/{v201405 → v201505}/activity_service/get_all_activities.rb +10 -21
  14. data/examples/{v201405 → v201505}/activity_service/update_activities.rb +9 -7
  15. data/examples/{v201405 → v201505}/audience_segment_service/create_audience_segments.rb +1 -1
  16. data/examples/{v201405 → v201505}/audience_segment_service/get_all_audience_segments.rb +10 -19
  17. data/examples/{v201405 → v201505}/audience_segment_service/get_first_party_audience_segments.rb +14 -21
  18. data/examples/{v201405 → v201505}/audience_segment_service/populate_first_party_audience_segments.rb +16 -14
  19. data/examples/{v201405 → v201505}/audience_segment_service/update_audience_segments.rb +12 -11
  20. data/examples/{v201405 → v201505}/common/error_handling.rb +1 -1
  21. data/examples/{v201405 → v201505}/common/oauth2_jwt_handling.rb +9 -17
  22. data/examples/{v201405 → v201505}/common/setup_oauth2.rb +1 -1
  23. data/examples/{v201405 → v201505}/company_service/create_companies.rb +1 -1
  24. data/examples/{v201405 → v201505}/company_service/get_all_companies.rb +10 -18
  25. data/examples/{v201405 → v201505}/company_service/get_companies_by_statement.rb +21 -16
  26. data/examples/{v201405 → v201505}/company_service/update_companies.rb +13 -10
  27. data/examples/{v201405 → v201505}/contact_service/create_contacts.rb +1 -1
  28. data/examples/{v201405 → v201505}/contact_service/get_all_contacts.rb +11 -19
  29. data/examples/{v201405 → v201505}/contact_service/get_uninvited_contacts.rb +18 -22
  30. data/examples/{v201405 → v201505}/contact_service/update_contacts.rb +9 -7
  31. data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/create_content_metadata_key_hierarchies.rb +1 -1
  32. data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/delete_content_metadata_key_hierarchies.rb +11 -8
  33. data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/get_all_content_metadata_key_hierarchies.rb +8 -18
  34. data/examples/{v201405 → v201505}/content_metadata_key_hierarchy_service/update_content_metadata_key_hierarchies.rb +9 -7
  35. data/examples/{v201405 → v201505}/content_service/get_all_content.rb +9 -18
  36. data/examples/{v201405 → v201505}/content_service/get_content_by_category.rb +18 -28
  37. data/examples/{v201405 → v201505}/creative_service/copy_image_creatives.rb +7 -7
  38. data/examples/{v201405 → v201505}/creative_service/create_creative_from_template.rb +1 -1
  39. data/examples/{v201405 → v201505}/creative_service/create_creatives.rb +1 -1
  40. data/examples/{v201405 → v201505}/creative_service/create_custom_creative.rb +1 -1
  41. data/examples/{v201405 → v201505}/creative_service/get_all_creatives.rb +8 -17
  42. data/examples/{v201405 → v201505}/creative_service/get_creatives_by_statement.rb +18 -13
  43. data/examples/{v201405 → v201505}/creative_service/update_creatives.rb +16 -11
  44. data/examples/{v201405 → v201505}/creative_set_service/associate_creative_set_to_line_item.rb +1 -1
  45. data/examples/{v201405 → v201505}/creative_set_service/create_creative_set.rb +1 -1
  46. data/examples/{v201405 → v201505}/creative_set_service/get_all_creative_sets.rb +9 -17
  47. data/examples/{v201405 → v201505}/creative_set_service/get_creative_sets_by_statement.rb +20 -14
  48. data/examples/{v201405 → v201505}/creative_set_service/update_creative_sets.rb +10 -7
  49. data/examples/{v201405 → v201505}/creative_template_service/get_all_creative_templates.rb +9 -17
  50. data/examples/{v201405/creative_template_service/get_creative_templates_by_statement.rb → v201505/creative_template_service/get_system_defined_creative_templates.rb} +24 -13
  51. data/examples/{v201405 → v201505}/creative_wrapper_service/create_creative_wrappers.rb +1 -1
  52. data/examples/{v201405 → v201505}/creative_wrapper_service/deactivate_creative_wrapper.rb +9 -7
  53. data/examples/{v201405 → v201505}/creative_wrapper_service/get_all_creative_wrappers.rb +10 -18
  54. data/examples/{v201405 → v201505}/creative_wrapper_service/get_creative_wrappers_by_statement.rb +17 -12
  55. data/examples/{v201405 → v201505}/creative_wrapper_service/update_creative_wrappers.rb +10 -7
  56. data/examples/{v201405 → v201505}/custom_field_service/create_custom_field_options.rb +1 -1
  57. data/examples/{v201405 → v201505}/custom_field_service/create_custom_fields.rb +1 -1
  58. data/examples/{v201405 → v201505}/custom_field_service/deactivate_all_line_item_custom_fields.rb +13 -23
  59. data/examples/{v201405 → v201505}/custom_field_service/get_all_custom_fields.rb +11 -19
  60. data/examples/{v201405 → v201505}/custom_field_service/get_all_line_item_custom_fields.rb +19 -14
  61. data/examples/{v201405 → v201505}/custom_field_service/set_line_item_custom_field_value.rb +24 -19
  62. data/examples/{v201405 → v201505}/custom_field_service/update_custom_fields.rb +10 -7
  63. data/examples/{v201405 → v201505}/custom_targeting_service/create_custom_targeting_keys_and_values.rb +1 -1
  64. data/examples/{v201405 → v201505}/custom_targeting_service/delete_custom_targeting_keys.rb +16 -20
  65. data/examples/{v201405 → v201505}/custom_targeting_service/delete_custom_targeting_values.rb +23 -21
  66. data/examples/{v201405 → v201505}/custom_targeting_service/get_all_custom_targeting_keys_and_values.rb +15 -36
  67. data/examples/{v201405 → v201505}/custom_targeting_service/get_custom_targeting_keys_by_statement.rb +20 -16
  68. data/examples/{v201405 → v201505}/custom_targeting_service/get_custom_targeting_values_by_statement.rb +19 -15
  69. data/examples/{v201405 → v201505}/custom_targeting_service/update_custom_targeting_keys.rb +4 -3
  70. data/examples/{v201405 → v201505}/custom_targeting_service/update_custom_targeting_values.rb +34 -30
  71. data/examples/{v201405/forecast_service/get_forecast.rb → v201505/forecast_service/get_availability_forecast.rb} +38 -16
  72. data/examples/{v201405/forecast_service/get_forecast_by_id.rb → v201505/forecast_service/get_availability_forecast_for_line_item.rb} +18 -11
  73. data/examples/v201505/forecast_service/get_delivery_forecast_for_line_items.rb +81 -0
  74. data/examples/{v201405 → v201505}/inventory_service/create_ad_units.rb +1 -1
  75. data/examples/{v201405 → v201505}/inventory_service/create_mobile_ad_unit.rb +1 -1
  76. data/examples/{v201405 → v201505}/inventory_service/create_video_ad_unit.rb +1 -1
  77. data/examples/{v201405 → v201505}/inventory_service/deactivate_ad_units.rb +19 -23
  78. data/examples/{v201405 → v201505}/inventory_service/get_ad_unit_sizes.rb +7 -14
  79. data/examples/{v201405 → v201505}/inventory_service/get_ad_units_by_statement.rb +18 -13
  80. data/examples/{v201405 → v201505}/inventory_service/get_all_ad_units.rb +8 -17
  81. data/examples/{v201405 → v201505}/inventory_service/update_ad_units.rb +23 -11
  82. data/examples/{v201405 → v201505}/label_service/create_labels.rb +1 -1
  83. data/examples/{v201405 → v201505}/label_service/deactivate_labels.rb +15 -22
  84. data/examples/{v201405 → v201505}/label_service/get_all_labels.rb +9 -18
  85. data/examples/{v201405 → v201505}/label_service/get_labels_by_statement.rb +16 -11
  86. data/examples/{v201405 → v201505}/label_service/update_labels.rb +24 -26
  87. data/examples/{v201405 → v201505}/line_item_creative_association_service/create_licas.rb +1 -1
  88. data/examples/{v201405 → v201505}/line_item_creative_association_service/deactivate_licas.rb +15 -24
  89. data/examples/{v201405 → v201505}/line_item_creative_association_service/get_all_licas.rb +8 -17
  90. data/examples/{v201405 → v201505}/line_item_creative_association_service/get_licas_by_statement.rb +10 -8
  91. data/examples/{v201405 → v201505}/line_item_creative_association_service/update_licas.rb +16 -7
  92. data/examples/{v201405 → v201505}/line_item_service/activate_line_items.rb +13 -21
  93. data/examples/{v201405 → v201505}/line_item_service/create_line_items.rb +11 -4
  94. data/examples/{v201405 → v201505}/line_item_service/create_video_line_item.rb +13 -3
  95. data/examples/{v201405 → v201505}/line_item_service/get_all_line_items.rb +9 -17
  96. data/examples/{v201405 → v201505}/line_item_service/get_line_items_by_statement.rb +19 -17
  97. data/examples/{v201405 → v201505}/line_item_service/get_recently_updated_line_items.rb +19 -13
  98. data/examples/{v201405 → v201505}/line_item_service/target_custom_criteria.rb +9 -7
  99. data/examples/{v201405 → v201505}/line_item_service/update_line_items.rb +9 -9
  100. data/examples/{v201405 → v201505}/network_service/get_all_networks.rb +1 -1
  101. data/examples/{v201405 → v201505}/network_service/get_current_network.rb +1 -1
  102. data/examples/{v201405 → v201505}/network_service/make_test_network.rb +1 -1
  103. data/examples/{v201405 → v201505}/order_service/approve_orders.rb +16 -24
  104. data/examples/{v201405 → v201505}/order_service/create_orders.rb +1 -1
  105. data/examples/{v201405 → v201505}/order_service/get_all_orders.rb +8 -17
  106. data/examples/{v201405 → v201505}/order_service/get_orders_by_statement.rb +18 -14
  107. data/examples/{v201405 → v201505}/order_service/update_orders.rb +15 -7
  108. data/examples/{v201405 → v201505}/placement_service/create_placements.rb +4 -2
  109. data/examples/{v201405 → v201505}/placement_service/deactivate_placements.rb +14 -22
  110. data/examples/{v201405 → v201505}/placement_service/get_all_placements.rb +9 -17
  111. data/examples/{v201405 → v201505}/placement_service/get_placements_by_statement.rb +18 -13
  112. data/examples/{v201405 → v201505}/placement_service/update_placements.rb +16 -6
  113. data/examples/{v201405 → v201505}/publisher_query_language_service/fetch_match_tables.rb +8 -11
  114. data/examples/{v201405 → v201505}/publisher_query_language_service/get_all_line_items.rb +8 -9
  115. data/examples/{v201405 → v201505}/publisher_query_language_service/get_geo_targets.rb +10 -10
  116. data/examples/{v201405 → v201505}/publisher_query_language_service/get_line_items_named_like.rb +10 -10
  117. data/examples/{v201405 → v201505}/report_service/display_report.rb +1 -1
  118. data/examples/{v201405 → v201505}/report_service/download_report.rb +1 -1
  119. data/examples/{v201405 → v201505}/report_service/run_delivery_report.rb +6 -5
  120. data/examples/{v201405 → v201505}/report_service/run_inventory_report.rb +6 -5
  121. data/examples/{v201405 → v201505}/report_service/run_reach_report.rb +6 -5
  122. data/examples/{v201405/report_service/run_merged_delivery_report.rb → v201505/report_service/run_report_with_custom_fields.rb} +17 -18
  123. data/examples/{v201405 → v201505}/report_service/run_sales_report.rb +6 -5
  124. data/examples/{v201405 → v201505}/suggested_ad_unit_service/approve_all_suggested_ad_units.rb +25 -21
  125. data/examples/{v201405 → v201505}/suggested_ad_unit_service/get_all_suggested_ad_units.rb +9 -18
  126. data/examples/{v201405 → v201505}/suggested_ad_unit_service/get_suggested_ad_units_by_statement.rb +24 -21
  127. data/examples/{v201405 → v201505}/team_service/create_teams.rb +1 -1
  128. data/examples/{v201405 → v201505}/team_service/get_all_teams.rb +8 -17
  129. data/examples/{v201405 → v201505}/team_service/get_teams_by_statement.rb +15 -11
  130. data/examples/{v201405 → v201505}/team_service/update_teams.rb +4 -3
  131. data/examples/{v201405 → v201505}/user_service/create_users.rb +1 -1
  132. data/examples/{v201405 → v201505}/user_service/deactivate_users.rb +7 -7
  133. data/examples/{v201405 → v201505}/user_service/get_all_roles.rb +1 -1
  134. data/examples/{v201405 → v201505}/user_service/get_all_users.rb +8 -18
  135. data/examples/{v201405 → v201505}/user_service/get_current_user.rb +1 -1
  136. data/examples/{v201405 → v201505}/user_service/get_users_by_statement.rb +17 -12
  137. data/examples/{v201405 → v201505}/user_service/update_users.rb +15 -6
  138. data/examples/{v201405 → v201505}/user_team_association_service/create_user_team_associations.rb +1 -1
  139. data/examples/{v201405 → v201505}/user_team_association_service/delete_user_team_associations.rb +13 -21
  140. data/examples/{v201405 → v201505}/user_team_association_service/get_all_user_team_associations.rb +10 -17
  141. data/examples/{v201405 → v201505}/user_team_association_service/get_user_team_associations_by_statement.rb +20 -16
  142. data/examples/{v201405 → v201505}/user_team_association_service/update_user_team_associations.rb +8 -7
  143. data/lib/dfp_api/api_config.rb +27 -4
  144. data/lib/dfp_api/v201505/activity_group_service.rb +42 -0
  145. data/lib/dfp_api/v201505/activity_group_service_registry.rb +45 -0
  146. data/lib/dfp_api/v201505/activity_service.rb +42 -0
  147. data/lib/dfp_api/v201505/activity_service_registry.rb +45 -0
  148. data/lib/dfp_api/v201505/ad_exclusion_rule_service.rb +46 -0
  149. data/lib/dfp_api/v201505/ad_exclusion_rule_service_registry.rb +45 -0
  150. data/lib/dfp_api/v201505/ad_rule_service.rb +46 -0
  151. data/lib/dfp_api/v201505/ad_rule_service_registry.rb +45 -0
  152. data/lib/dfp_api/v201505/audience_segment_service.rb +46 -0
  153. data/lib/dfp_api/v201505/audience_segment_service_registry.rb +45 -0
  154. data/lib/dfp_api/v201505/base_rate_service.rb +46 -0
  155. data/lib/dfp_api/v201505/base_rate_service_registry.rb +45 -0
  156. data/lib/dfp_api/v201505/company_service.rb +42 -0
  157. data/lib/dfp_api/v201505/company_service_registry.rb +45 -0
  158. data/lib/dfp_api/v201505/contact_service.rb +42 -0
  159. data/lib/dfp_api/v201505/contact_service_registry.rb +45 -0
  160. data/lib/dfp_api/v201505/content_bundle_service.rb +46 -0
  161. data/lib/dfp_api/v201505/content_bundle_service_registry.rb +45 -0
  162. data/lib/dfp_api/v201505/content_metadata_key_hierarchy_service.rb +46 -0
  163. data/lib/dfp_api/v201505/content_metadata_key_hierarchy_service_registry.rb +45 -0
  164. data/lib/dfp_api/v201505/content_service.rb +38 -0
  165. data/lib/dfp_api/v201505/content_service_registry.rb +45 -0
  166. data/lib/dfp_api/v201505/creative_service.rb +42 -0
  167. data/lib/dfp_api/v201505/creative_service_registry.rb +45 -0
  168. data/lib/dfp_api/v201505/creative_set_service.rb +42 -0
  169. data/lib/dfp_api/v201505/creative_set_service_registry.rb +45 -0
  170. data/lib/dfp_api/v201505/creative_template_service.rb +34 -0
  171. data/lib/dfp_api/v201505/creative_template_service_registry.rb +45 -0
  172. data/lib/dfp_api/v201505/creative_wrapper_service.rb +46 -0
  173. data/lib/dfp_api/v201505/creative_wrapper_service_registry.rb +45 -0
  174. data/lib/dfp_api/v201505/custom_field_service.rb +58 -0
  175. data/lib/dfp_api/v201505/custom_field_service_registry.rb +45 -0
  176. data/lib/dfp_api/v201505/custom_targeting_service.rb +62 -0
  177. data/lib/dfp_api/v201505/custom_targeting_service_registry.rb +45 -0
  178. data/lib/dfp_api/v201505/exchange_rate_service.rb +46 -0
  179. data/lib/dfp_api/v201505/exchange_rate_service_registry.rb +45 -0
  180. data/lib/dfp_api/v201505/forecast_service.rb +46 -0
  181. data/lib/dfp_api/v201505/forecast_service_registry.rb +45 -0
  182. data/lib/dfp_api/v201505/inventory_service.rb +50 -0
  183. data/lib/dfp_api/v201505/inventory_service_registry.rb +45 -0
  184. data/lib/dfp_api/v201505/label_service.rb +46 -0
  185. data/lib/dfp_api/v201505/label_service_registry.rb +45 -0
  186. data/lib/dfp_api/v201505/line_item_creative_association_service.rb +50 -0
  187. data/lib/dfp_api/v201505/line_item_creative_association_service_registry.rb +45 -0
  188. data/lib/dfp_api/v201505/line_item_service.rb +46 -0
  189. data/lib/dfp_api/v201505/line_item_service_registry.rb +45 -0
  190. data/lib/dfp_api/v201505/line_item_template_service.rb +34 -0
  191. data/lib/dfp_api/v201505/line_item_template_service_registry.rb +45 -0
  192. data/lib/dfp_api/v201505/live_stream_event_service.rb +46 -0
  193. data/lib/dfp_api/v201505/live_stream_event_service_registry.rb +45 -0
  194. data/lib/dfp_api/v201505/network_service.rb +46 -0
  195. data/lib/dfp_api/v201505/network_service_registry.rb +45 -0
  196. data/lib/dfp_api/v201505/order_service.rb +46 -0
  197. data/lib/dfp_api/v201505/order_service_registry.rb +45 -0
  198. data/lib/dfp_api/v201505/package_service.rb +46 -0
  199. data/lib/dfp_api/v201505/package_service_registry.rb +45 -0
  200. data/lib/dfp_api/v201505/placement_service.rb +46 -0
  201. data/lib/dfp_api/v201505/placement_service_registry.rb +45 -0
  202. data/lib/dfp_api/v201505/premium_rate_service.rb +42 -0
  203. data/lib/dfp_api/v201505/premium_rate_service_registry.rb +45 -0
  204. data/lib/dfp_api/v201505/product_package_item_service.rb +46 -0
  205. data/lib/dfp_api/v201505/product_package_item_service_registry.rb +45 -0
  206. data/lib/dfp_api/v201505/product_package_service.rb +46 -0
  207. data/lib/dfp_api/v201505/product_package_service_registry.rb +45 -0
  208. data/lib/dfp_api/v201505/product_service.rb +42 -0
  209. data/lib/dfp_api/v201505/product_service_registry.rb +45 -0
  210. data/lib/dfp_api/v201505/product_template_service.rb +46 -0
  211. data/lib/dfp_api/v201505/product_template_service_registry.rb +45 -0
  212. data/lib/dfp_api/v201505/proposal_line_item_service.rb +46 -0
  213. data/lib/dfp_api/v201505/proposal_line_item_service_registry.rb +45 -0
  214. data/lib/dfp_api/v201505/proposal_service.rb +46 -0
  215. data/lib/dfp_api/v201505/proposal_service_registry.rb +45 -0
  216. data/lib/dfp_api/v201505/publisher_query_language_service.rb +34 -0
  217. data/lib/dfp_api/v201505/publisher_query_language_service_registry.rb +45 -0
  218. data/lib/dfp_api/v201505/rate_card_service.rb +46 -0
  219. data/lib/dfp_api/v201505/rate_card_service_registry.rb +45 -0
  220. data/lib/dfp_api/v201505/reconciliation_order_report_service.rb +38 -0
  221. data/lib/dfp_api/v201505/reconciliation_order_report_service_registry.rb +45 -0
  222. data/lib/dfp_api/v201505/reconciliation_report_row_service.rb +38 -0
  223. data/lib/dfp_api/v201505/reconciliation_report_row_service_registry.rb +45 -0
  224. data/lib/dfp_api/v201505/reconciliation_report_service.rb +38 -0
  225. data/lib/dfp_api/v201505/reconciliation_report_service_registry.rb +45 -0
  226. data/lib/dfp_api/v201505/report_service.rb +46 -0
  227. data/lib/dfp_api/v201505/report_service_registry.rb +45 -0
  228. data/lib/dfp_api/v201505/shared_ad_unit_service.rb +38 -0
  229. data/lib/dfp_api/v201505/shared_ad_unit_service_registry.rb +45 -0
  230. data/lib/dfp_api/v201505/suggested_ad_unit_service.rb +38 -0
  231. data/lib/dfp_api/v201505/suggested_ad_unit_service_registry.rb +45 -0
  232. data/lib/dfp_api/v201505/team_service.rb +42 -0
  233. data/lib/dfp_api/v201505/team_service_registry.rb +45 -0
  234. data/lib/dfp_api/v201505/user_service.rb +54 -0
  235. data/lib/dfp_api/v201505/user_service_registry.rb +45 -0
  236. data/lib/dfp_api/v201505/user_team_association_service.rb +46 -0
  237. data/lib/dfp_api/v201505/user_team_association_service_registry.rb +45 -0
  238. data/lib/dfp_api/v201505/workflow_request_service.rb +38 -0
  239. data/lib/dfp_api/v201505/workflow_request_service_registry.rb +45 -0
  240. data/lib/dfp_api/version.rb +1 -1
  241. data/test/bugs/test_issue_00000016.rb +1 -1
  242. data/test/dfp_api/test_config.yml +6 -5
  243. data/test/dfp_api/test_dfp_api.rb +32 -32
  244. metadata +234 -140
  245. data/examples/v201405/creative_template_service/get_creative_template.rb +0 -74
  246. data/examples/v201405/report_service/run_report_with_custom_fields.rb +0 -135
  247. data/examples/v201405/suggested_ad_unit_service/get_suggested_ad_unit.rb +0 -75
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
5
  #
6
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
6
+ # Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
7
7
  #
8
8
  # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
9
  # you may not use this file except in compliance with the License.
@@ -18,18 +18,18 @@
18
18
  # See the License for the specific language governing permissions and
19
19
  # limitations under the License.
20
20
  #
21
- # This example runs a report that an upgraded publisher would use to include
22
- # statistics before the upgrade. To download the report see download_report.rb.
21
+ # This example runs a report filtered on a single custom field. To download the
22
+ # report see download_report.rb.
23
23
  #
24
- # Tags: ReportService.runReportJob, ReportService.getReportJob
24
+ # Tags: ReportService.runReportJob, ReportService.getReportJobStatus
25
25
 
26
26
  require 'dfp_api'
27
27
 
28
- API_VERSION = :v201405
28
+ API_VERSION = :v201505
29
29
  MAX_RETRIES = 10
30
30
  RETRY_INTERVAL = 30
31
31
 
32
- def run_merged_delivery_report()
32
+ def run_report_with_custom_fields()
33
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
34
34
  dfp = DfpApi::Api.new
35
35
 
@@ -40,17 +40,15 @@ def run_merged_delivery_report()
40
40
  # Get the ReportService.
41
41
  report_service = dfp.service(:ReportService, API_VERSION)
42
42
 
43
+ # Set the ID of the custom field to filter on.
44
+ custom_field_id = 'INSERT_CUSTOM_FIELD_ID_HERE'.to_i
45
+
43
46
  # Create report query.
44
47
  report_query = {
45
48
  :date_range_type => 'LAST_MONTH',
46
- :dimensions => ['ORDER_ID', 'ORDER_NAME'],
47
- :columns => [
48
- 'MERGED_AD_SERVER_IMPRESSIONS',
49
- 'MERGED_AD_SERVER_CLICKS',
50
- 'MERGED_AD_SERVER_CTR',
51
- 'MERGED_AD_SERVER_CPM_AND_CPC_REVENUE',
52
- 'MERGED_AD_SERVER_WITHOUT_CPD_AVERAGE_ECPM'
53
- ]
49
+ :dimensions => ['LINE_ITEM_ID', 'LINE_ITEM_NAME'],
50
+ :custom_field_ids => [custom_field_id],
51
+ :columns => ['AD_SERVER_IMPRESSIONS'],
54
52
  }
55
53
 
56
54
  # Create report job.
@@ -61,20 +59,21 @@ def run_merged_delivery_report()
61
59
 
62
60
  MAX_RETRIES.times do |retry_count|
63
61
  # Get the report job status.
64
- report_job = report_service.get_report_job(report_job[:id])
62
+ report_job_status = report_service.get_report_job_status(report_job[:id])
65
63
 
66
- break unless report_job[:report_job_status] == 'IN_PROGRESS'
64
+ break unless report_job_status == 'IN_PROGRESS'
67
65
  puts "Report with ID: %d is still running." % report_job[:id]
68
66
  sleep(RETRY_INTERVAL)
69
67
  end
70
68
 
71
69
  puts "Report job with ID: %d finished with status %s." %
72
- [report_job[:id], report_job[:report_job_status]]
70
+ [report_job[:id],
71
+ report_service.get_report_job_status(report_job[:id])]
73
72
  end
74
73
 
75
74
  if __FILE__ == $0
76
75
  begin
77
- run_merged_delivery_report()
76
+ run_report_with_custom_fields()
78
77
 
79
78
  # HTTP errors.
80
79
  rescue AdsCommon::Errors::HttpError => e
@@ -21,11 +21,11 @@
21
21
  # This example runs a report equal to the "Sales by salespersons report" on the
22
22
  # DFP website. To download the report see download_report.rb.
23
23
  #
24
- # Tags: ReportService.runReportJob, ReportService.getReportJob
24
+ # Tags: ReportService.runReportJob, ReportService.getReportJobStatus
25
25
 
26
26
  require 'dfp_api'
27
27
 
28
- API_VERSION = :v201405
28
+ API_VERSION = :v201505
29
29
  MAX_RETRIES = 10
30
30
  RETRY_INTERVAL = 30
31
31
 
@@ -59,15 +59,16 @@ def run_sales_report()
59
59
 
60
60
  MAX_RETRIES.times do |retry_count|
61
61
  # Get the report job status.
62
- report_job = report_service.get_report_job(report_job[:id])
62
+ report_job_status = report_service.get_report_job_status(report_job[:id])
63
63
 
64
- break unless report_job[:report_job_status] == 'IN_PROGRESS'
64
+ break unless report_job_status == 'IN_PROGRESS'
65
65
  puts "Report with ID: %d is still running." % report_job[:id]
66
66
  sleep(RETRY_INTERVAL)
67
67
  end
68
68
 
69
69
  puts "Report job with ID: %d finished with status %s." %
70
- [report_job[:id], report_job[:report_job_status]]
70
+ [report_job[:id],
71
+ report_service.get_report_job_status(report_job[:id])]
71
72
  end
72
73
 
73
74
  if __FILE__ == $0
@@ -26,8 +26,9 @@
26
26
  # Tags: SuggestedAdUnitService.performSuggestedAdUnitAction
27
27
 
28
28
  require 'dfp_api'
29
+ require 'dfp_api_statement'
29
30
 
30
- API_VERSION = :v201405
31
+ API_VERSION = :v201505
31
32
  NUMBER_OF_REQUESTS = 50
32
33
 
33
34
  def approve_suggested_ad_units()
@@ -42,31 +43,34 @@ def approve_suggested_ad_units()
42
43
  suggested_ad_unit_service = dfp.service(:SuggestedAdUnitService, API_VERSION)
43
44
 
44
45
  # Create a statement to only select suggested ad units with 50 or more
45
- # requests (with maximum limit of 500).
46
- statement = {
47
- :query => 'WHERE numRequests >= :num_requests',
48
- :values => [
49
- {:key => 'num_requests',
50
- :value => {:value => NUMBER_OF_REQUESTS,
51
- :xsi_type => 'NumberValue'}}
52
- ]
53
- }
46
+ # requests.
47
+ statement = DfpApiStatement::FilterStatement.new(
48
+ 'WHERE numRequests >= :num_requests',
49
+ [
50
+ {:key => 'num_requests',
51
+ :value => {:value => NUMBER_OF_REQUESTS,
52
+ :xsi_type => 'NumberValue'}}
53
+ ]
54
+ )
54
55
 
55
- # Get suggested ad units by statement.
56
- page =
57
- suggested_ad_unit_service.get_suggested_ad_units_by_statement(statement)
56
+ begin
57
+ # Get suggested ad units by statement.
58
+ page = suggested_ad_unit_service.get_suggested_ad_units_by_statement(
59
+ statement.toStatement())
58
60
 
59
- unit_count_to_approve = 0
61
+ unit_count_to_approve = 0
60
62
 
61
- if page[:results]
62
- page[:results].each do |ad_unit|
63
- if ad_unit[:num_requests] >= NUMBER_OF_REQUESTS
64
- puts(("%d) Suggested ad unit with ID '%s' and %d requests will be " +
65
- "approved.") % [suggested_ad_unit_ids.size, ad_unit[:id],
66
- ad_unit[:num_requests]])
67
- unit_count_to_approve += 1
63
+ if page[:results]
64
+ page[:results].each_with_index do |ad_unit, index|
65
+ if ad_unit[:num_requests] >= NUMBER_OF_REQUESTS
66
+ puts(("%d) Suggested ad unit with ID '%s' and %d requests will be " +
67
+ "approved.") % [index + statement.offset, ad_unit[:id],
68
+ ad_unit[:num_requests]])
69
+ unit_count_to_approve += 1
70
+ end
68
71
  end
69
72
  end
73
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
70
74
  end
71
75
 
72
76
  puts "Number of suggested ad units to be approved: %d" % unit_count_to_approve
@@ -26,9 +26,9 @@
26
26
  # Tags: SuggestedAdUnitService.getSuggestedAdUnitsByStatement
27
27
 
28
28
  require 'dfp_api'
29
+ require 'dfp_api_statement'
29
30
 
30
- API_VERSION = :v201405
31
- PAGE_SIZE = 500
31
+ API_VERSION = :v201505
32
32
 
33
33
  def get_all_suggested_ad_units()
34
34
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -41,32 +41,23 @@ def get_all_suggested_ad_units()
41
41
  # Get the SuggestedAdUnitService.
42
42
  suggested_ad_unit_service = dfp.service(:SuggestedAdUnitService, API_VERSION)
43
43
 
44
- # Define initial values.
45
- offset = 0
46
- page = {}
44
+ # Create a statement to get all suggested ad units.
45
+ statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
47
46
 
48
47
  begin
49
- # Create a statement to get one page with current offset.
50
- statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
51
-
52
48
  # Get suggested ad units by statement.
53
- page =
54
- suggested_ad_unit_service.get_suggested_ad_units_by_statement(statement)
49
+ page = suggested_ad_unit_service.get_suggested_ad_units_by_statement(
50
+ statement.toStatement())
55
51
 
56
52
  if page[:results]
57
- # Increase query offset by page size.
58
- offset += PAGE_SIZE
59
-
60
- # Get the start index for printout.
61
- start_index = page[:start_index]
62
-
63
53
  # Print details about each suggested ad unit in results.
64
54
  page[:results].each_with_index do |ad_unit, index|
65
55
  puts "%d) Suggested ad unit ID: '%s' with number of requests: %d" %
66
- [index + start_index, ad_unit[:id], ad_unit[:num_requests]]
56
+ [index + statement.offset, ad_unit[:id], ad_unit[:num_requests]]
67
57
  end
68
58
  end
69
- end while offset < page[:total_result_set_size]
59
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
60
+ end while statement.offset < page[:total_result_set_size]
70
61
 
71
62
  # Print a footer.
72
63
  if page.include?(:total_result_set_size)
@@ -18,16 +18,16 @@
18
18
  # See the License for the specific language governing permissions and
19
19
  # limitations under the License.
20
20
  #
21
- # This example gets suggested ad units that have more than 50 requests. The
22
- # statement retrieves up to the maximum page size limit of 500.
21
+ # This example gets suggested ad units that have more than 50 requests.
23
22
  #
24
23
  # This feature is only available to DFP premium solution networks.
25
24
  #
26
25
  # Tags: SuggestedAdUnitService.getSuggestedAdUnitsByStatement
27
26
 
28
27
  require 'dfp_api'
28
+ require 'dfp_api_statement'
29
29
 
30
- API_VERSION = :v201405
30
+ API_VERSION = :v201505
31
31
  NUMBER_OF_REQUESTS = 50
32
32
 
33
33
  def get_suggested_ad_units_by_statement()
@@ -42,27 +42,30 @@ def get_suggested_ad_units_by_statement()
42
42
  suggested_ad_unit_service = dfp.service(:SuggestedAdUnitService, API_VERSION)
43
43
 
44
44
  # Create a statement to only select suggested ad units with more than 50
45
- # requests (with maximum limit of 500).
46
- statement = {
47
- :query => 'WHERE numRequests > :num_requests LIMIT 500',
48
- :values => [
49
- {:key => 'num_requests',
50
- :value => {:value => NUMBER_OF_REQUESTS,
51
- :xsi_type => 'NumberValue'}}
52
- ]
53
- }
45
+ # requests.
46
+ statement = DfpApiStatement::FilterStatement.new(
47
+ 'WHERE numRequests > :num_requests ORDER BY id ASC',
48
+ [
49
+ {:key => 'num_requests',
50
+ :value => {:value => NUMBER_OF_REQUESTS,
51
+ :xsi_type => 'NumberValue'}}
52
+ ]
53
+ )
54
54
 
55
- # Get ad units by statement.
56
- page =
57
- suggested_ad_unit_service.get_suggested_ad_units_by_statement(statement)
55
+ begin
56
+ # Get ad units by statement.
57
+ page = suggested_ad_unit_service.get_suggested_ad_units_by_statement(
58
+ statement.toStatement())
58
59
 
59
- if page[:results]
60
- # Print details about each suggested ad unit in results.
61
- page[:results].each_with_index do |ad_unit, index|
62
- puts "%d) Suggested ad unit ID: '%s', number of requests: %d" %
63
- [index, ad_unit[:id], ad_unit[:num_requests]]
60
+ if page[:results]
61
+ # Print details about each suggested ad unit in results.
62
+ page[:results].each_with_index do |ad_unit, index|
63
+ puts "%d) Suggested ad unit ID: '%s', number of requests: %d" %
64
+ [index + statement.offset, ad_unit[:id], ad_unit[:num_requests]]
65
+ end
64
66
  end
65
- end
67
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
68
+ end statement.offset < page[:total_result_set_size]
66
69
 
67
70
  # Print a footer.
68
71
  if page.include?(:total_result_set_size)
@@ -25,7 +25,7 @@
25
25
 
26
26
  require 'dfp_api'
27
27
 
28
- API_VERSION = :v201405
28
+ API_VERSION = :v201505
29
29
  ITEM_COUNT = 5
30
30
 
31
31
  def create_teams()
@@ -23,9 +23,9 @@
23
23
  # Tags: TeamService.getTeamsByStatement
24
24
 
25
25
  require 'dfp_api'
26
+ require 'dfp_api_statement'
26
27
 
27
- API_VERSION = :v201405
28
- PAGE_SIZE = 500
28
+ API_VERSION = :v201505
29
29
 
30
30
  def get_all_teams()
31
31
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -38,31 +38,22 @@ def get_all_teams()
38
38
  # Get the TeamService.
39
39
  team_service = dfp.service(:TeamService, API_VERSION)
40
40
 
41
- # Define initial values.
42
- offset = 0
43
- page = {}
41
+ # Create statement for all teams.
42
+ statement = DfpApiStatement::FilterStatement.new('ORDER BY id ASC')
44
43
 
45
44
  begin
46
- # Create statement for one page with current offset.
47
- statement = {:query => "LIMIT %d OFFSET %d" % [PAGE_SIZE, offset]}
48
-
49
45
  # Get teams by statement.
50
- page = team_service.get_teams_by_statement(statement)
46
+ page = team_service.get_teams_by_statement(statement.toStatement())
51
47
 
52
48
  if page[:results]
53
- # Increase query offset by page size.
54
- offset += PAGE_SIZE
55
-
56
- # Get the start index for printout.
57
- start_index = page[:start_index]
58
-
59
49
  # Print details about each team in results page.
60
50
  page[:results].each_with_index do |team, index|
61
51
  puts "%d) Team ID: %d, name: %s" %
62
- [index + start_index, team[:id], team[:name]]
52
+ [index + statement.offset, team[:id], team[:name]]
63
53
  end
64
54
  end
65
- end while offset < page[:total_result_set_size]
55
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
56
+ end while statement.offset < page[:total_result_set_size]
66
57
 
67
58
  # Print a footer
68
59
  if page.include?(:total_result_set_size)
@@ -18,14 +18,14 @@
18
18
  # See the License for the specific language governing permissions and
19
19
  # limitations under the License.
20
20
  #
21
- # This example gets all teams ordered by name. The statement retrieves up to the
22
- # maximum page size limit of 500. To create teams, run create_teams.rb.
21
+ # This example gets all teams ordered by name.
23
22
  #
24
23
  # Tags: TeamService.getTeamsByStatement
25
24
 
26
25
  require 'dfp_api'
26
+ require 'dfp_api_statement'
27
27
 
28
- API_VERSION = :v201405
28
+ API_VERSION = :v201505
29
29
 
30
30
  def get_teams_by_statement()
31
31
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -38,17 +38,21 @@ def get_teams_by_statement()
38
38
  # Get the TeamService.
39
39
  team_service = dfp.service(:TeamService, API_VERSION)
40
40
 
41
- # Create a statement to order teams by name.
42
- statement = {:query => "ORDER BY name LIMIT 500"}
41
+ # Create a statement to order teams by id.
42
+ statement = DfpApiStatement::FilterStatement.new('ORDER BY name ASC')
43
43
 
44
- # Get teams by statement.
45
- page = team_service.get_teams_by_statement(statement)
44
+ begin
45
+ # Get teams by statement.
46
+ page = team_service.get_teams_by_statement(statement.toStatement())
46
47
 
47
- if page and page[:results]
48
- page[:results].each_with_index do |team, index|
49
- puts "%d) Team ID: %d, name: %s." % [index, team[:id], team[:name]]
48
+ if page and page[:results]
49
+ page[:results].each_with_index do |team, index|
50
+ puts "%d) Team ID: %d, name: %s." % [index + statement.offset,
51
+ team[:id], team[:name]]
52
+ end
50
53
  end
51
- end
54
+ statement.offset += DfpApiStatement::SUGGESTED_PAGE_LIMIT
55
+ end while statement.offset < page[:total_result_set_size]
52
56
 
53
57
  # Print a footer.
54
58
  if page.include?(:total_result_set_size)
@@ -25,8 +25,9 @@
25
25
  # Tags: TeamService.getTeamsByStatement, TeamService.updateTeams
26
26
 
27
27
  require 'dfp_api'
28
+ require 'dfp_api_statement'
28
29
 
29
- API_VERSION = :v201405
30
+ API_VERSION = :v201505
30
31
 
31
32
  def update_teams()
32
33
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -43,10 +44,10 @@ def update_teams()
43
44
  team_service = dfp.service(:TeamService, API_VERSION)
44
45
 
45
46
  # Create a statement to select first 5 teams that aren't built-in.
46
- statement = {:query => 'WHERE id > 0 LIMIT 5'}
47
+ statement = DfpApiStatement::FilterStatement.new('WHERE id > 0', [], 5)
47
48
 
48
49
  # Get teams by statement.
49
- page = team_service.get_teams_by_statement(statement)
50
+ page = team_service.get_teams_by_statement(statement.toStatement())
50
51
 
51
52
  if page[:results]
52
53
  teams = page[:results]
@@ -25,7 +25,7 @@
25
25
 
26
26
  require 'dfp_api'
27
27
 
28
- API_VERSION = :v201405
28
+ API_VERSION = :v201505
29
29
 
30
30
  def create_users()
31
31
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -26,7 +26,7 @@
26
26
 
27
27
  require 'dfp_api'
28
28
 
29
- API_VERSION = :v201405
29
+ API_VERSION = :v201505
30
30
 
31
31
  def deactivate_users()
32
32
  # Get DfpApi instance and load configuration from ~/dfp_api.yml.
@@ -43,16 +43,16 @@ def deactivate_users()
43
43
  user_id = 'INSERT_USER_ID_HERE'
44
44
 
45
45
  # Create filter text to select user by id.
46
- statement = {
47
- :query => 'WHERE id = :user_id',
48
- :values => [
46
+ statement = DfpApiStatement::FilterStatement.new(
47
+ 'WHERE id = :user_id',
48
+ [
49
49
  {:key => 'user_id',
50
50
  :value => {:value => user_id, :xsi_type => 'NumberValue'}}
51
51
  ]
52
- }
52
+ )
53
53
 
54
54
  # Get users by statement.
55
- page = user_service.get_users_by_statement(statement)
55
+ page = user_service.get_users_by_statement(statement.toStatement())
56
56
 
57
57
  if page[:results]
58
58
  page[:results].each do |user|
@@ -62,7 +62,7 @@ def deactivate_users()
62
62
 
63
63
  # Perform action.
64
64
  result = user_service.perform_user_action(
65
- {:xsi_type => 'DeactivateUsers'}, statement)
65
+ {:xsi_type => 'DeactivateUsers'}, statement.toStatement())
66
66
 
67
67
  # Display results.
68
68
  if result and result[:num_changes] > 0