UNPKG

facebook-nodejs-business-sdk

Version:
242 lines (225 loc) 7.25 kB
/** * Copyright (c) 2017-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the license found in the * LICENSE file in the root directory of this source tree. * @flow */ import {AbstractCrudObject} from './../abstract-crud-object'; import AbstractObject from './../abstract-object'; import AdNetworkAnalyticsSyncQueryResult from './ad-network-analytics-sync-query-result'; import AdNetworkAnalyticsAsyncQueryResult from './ad-network-analytics-async-query-result'; import AnalyticsQueryResult from './analytics-query-result'; import AnalyticsQueryExportResult from './analytics-query-export-result'; import Application from './application'; import Business from './business'; import BusinessTag from './business-tag'; import BusinessRequest from './business-request'; import BusinessObject from './business-object'; /** * AdMonetizationProperty * @extends AbstractCrudObject * @see {@link https://developers.facebook.com/docs/marketing-api/} */ export default class AdMonetizationProperty extends AbstractCrudObject { static get Fields () { return Object.freeze({ id: 'id' }); } static get AggregationPeriod (): Object { return Object.freeze({ hour: 'HOUR', day: 'DAY', total: 'TOTAL' }); } static get Breakdowns (): Object { return Object.freeze({ age: 'AGE', app: 'APP', country: 'COUNTRY', delivery_method: 'DELIVERY_METHOD', display_format: 'DISPLAY_FORMAT', deal: 'DEAL', deal_ad: 'DEAL_AD', deal_page: 'DEAL_PAGE', gender: 'GENDER', placement: 'PLACEMENT', platform: 'PLATFORM', property: 'PROPERTY', clicked_view_tag: 'CLICKED_VIEW_TAG' }); } static get Metrics (): Object { return Object.freeze({ fb_ad_network_bidding_request: 'FB_AD_NETWORK_BIDDING_REQUEST', fb_ad_network_bidding_response: 'FB_AD_NETWORK_BIDDING_RESPONSE', fb_ad_network_bidding_bid_rate: 'FB_AD_NETWORK_BIDDING_BID_RATE', fb_ad_network_bidding_win_rate: 'FB_AD_NETWORK_BIDDING_WIN_RATE', fb_ad_network_request: 'FB_AD_NETWORK_REQUEST', fb_ad_network_filled_request: 'FB_AD_NETWORK_FILLED_REQUEST', fb_ad_network_fill_rate: 'FB_AD_NETWORK_FILL_RATE', fb_ad_network_imp: 'FB_AD_NETWORK_IMP', fb_ad_network_show_rate: 'FB_AD_NETWORK_SHOW_RATE', fb_ad_network_click: 'FB_AD_NETWORK_CLICK', fb_ad_network_ctr: 'FB_AD_NETWORK_CTR', fb_ad_network_bidding_revenue: 'FB_AD_NETWORK_BIDDING_REVENUE', fb_ad_network_revenue: 'FB_AD_NETWORK_REVENUE', fb_ad_network_cpm: 'FB_AD_NETWORK_CPM', fb_ad_network_video_guarantee_revenue: 'FB_AD_NETWORK_VIDEO_GUARANTEE_REVENUE', fb_ad_network_video_view: 'FB_AD_NETWORK_VIDEO_VIEW', fb_ad_network_video_view_rate: 'FB_AD_NETWORK_VIDEO_VIEW_RATE', fb_ad_network_video_mrc: 'FB_AD_NETWORK_VIDEO_MRC', fb_ad_network_video_mrc_rate: 'FB_AD_NETWORK_VIDEO_MRC_RATE', fb_ad_network_win_rate: 'FB_AD_NETWORK_WIN_RATE', fb_ad_network_direct_total_revenue: 'FB_AD_NETWORK_DIRECT_TOTAL_REVENUE', fb_ad_network_direct_publisher_bill: 'FB_AD_NETWORK_DIRECT_PUBLISHER_BILL', fb_ad_network_fast_click_rate: 'FB_AD_NETWORK_FAST_CLICK_RATE', fb_ad_network_fast_return_rate: 'FB_AD_NETWORK_FAST_RETURN_RATE', fb_ad_network_click_value_score: 'FB_AD_NETWORK_CLICK_VALUE_SCORE', fb_ad_network_fast_click_numerator: 'FB_AD_NETWORK_FAST_CLICK_NUMERATOR', fb_ad_network_fast_click_denominator: 'FB_AD_NETWORK_FAST_CLICK_DENOMINATOR', fb_ad_network_fast_return_numerator: 'FB_AD_NETWORK_FAST_RETURN_NUMERATOR', fb_ad_network_fast_return_denominator: 'FB_AD_NETWORK_FAST_RETURN_DENOMINATOR', fb_ad_network_click_value_score_numerator: 'FB_AD_NETWORK_CLICK_VALUE_SCORE_NUMERATOR', fb_ad_network_click_value_score_denominator: 'FB_AD_NETWORK_CLICK_VALUE_SCORE_DENOMINATOR' }); } static get OrderingColumn (): Object { return Object.freeze({ time: 'TIME', value: 'VALUE', metric: 'METRIC' }); } static get OrderingType (): Object { return Object.freeze({ ascending: 'ASCENDING', descending: 'DESCENDING' }); } getAdSpaces (fields, params, fetchFirstPage = true): AbstractObject { return this.getEdge( AbstractObject, fields, params, fetchFirstPage, '/ad_spaces' ); } getAdNetworkAnalytics (fields, params, fetchFirstPage = true): AdNetworkAnalyticsSyncQueryResult { return this.getEdge( AdNetworkAnalyticsSyncQueryResult, fields, params, fetchFirstPage, '/adnetworkanalytics' ); } createAdNetworkAnalytic (fields, params): AdMonetizationProperty { return this.createEdge( '/adnetworkanalytics', fields, params, AdMonetizationProperty ); } getAdNetworkAnalyticsResults (fields, params, fetchFirstPage = true): AdNetworkAnalyticsAsyncQueryResult { return this.getEdge( AdNetworkAnalyticsAsyncQueryResult, fields, params, fetchFirstPage, '/adnetworkanalytics_results' ); } getAnalyticsQuery (fields, params, fetchFirstPage = true): AnalyticsQueryResult { return this.getEdge( AnalyticsQueryResult, fields, params, fetchFirstPage, '/analytics_query' ); } getAnalyticsQueryExport (fields, params, fetchFirstPage = true): AnalyticsQueryExportResult { return this.getEdge( AnalyticsQueryExportResult, fields, params, fetchFirstPage, '/analytics_query_export' ); } getApplications (fields, params, fetchFirstPage = true): Application { return this.getEdge( Application, fields, params, fetchFirstPage, '/applications' ); } getAssignedPartners (fields, params, fetchFirstPage = true): Business { return this.getEdge( Business, fields, params, fetchFirstPage, '/assigned_partners' ); } getBusinessObjectTags (fields, params, fetchFirstPage = true): BusinessTag { return this.getEdge( BusinessTag, fields, params, fetchFirstPage, '/business_object_tags' ); } getBusinessRequests (fields, params, fetchFirstPage = true): BusinessRequest { return this.getEdge( BusinessRequest, fields, params, fetchFirstPage, '/business_requests' ); } getConnectedBusinessObjects (fields, params, fetchFirstPage = true): BusinessObject { return this.getEdge( BusinessObject, fields, params, fetchFirstPage, '/connected_business_objects' ); } getPriceTargetSegments (fields, params, fetchFirstPage = true): AbstractObject { return this.getEdge( AbstractObject, fields, params, fetchFirstPage, '/price_target_segments' ); } getUserPermissions (fields, params, fetchFirstPage = true): AbstractObject { return this.getEdge( AbstractObject, fields, params, fetchFirstPage, '/userpermissions' ); } get (fields, params): AdMonetizationProperty { return this.read( fields, params ); } }