Class: PinterestSdkClient::ConversionEventsApi

Inherits:
Object
  • Object
show all
Defined in:
lib/pinterest_sdk/api/conversion_events_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = ApiClient.default) ⇒ ConversionEventsApi

Returns a new instance of ConversionEventsApi.



19
20
21
# File 'lib/pinterest_sdk/api/conversion_events_api.rb', line 19

def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



17
18
19
# File 'lib/pinterest_sdk/api/conversion_events_api.rb', line 17

def api_client
  @api_client
end

Instance Method Details

#events_create(ad_account_id, conversion_events, opts = {}) ⇒ ConversionApiResponse

Send conversions The Pinterest API offers advertisers a way to send Pinterest their conversion information (including web conversions, in-app conversions, or even offline conversions) based on their ad_account_id. The request body should be a JSON object. - This endpoint requires an access_token be generated through Ads Manager. Review the <a href="/docs/api-features/conversion-overview/">Conversions Guide</a> for more details. (Note that the authorization header required is Authorization: Bearer &lt;access_token&gt;). - The token’s user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via <a href="help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a>: Admin, Analyst, Audience, Campaign. (Note that the token can be used across multiple ad accounts under an user ID.) - This endpoint has a rate limit of 5,000 calls per minute per ad account. - If the merchant is submitting this information using both Pinterest conversion tags and the Pinterest API, Pinterest will remove duplicate information before reporting. (Note that events that took place offline cannot be deduplicated.)

Parameters:

  • ad_account_id (String)

    Unique identifier of an ad account.

  • conversion_events (ConversionEvents)

    Conversion events.

  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :test (Boolean)

    Include query param ?test&#x3D;true to mark the request as a test request. The events will not be recorded but the API will still return the same response messages. Use this mode to verify your requests are working and your events are constructed correctly. Warning: If you use this query parameter, be certain that it is off (set to false or deleted) before sending a legitimate (non-testing) request.

Returns:



29
30
31
32
# File 'lib/pinterest_sdk/api/conversion_events_api.rb', line 29

def events_create(, conversion_events, opts = {})
  data, _status_code, _headers = events_create_with_http_info(, conversion_events, opts)
  data
end

#events_create_with_http_info(ad_account_id, conversion_events, opts = {}) ⇒ Array<(ConversionApiResponse, Integer, Hash)>

Send conversions The Pinterest API offers advertisers a way to send Pinterest their conversion information (including web conversions, in-app conversions, or even offline conversions) based on their &lt;code&gt;ad_account_id&lt;/code&gt;. The request body should be a JSON object. - This endpoint requires an &lt;code&gt;access_token&lt;/code&gt; be generated through Ads Manager. Review the &lt;a href&#x3D;&quot;/docs/api-features/conversion-overview/&quot;&gt;Conversions Guide&lt;/a&gt; for more details. (Note that the authorization header required is &lt;code&gt;Authorization: Bearer &amp;lt;access_token&amp;gt;&lt;/code&gt;). - The token&#39;s &lt;code&gt;user_account&lt;/code&gt; must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via &lt;a href&#x3D;&quot;help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts&quot;&gt;Business Access&lt;/a&gt;: Admin, Analyst, Audience, Campaign. (Note that the token can be used across multiple ad accounts under an user ID.) - This endpoint has a rate limit of 5,000 calls per minute per ad account. - If the merchant is submitting this information using both Pinterest conversion tags and the Pinterest API, Pinterest will remove duplicate information before reporting. (Note that events that took place offline cannot be deduplicated.)

Parameters:

  • ad_account_id (String)

    Unique identifier of an ad account.

  • conversion_events (ConversionEvents)

    Conversion events.

  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :test (Boolean)

    Include query param ?test&#x3D;true to mark the request as a test request. The events will not be recorded but the API will still return the same response messages. Use this mode to verify your requests are working and your events are constructed correctly. Warning: If you use this query parameter, be certain that it is off (set to false or deleted) before sending a legitimate (non-testing) request.

Returns:

  • (Array<(ConversionApiResponse, Integer, Hash)>)

    ConversionApiResponse data, response status code and response headers



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/pinterest_sdk/api/conversion_events_api.rb', line 41

def events_create_with_http_info(, conversion_events, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ConversionEventsApi.events_create ...'
  end
  # verify the required parameter 'ad_account_id' is set
  if @api_client.config.client_side_validation && .nil?
    fail ArgumentError, "Missing the required parameter 'ad_account_id' when calling ConversionEventsApi.events_create"
  end
  if @api_client.config.client_side_validation && .to_s.length > 18
    fail ArgumentError, 'invalid value for "ad_account_id" when calling ConversionEventsApi.events_create, the character length must be smaller than or equal to 18.'
  end

  pattern = Regexp.new(/^\d+$/)
  if @api_client.config.client_side_validation &&  !~ pattern
    fail ArgumentError, "invalid value for 'ad_account_id' when calling ConversionEventsApi.events_create, must conform to the pattern #{pattern}."
  end

  # verify the required parameter 'conversion_events' is set
  if @api_client.config.client_side_validation && conversion_events.nil?
    fail ArgumentError, "Missing the required parameter 'conversion_events' when calling ConversionEventsApi.events_create"
  end
  # resource path
  local_var_path = '/ad_accounts/{ad_account_id}/events'.sub('{' + 'ad_account_id' + '}', CGI.escape(.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'test'] = opts[:'test'] if !opts[:'test'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
      header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(conversion_events)

  # return_type
  return_type = opts[:debug_return_type] || 'ConversionApiResponse'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['pinterest_oauth2', 'conversion_token']

  new_options = opts.merge(
    :operation => :"ConversionEventsApi.events_create",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ConversionEventsApi#events_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end