File Coverage

blib/lib/Microsoft/AdCenter/V7/CustomerBillingService.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package Microsoft::AdCenter::V7::CustomerBillingService;
2             # Copyright (C) 2012 Xerxes Tsang
3             # This program is free software; you can redistribute it and/or modify it
4             # under the terms of Perl Artistic License.
5              
6 18     18   1384912 use strict;
  18         48  
  18         701  
7 18     18   102 use warnings;
  18         36  
  18         758  
8              
9             =head1 NAME
10              
11             Microsoft::AdCenter::V7::CustomerBillingService - Service client for Microsoft AdCenter Customer Billing Service.
12              
13             =head1 SYNOPSIS
14              
15             use Microsoft::AdCenter::V7::CustomerBillingService;
16              
17             my $service_client = Microsoft::AdCenter::V7::CustomerBillingService->new
18             ->ApplicationToken("application token")
19             ->DeveloperToken("developer token")
20             ->Password("password")
21             ->UserName("user name");
22              
23             my $response = $service_client->AddInsertionOrder(
24             InsertionOrder => ...
25             );
26              
27             See L for detailed documentation for this service.
28              
29             =head1 METHODS
30              
31             =head2 EndPoint
32              
33             Changes the end point for this service client.
34              
35             Default value: https://sharedservices.adcenterapi.microsoft.com/Api/Billing/v7/CustomerBillingService.svc
36              
37             =head2 ApplicationToken
38              
39             Gets/sets ApplicationToken (string) in the request header
40              
41             =head2 DeveloperToken
42              
43             Gets/sets DeveloperToken (string) in the request header
44              
45             =head2 Password
46              
47             Gets/sets Password (string) in the request header
48              
49             =head2 UserName
50              
51             Gets/sets UserName (string) in the request header
52              
53             =head2 TrackingId
54              
55             Gets TrackingId (string) in the response header
56              
57             =cut
58              
59 18     18   107 use base qw/Microsoft::AdCenter::Service/;
  18         37  
  18         12564  
60              
61             sub _service_name {
62             return 'CustomerBillingService';
63             }
64              
65             sub _service_version {
66             return 'V7';
67             }
68              
69             sub _class_name {
70             return 'CustomerBillingService';
71             }
72              
73             sub _namespace_uri {
74             return 'https://adcenter.microsoft.com/api/customerbilling';
75             }
76              
77             sub _default_location {
78             return 'https://sharedservices.adcenterapi.microsoft.com/Api/Billing/v7/CustomerBillingService.svc';
79             }
80              
81             sub _wsdl {
82             return 'https://sharedservices.adcenterapi.microsoft.com/Api/Billing/v7/CustomerBillingService.svc?wsdl';
83             }
84              
85             our $_request_headers = [
86             { name => 'ApplicationToken', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customerbilling' },
87             { name => 'DeveloperToken', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customerbilling' },
88             { name => 'Password', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customerbilling' },
89             { name => 'UserName', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customerbilling' }
90             ];
91              
92             our $_request_headers_expanded = {
93             ApplicationToken => 'string',
94             DeveloperToken => 'string',
95             Password => 'string',
96             UserName => 'string'
97             };
98              
99             sub _request_headers {
100             return $_request_headers;
101             }
102              
103             sub _request_headers_expanded {
104             return $_request_headers_expanded;
105             }
106              
107             our $_response_headers = [
108             { name => 'TrackingId', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customerbilling' }
109             ];
110              
111             our $_response_headers_expanded = {
112             TrackingId => 'string'
113             };
114              
115             sub _response_headers {
116             return $_response_headers;
117             }
118              
119             sub _response_headers_expanded {
120             return $_response_headers_expanded;
121             }
122              
123             =head2 AddInsertionOrder
124              
125             =over
126              
127             =item Parameters:
128              
129             InsertionOrder (InsertionOrder)
130              
131             =item Returns:
132              
133             AddInsertionOrderResponse
134              
135             =back
136              
137             =cut
138              
139             sub AddInsertionOrder {
140             my ($self, %args) = @_;
141             return $self->_invoke(
142             soap_action => 'AddInsertionOrder',
143             request => {
144             name => 'AddInsertionOrderRequest',
145             parameters => [
146             { name => 'InsertionOrder', type => 'InsertionOrder', namespace => 'https://adcenter.microsoft.com/api/customerbilling' }
147             ]
148             },
149             response => {
150             name => 'AddInsertionOrderResponse'
151             },
152             parameters => \%args
153             );
154             }
155              
156             =head2 GetDisplayInvoices
157              
158             =over
159              
160             =item Parameters:
161              
162             InvoiceIds (ArrayOflong)
163             Type (DataType)
164              
165             =item Returns:
166              
167             GetDisplayInvoicesResponse
168              
169             =back
170              
171             =cut
172              
173             sub GetDisplayInvoices {
174             my ($self, %args) = @_;
175             return $self->_invoke(
176             soap_action => 'GetDisplayInvoices',
177             request => {
178             name => 'GetDisplayInvoicesRequest',
179             parameters => [
180             { name => 'InvoiceIds', type => 'ArrayOflong', namespace => 'https://adcenter.microsoft.com/api/customerbilling' },
181             { name => 'Type', type => 'DataType', namespace => 'https://adcenter.microsoft.com/api/customerbilling' }
182             ]
183             },
184             response => {
185             name => 'GetDisplayInvoicesResponse'
186             },
187             parameters => \%args
188             );
189             }
190              
191             =head2 GetInsertionOrdersByAccount
192              
193             =over
194              
195             =item Parameters:
196              
197             AccountId (long)
198             InsertionOrderIds (ArrayOflong)
199              
200             =item Returns:
201              
202             GetInsertionOrdersByAccountResponse
203              
204             =back
205              
206             =cut
207              
208             sub GetInsertionOrdersByAccount {
209             my ($self, %args) = @_;
210             return $self->_invoke(
211             soap_action => 'GetInsertionOrdersByAccount',
212             request => {
213             name => 'GetInsertionOrdersByAccountRequest',
214             parameters => [
215             { name => 'AccountId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customerbilling' },
216             { name => 'InsertionOrderIds', type => 'ArrayOflong', namespace => 'https://adcenter.microsoft.com/api/customerbilling' }
217             ]
218             },
219             response => {
220             name => 'GetInsertionOrdersByAccountResponse'
221             },
222             parameters => \%args
223             );
224             }
225              
226             =head2 GetInvoices
227              
228             =over
229              
230             =item Parameters:
231              
232             InvoiceIds (ArrayOflong)
233             Type (DataType)
234              
235             =item Returns:
236              
237             GetInvoicesResponse
238              
239             =back
240              
241             =cut
242              
243             sub GetInvoices {
244             my ($self, %args) = @_;
245             return $self->_invoke(
246             soap_action => 'GetInvoices',
247             request => {
248             name => 'GetInvoicesRequest',
249             parameters => [
250             { name => 'InvoiceIds', type => 'ArrayOflong', namespace => 'https://adcenter.microsoft.com/api/customerbilling' },
251             { name => 'Type', type => 'DataType', namespace => 'https://adcenter.microsoft.com/api/customerbilling' }
252             ]
253             },
254             response => {
255             name => 'GetInvoicesResponse'
256             },
257             parameters => \%args
258             );
259             }
260              
261             =head2 GetInvoicesInfo
262              
263             =over
264              
265             =item Parameters:
266              
267             AccountIds (ArrayOflong)
268             StartDate (dateTime)
269             EndDate (dateTime)
270              
271             =item Returns:
272              
273             GetInvoicesInfoResponse
274              
275             =back
276              
277             =cut
278              
279             sub GetInvoicesInfo {
280             my ($self, %args) = @_;
281             return $self->_invoke(
282             soap_action => 'GetInvoicesInfo',
283             request => {
284             name => 'GetInvoicesInfoRequest',
285             parameters => [
286             { name => 'AccountIds', type => 'ArrayOflong', namespace => 'https://adcenter.microsoft.com/api/customerbilling' },
287             { name => 'StartDate', type => 'dateTime', namespace => 'https://adcenter.microsoft.com/api/customerbilling' },
288             { name => 'EndDate', type => 'dateTime', namespace => 'https://adcenter.microsoft.com/api/customerbilling' }
289             ]
290             },
291             response => {
292             name => 'GetInvoicesInfoResponse'
293             },
294             parameters => \%args
295             );
296             }
297              
298             =head2 GetKOHIOInvoices
299              
300             =over
301              
302             =item Parameters:
303              
304             InvoiceIds (ArrayOfstring)
305              
306             =item Returns:
307              
308             GetKOHIOInvoicesResponse
309              
310             =back
311              
312             =cut
313              
314             sub GetKOHIOInvoices {
315             my ($self, %args) = @_;
316             return $self->_invoke(
317             soap_action => 'GetKOHIOInvoices',
318             request => {
319             name => 'GetKOHIOInvoicesRequest',
320             parameters => [
321             { name => 'InvoiceIds', type => 'ArrayOfstring', namespace => 'https://adcenter.microsoft.com/api/customerbilling' }
322             ]
323             },
324             response => {
325             name => 'GetKOHIOInvoicesResponse'
326             },
327             parameters => \%args
328             );
329             }
330              
331             =head2 UpdateInsertionOrder
332              
333             =over
334              
335             =item Parameters:
336              
337             InsertionOrder (InsertionOrder)
338              
339             =item Returns:
340              
341             UpdateInsertionOrderResponse
342              
343             =back
344              
345             =cut
346              
347             sub UpdateInsertionOrder {
348             my ($self, %args) = @_;
349             return $self->_invoke(
350             soap_action => 'UpdateInsertionOrder',
351             request => {
352             name => 'UpdateInsertionOrderRequest',
353             parameters => [
354             { name => 'InsertionOrder', type => 'InsertionOrder', namespace => 'https://adcenter.microsoft.com/api/customerbilling' }
355             ]
356             },
357             response => {
358             name => 'UpdateInsertionOrderResponse'
359             },
360             parameters => \%args
361             );
362             }
363              
364             our %_simple_types = (
365             DataType => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
366             char => 'http://schemas.microsoft.com/2003/10/Serialization/',
367             duration => 'http://schemas.microsoft.com/2003/10/Serialization/',
368             guid => 'http://schemas.microsoft.com/2003/10/Serialization/',
369             );
370              
371             sub _simple_types {
372             return %_simple_types;
373             }
374              
375             our @_complex_types = (qw/
376             AdApiError
377             AdApiFaultDetail
378             AddInsertionOrderResponse
379             ApiBatchFault
380             ApiFault
381             ApplicationFault
382             BatchError
383             GetDisplayInvoicesResponse
384             GetInsertionOrdersByAccountResponse
385             GetInvoicesInfoResponse
386             GetInvoicesResponse
387             GetKOHIOInvoicesResponse
388             InsertionOrder
389             Invoice
390             InvoiceInfo
391             OperationError
392             UpdateInsertionOrderResponse
393             /);
394              
395             sub _complex_types {
396             return @_complex_types;
397             }
398              
399             our %_array_types = (
400             ArrayOfAdApiError => {
401             namespace_uri => 'https://adapi.microsoft.com',
402             element_name => 'AdApiError',
403             element_type => 'AdApiError'
404             },
405             ArrayOfBatchError => {
406             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Exception',
407             element_name => 'BatchError',
408             element_type => 'BatchError'
409             },
410             ArrayOfInsertionOrder => {
411             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
412             element_name => 'InsertionOrder',
413             element_type => 'InsertionOrder'
414             },
415             ArrayOfInvoice => {
416             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
417             element_name => 'Invoice',
418             element_type => 'Invoice'
419             },
420             ArrayOfInvoiceInfo => {
421             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
422             element_name => 'InvoiceInfo',
423             element_type => 'InvoiceInfo'
424             },
425             ArrayOfOperationError => {
426             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Exception',
427             element_name => 'OperationError',
428             element_type => 'OperationError'
429             },
430             ArrayOflong => {
431             namespace_uri => 'http://schemas.microsoft.com/2003/10/Serialization/Arrays',
432             element_name => 'long',
433             element_type => 'long'
434             },
435             ArrayOfstring => {
436             namespace_uri => 'http://schemas.microsoft.com/2003/10/Serialization/Arrays',
437             element_name => 'string',
438             element_type => 'string'
439             },
440             );
441              
442             sub _array_types {
443             return %_array_types;
444             }
445              
446             __PACKAGE__->mk_accessors(qw/
447             ApplicationToken
448             DeveloperToken
449             Password
450             UserName
451             TrackingId
452             /);
453              
454             1;