adzerk / adzerk-management-sdk-ruby Goto Github PK
View Code? Open in Web Editor NEWRuby SDK for the Kevel Management API
License: Other
Ruby SDK for the Kevel Management API
License: Other
Per https://github.com/adzerk/adzerk-api/wiki/Budget-Capping-%28Beta%29/_compare/0cc8a3c%5E...0cc8a3c
I read this as only integer values will be accepted, but I want to make sure that's the case. We have some advertisers who have caps like:
(etc)
So it seems that with this change, we will no longer be able to specify cents and need to round their per-day spend to the nearest dollar?
Just want to make sure so that we don't have any unexpected behavior down the road. Thanks
Is there any chance you could relax the activesupport supported version in the gemspec so that I can use the gem with a rails 4.1.5? Thanks for your consideration.
From my bundle update command:
Bundler could not find compatible versions for gem "activesupport":
In Gemfile:
adzerk (~> 0.2) ruby depends on
activesupport (= 3.2.8) ruby
rails (= 4.1.5) ruby depends on
activesupport (4.1.5)
Hey, I'm able to pull the rate_type_id
from the reporting API generated report, but is there an endpoint that allows me to find out the rate_type_name
would be for said id
?
I know looking at this column via the web ui report generator shows flat
and cpm
, but I can't seem to see how to get the name via the API.
Thanks
Hi folks,
It seems that the documentation for the queued reports API is incorrect: https://github.com/adzerk/adzerk-api/wiki/Reporting-API#poll-for-the-result-of-a-queued-report suggests that the "Result" property will be null for an incomplete report, rather than not present at all. While it's a minor point, it is not necessarily correct:
[2015-08-05 20:01:13] https://api.adzerk.net/v1/report/queue/<id>
GET /v1/report/queue/<id> HTTP/1.1
Host: api.adzerk.net
Accept-Encoding: gzip, deflate
Expect:
User-Agent: Httpful/0.1.7 (cURL/7.15.5 PHP/5.3.28 (Linux))
Accept: */*; q=0.5, text/plain; q=0.8, text/html;level=3;
X-Adzerk-ApiKey: <api key>
Response:
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json
Date: Wed, 05 Aug 2015 20:01:13 GMT
Server: nginx/1.1.19
Set-Cookie: ASP.NET_SessionId=<session>; path=/
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 2.0
Content-Length: 56
Connection: keep-alive
{"Id":"<id>","Status":1}
Additionally, not all reports seem to contain "Result" when they're actually marked as complete:
[2015-08-05 19:58:16] https://api.adzerk.net/v1/report/queue/<id>
GET /v1/report/queue/<id> HTTP/1.1
Host: api.adzerk.net
Accept-Encoding: gzip, deflate
Expect:
User-Agent: Httpful/0.1.7 (cURL/7.15.5 PHP/5.3.28 (Linux))
Accept: */*; q=0.5, text/plain; q=0.8, text/html;level=3;
X-Adzerk-ApiKey: <apikey>
Response:
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json
Date: Wed, 05 Aug 2015 19:58:16 GMT
Server: nginx/1.1.19
Set-Cookie: ASP.NET_SessionId=<session>; path=/
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 2.0
Content-Length: 56
Connection: keep-alive
{"Id":"<id>","Status":2}
Any idea what's going on in the second case? According to the documentation, the Result
key should be present at this point.
Each time you run the tests, whatever API key you used, that account gets filled up with a bunch of "Test Campaign 12345," "Test Channel 12345," "Test Site 12345," etc. (even when all the tests pass, and presumably these include tests that deleting things through the API works)
I always end up having to delete all these things manually to keep my account sane, but I see no reason why the tests shouldn't do this for me. Maybe we should test the delete/archive endpoints by deleting the things the previous tests created and verifying that they're deleted.
Would it be possible to get more documentation for the reporting? I'm trying to use the API for reporting for the publisher side for sites, and can't seem to get it to work ("It looks like there is an error in your request. Be sure to check that you are passing in the right object for this endpoint. For example, if you are sending a request to create a new site, you should send the site data wrapped in site={} to /v1/site"), it would be easier if there was more details? I'm only looking for a basic report like the ones we see when we log into adzerk
I'm trying to update to the latest adzerk gem (0.9) but it appears there is a hard dependency on rest-client (= 1.6.9)
. I'm wondering if this is required? Here's the error I get when I try upgrade to 0.9:
Bundler could not find compatible versions for gem "mime-types":
In Gemfile:
carrierwave_backgrounder was resolved to 0.4.2, which depends on
mime-types (~> 2.3)
valid_email was resolved to 0.0.13, which depends on
mail (~> 2.6.1) was resolved to 2.6.4, which depends on
mime-types (< 4, >= 1.16)
adzerk (= 0.9) was resolved to 0.9, which depends on
rest-client (= 1.6.9) was resolved to 1.6.9, which depends on
mime-types (~> 1.16)
Every API call I make, I get back adzurk.net godaddy page.
Does the gem have a way to pull all of the ad_types?
I was able to pull the types via mechanize, but having it all from the gem would be great
mechanize.request_headers = {"X-Adzerk-ApiKey" => api_key}
ad_types = mechanize.get "http://api.adzerk.net/v1/adtypes"
I List the flights, it gives me an ID (not sure if this is a flightID), I call http://api.adzerk.net/v1/flight/3900 and it give me
I am sorry, there has been an error.
I noticed the 3900 is the same ID as my campaignID.
My question is the ID I got when I listed the flights really a flight ID, if not how do I get the flightID?
Either make the default true || false or allow some option for both.
When making certain API requests, the server responds with a generic HTML error page rather than a JSON error. This makes reliably parsing the response for an error message hard.
In particular, if the server is unable to parse the dates, it will reply with this generic error page. This is an acute problem since the API date format isn't documented.
Ad types API docs: https://github.com/adzerk/adzerk-api/wiki/Ad-Type-Endpoints
Currently with the adzerk-api gem, the ad-types endpoint just inherits from the generic API endpoint, and you can only use it to list ad types. Need to write tests for, and then implement, the other features of the ad types API (creating an ad type, listing ad types by channel, deleting an ad type, etc.)
Is there a problem with the API documentation at Creative Flight Map Endpoints?
I am attempting to map an already present creative and flight. I'm posting the following JSON string to http://api.adzerk.net/v1/flight/The_Flight_Id/creative
creative={
"SizeOverride":false,
"CampaignId":The_Campaign_Id,
"PublisherAccountId":My_Publisher_Account_Id,
"IsDeleted":false,
"Percentage":0,
"Iframe":false,
"Creative":{
"Id":The_Creative_Id
},
"DistributionType":1,
"IsActive":true,
"FlightId":The_Flight_Id,
"Impressions":100000
}
However I seem to be getting an error. The returned string is
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/content/error.html?aspxerrorpath=/v1/flight/The_Flight_Id/creative">here</a></h2>
</body><html>
On June 22, the commit below included a bump in the version number for the gem from 0.5
to 0.6
but no tag or release was made.
Note: The following was done with the requests package in Python.
I made a POST request to the Reporting API and successfully got a report ID. Then, I made a GET request to:
https://api.adzerk.net/v1/report/queue/{report_id}
I got back a response with status 200, but the following content:
{"Id": {report_id}, "Status": 1}
I also tried editing the URL in the Report Builder in the UI and got a valid report with the same parameters from the POST request using the following URL:
https://app.adzerk.com/#!/reports/{report_id}
The weird thing, is when I step thru my code using a debugger, I get a good result. However, when I run it straight thru and print, I see an empty response.
Am I creating the GET request incorrectly? Not sure where to go from here.
I appreciate any help!
Update: I was able to get a valid response without the debug. However, I had to run time.sleep() in order to give the GET request more time to process. I experimented with varying amounts of data, and found that the amount of time needed to wait differs greatly as well. Calling time.sleep() during production code is not something I'm comfortable doing, and I'm guessing this is due to some backend error with the Reporting API.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.