-
Notifications
You must be signed in to change notification settings - Fork 0
/
adgroup.clj
31 lines (24 loc) · 951 Bytes
/
adgroup.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(ns ttd-api.api.adgroup
(:require [clj-http.client :as client]
[ttd-api.api.api :as api]
[ttd-api.api.campaign :as campaign]
[cheshire.core :as c]))
(defn build-adgroup-body [campaign-id]
(let [m {:headers {"TTD-AUTH" api/token}
:body (str "{\"CampaignId\": \"" campaign-id "\"," "\"PageStartIndex\": \"0\", \"PageSize\": null}")
:content-type :json
:accept :json}]
(clojure.pprint/pprint m)
m))
(defn get-adgroups [campaign-id]
(-> (api/build-url "adgroup/query/campaign")
(client/post (build-adgroup-body campaign-id))
:body))
(defn get-adgroup [adgroup-id]
(-> (str (api/build-url "adgroup/") adgroup-id)
(client/get (api/headers))
:body))
(defn get-campaign-from-adgroup [adgroup-json]
;; pull out campaign-id
(let [campaign-id (get-in (c/decode adgroup-json) ["CampaignId"])]
(campaign/get-campaign campaign-id)))