-
Notifications
You must be signed in to change notification settings - Fork 4
/
accounttax.clj
131 lines (113 loc) · 3.52 KB
/
accounttax.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
30
31
32
33
34
35
36
37
38
39
40
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
(ns happygapi.content.accounttax
"Content API for Shopping: accounttax.
Manages product items, inventory, and Merchant Center accounts for Google Shopping.
See: https://developers.google.com/shopping-contentapi/reference/rest/v2.1/accounttax"
(:require [cheshire.core :as json]
[clj-http.client :as http]
[happy.util :as util]))
(defn custombatch$
"https://developers.google.com/shopping-contentapi/reference/rest/v2.1/accounttax/custombatch
Required parameters: none
Optional parameters: none
Body:
{:entries [{:accountId string,
:accountTax AccountTax,
:batchId integer,
:merchantId string,
:method string}]}
Retrieves and updates tax settings of multiple accounts in a single request."
{:scopes ["https://www.googleapis.com/auth/content"]}
[auth args body]
{:pre [(util/has-keys? args #{})]}
(util/get-response
(http/post
(util/get-url
"https://www.googleapis.com/content/v2.1/"
"accounttax/batch"
#{}
args)
(merge-with
merge
{:content-type :json,
:body (json/generate-string body),
:throw-exceptions false,
:query-params args,
:accept :json,
:as :json}
auth))))
(defn get$
"https://developers.google.com/shopping-contentapi/reference/rest/v2.1/accounttax/get
Required parameters: accountId, merchantId
Optional parameters: none
Retrieves the tax settings of the account."
{:scopes ["https://www.googleapis.com/auth/content"]}
[auth args]
{:pre [(util/has-keys? args #{:accountId :merchantId})]}
(util/get-response
(http/get
(util/get-url
"https://www.googleapis.com/content/v2.1/"
"{merchantId}/accounttax/{accountId}"
#{:accountId :merchantId}
args)
(merge-with
merge
{:throw-exceptions false,
:query-params args,
:accept :json,
:as :json}
auth))))
(defn list$
"https://developers.google.com/shopping-contentapi/reference/rest/v2.1/accounttax/list
Required parameters: merchantId
Optional parameters: maxResults, pageToken
Lists the tax settings of the sub-accounts in your Merchant Center account."
{:scopes ["https://www.googleapis.com/auth/content"]}
[auth args]
{:pre [(util/has-keys? args #{:merchantId})]}
(util/get-response
(http/get
(util/get-url
"https://www.googleapis.com/content/v2.1/"
"{merchantId}/accounttax"
#{:merchantId}
args)
(merge-with
merge
{:throw-exceptions false,
:query-params args,
:accept :json,
:as :json}
auth))))
(defn update$
"https://developers.google.com/shopping-contentapi/reference/rest/v2.1/accounttax/update
Required parameters: accountId, merchantId
Optional parameters: none
Body:
{:accountId string,
:kind string,
:rules [{:country string,
:locationId string,
:ratePercent string,
:shippingTaxed boolean,
:useGlobalRate boolean}]}
Updates the tax settings of the account."
{:scopes ["https://www.googleapis.com/auth/content"]}
[auth args body]
{:pre [(util/has-keys? args #{:accountId :merchantId})]}
(util/get-response
(http/put
(util/get-url
"https://www.googleapis.com/content/v2.1/"
"{merchantId}/accounttax/{accountId}"
#{:accountId :merchantId}
args)
(merge-with
merge
{:content-type :json,
:body (json/generate-string body),
:throw-exceptions false,
:query-params args,
:accept :json,
:as :json}
auth))))