Community Discussion
Get campaign return resource not found
Hi,
i'm trying to get campaign details so I could make changes to it afterwards.
we have several accounts and i'm authenticating with our main one (network, account id: 1308199).
for getting campaign I tried to use below request:
https://backstage.taboola.com/backstage/api/1.0/account_id/campaigns/_campaign_id/.
But I got 404 resource not found.
(account id: 1308205, campaign Id: 6085733)
I tried to get all campaigns for above account with:
https://backstage.taboola.com/backstage/api/1.0/account_id/campaigns.
but still got 404 resource not found.
(also tried with the network account id and still same 404 error).
I believe i'm missing something basic here, can you please check it out?
Avi.
Posted by Avi L about 3 years ago
Fetching Campaigns
Hey, When I Fetch campaigns I get the results as an empty array,
but when I run the summary report I get the report as it should be with campaigns.
The Request:
https://backstage.taboola.com/backstage/api/1.0/account_id/campaigns/
Posted by Guy Horowitz about 3 years ago
Get All Campaigns Returns Empty List
I sent a GET request to "https://backstage.taboola.com/backstage/api/1.0/<account_id>/campaigns/" with my access_token in the header. I get the following response:
```
data: {
results: [],
metadata: { total: 0, count: 0, static_fields: [], static_total_fields: [] }
}
```
From this old github issue (https://github.com/singer-io/tap-taboola/issues/1) I found on the deprecated Backstage API docs (https://github.com/taboola/Backstage-API) says that:
```
Reading, creating or updating Campaigns is only possible when the [account-id] references an Account with ADVERTISER in its partner_types field. Trying to send a request with a non-Advertiser Account will result in a 404 Not Found response.
```
I checked, my<account_id> does not have "ADVERTISER" in its `partner_types`.
I did not see any mention of this issue regarding `partner_types` in the current documentation. Could anyone confirm if "ADVERTISER" really is required to access Campaigns? Thank you.
Posted by Andy Shih over 3 years ago
Network-level Conversions creation through the api.
I couldn't find how to create a network-level conversion in the documentation. Is there anyway to implement that?
I only found account-level conversion creation here: https://developers.taboola.com/backstage-api/reference#create-a-conversion-rule
Thanks
Posted by Kais Salha over 3 years ago
Block/reactivate Mediums through API
Can I reactivate mediums that I've blocked in the past through the API?
Posted by Guy over 3 years ago
Duplicate a campaign to another advertiser
Hey,
Is there an option to choose a different provider (advertiser) when using a "duplicate campaign API"?
For example, if I have "demo-advertiser" (that contains campaign 123) and "another-advertiser", can I do something like:
curl --request POST \
--url https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/duplicate \
--header 'content-type: application/json' \
--data '{"name":"Copy to another", "advertiser": "another-advertiser"}'
Thanks!
Posted by Sasha over 3 years ago
Reporting issue with 'campaign_breakdown'
Hi,
We are requesting for this report (reports/campaign-summary/dimensions/campaign_breakdown) several times a day.
We request it for 2 time periods:
- 1 day
- 365 days (to get campaign lifetime spend)
I suspect that sometimes, depending on how long it took to respond, the response is not full.
It happens randomly when we try to parse the response to json and it fails:
`ValueError: Unterminated string starting at: line 1 column 25130053 (char 25130052)`
`ValueError: Unterminated string starting at: line 1 column 44233078 (char 44233077)`
This suggests the response is incomplete.
And indeed, catching the response itself when this happens shows HTTP200 but the response itself is not complete:
"..."conversions_value":0.00,"roas":0.00,"ctr":0E-18,"vctr":0E-18,"cpm":0.00,"vcpm":0.00,"cpc":0.00,"campaigns_num":1,"cpa":0.00,"cpa_actions_nu"
I do not think this is a timeout from our end as we wait for 360 seconds and the error happens much sooner than that.
So I suspect your server cut the response if it happens to take to long, and then I get a partial response.
Please advise on how to get this solved...
Perhaps there is a way to cut the report to chunks (paged report) or perhaps selecting which dimensions will be returned? (i only want the spend in this case).
example request that just failed:
GET 'https://backstage.taboola.com/backstage/api/1.0/samyonetwork/reports/campaign-summary/dimensions/campaign_breakdown?start_date=2019-05-27&end_date=2020-05-26'
response headers:
{'X-Timer': 'S1590508558.250668,VS0,VE5509', 'X-XSS-Protection': '1; mode=block', 'X-Cache': 'MISS', 'X-Content-Type-Options': 'nosniff, nosniff', 'transfer-encoding': 'chunked', 'Accept-Ranges': 'bytes', 'Expires': '0', 'Vary': 'Accept-Encoding', 'X-Served-By': 'cache-bwi5053-BWI', 'Server': 'nginx', 'Connection': 'keep-alive', 'Via': '1.1 varnish', 'X-Cache-Hits': '0', 'Pragma': 'no-cache', 'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate', 'Date': 'Tue, 26 May 2020 15:56:03 GMT', 'P3P': 'policyref="http://trc.taboola.com/p3p.xml", CP="NOI DSP COR LAW NID CURa ADMa DEVa PSAa PSDa OUR BUS IND UNI COM NAV INT DEM"', 'Content-Type': 'application/json;charset=utf-8', 'X-Frame-Options': 'DENY'}
Posted by Or over 3 years ago
Block Levels
I'm looking at your `Campaign Summary` reports (specifically in relation to the `platform_breakdown` dimension), and I'm trying to understand the potential `blocking_level` values listed in your documentation.
https://developers.taboola.com/backstage-api/reference#dimension-specific-columns
These three don't fit with my current mental model of how Taboola blocking works.
```
EMULATED - Emulated auto-block
NETWORK - Network level block
ADVERTISER_NETWORK - Advertiser network level block
```
Can you provide more color?
Assuming `NETWORK` or `ADVERTISER_NETWORK` spans multiple Taboola accounts, can we have an api access point to mutate these values? We currently have to iterate over all our accounts to perform blocks. During product planning, one of our major risks was the quantity limits at the different blocking levels. An additional Network level block would alleviate some of our current concerns, simplify our processes and reduce api calls.
Posted by Nesan Waran over 3 years ago