File Coverage

blib/lib/Microsoft/AdCenter/V6/CustomerManagementService.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::V6::CustomerManagementService;
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 36     36   2799214 use strict;
  36         137  
  36         1461  
7 36     36   223 use warnings;
  36         91  
  36         1540  
8              
9             =head1 NAME
10              
11             Microsoft::AdCenter::V6::CustomerManagementService - Service client for Microsoft AdCenter Customer Management Service.
12              
13             =head1 SYNOPSIS
14              
15             use Microsoft::AdCenter::V6::CustomerManagementService;
16              
17             my $service_client = Microsoft::AdCenter::V6::CustomerManagementService->new
18             ->Password("password");
19             ->UserAccessKey("user access key")
20             ->UserName("user name")
21              
22             my $response = $service_client->CustomerSignUp(
23             apiFlags => ...
24             user => ...
25             customer => ...
26             account => ...
27             consentToTermsAndConditions => ...
28             couponCode => ...
29             );
30              
31             See L for detailed documentation for this service.
32              
33             =head1 METHODS
34              
35             =head2 EndPoint
36              
37             Changes the end point for this service client.
38              
39             Default value: https://adcenterapi.microsoft.com/Api/Advertiser/v6/CustomerManagement/CustomerManagement.asmx
40              
41             =head2 Password
42              
43             Gets/sets Password (string) in the request header
44              
45             =head2 UserAccessKey
46              
47             Gets/sets UserAccessKey (string) in the request header
48              
49             =head2 UserName
50              
51             Gets/sets UserName (string) in the request header
52              
53             =cut
54              
55 36     36   214 use base qw/Microsoft::AdCenter::Service/;
  36         83  
  36         27284  
56              
57             sub _service_name {
58             return 'CustomerManagement';
59             }
60              
61             sub _service_version {
62             return 'V6';
63             }
64              
65             sub _class_name {
66             return 'CustomerManagementService';
67             }
68              
69             sub _namespace_uri {
70             return 'http://adcenter.microsoft.com/syncapis';
71             }
72              
73             sub _default_location {
74             return 'https://adcenterapi.microsoft.com/Api/Advertiser/v6/CustomerManagement/CustomerManagement.asmx';
75             }
76              
77             sub _wsdl {
78             return 'https://adcenterapi.microsoft.com/Api/Advertiser/v6/CustomerManagement/CustomerManagement.asmx?wsdl';
79             }
80              
81             our $_request_headers = [
82             { name => 'ApiUserAuthHeader', type => 'ApiUserAuthHeader', namespace => 'http://adcenter.microsoft.com/syncapis' }
83             ];
84              
85             our $_request_headers_expanded = {
86             Password => 'string',
87             UserAccessKey => 'string',
88             UserName => 'string'
89             };
90              
91             sub _request_headers {
92             return $_request_headers;
93             }
94              
95             sub _request_headers_expanded {
96             return $_request_headers_expanded;
97             }
98              
99             our $_response_headers = [
100             ];
101              
102             our $_response_headers_expanded = {
103             };
104              
105             sub _response_headers {
106             return $_response_headers;
107             }
108              
109             sub _response_headers_expanded {
110             return $_response_headers_expanded;
111             }
112              
113             =head2 CustomerSignUp
114              
115             =over
116              
117             =item Parameters:
118              
119             apiFlags (int)
120             user (AdCenterUser)
121             customer (AdCenterCustomer)
122             account (AdCenterAccount)
123             consentToTermsAndConditions (boolean)
124             couponCode (string)
125              
126             =item Returns:
127              
128             CustomerSignUpResponse
129              
130             =back
131              
132             =cut
133              
134             sub CustomerSignUp {
135             my ($self, %args) = @_;
136             return $self->_invoke(
137             soap_action => 'http://adcenter.microsoft.com/syncapis/CustomerSignUp',
138             request => {
139             name => 'CustomerSignUp',
140             parameters => [
141             { name => 'apiFlags', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
142             { name => 'user', type => 'AdCenterUser', namespace => 'http://adcenter.microsoft.com/syncapis' },
143             { name => 'customer', type => 'AdCenterCustomer', namespace => 'http://adcenter.microsoft.com/syncapis' },
144             { name => 'account', type => 'AdCenterAccount', namespace => 'http://adcenter.microsoft.com/syncapis' },
145             { name => 'consentToTermsAndConditions', type => 'boolean', namespace => 'http://adcenter.microsoft.com/syncapis' },
146             { name => 'couponCode', type => 'string', namespace => 'http://adcenter.microsoft.com/syncapis' }
147             ]
148             },
149             response => {
150             name => 'CustomerSignUpResponse'
151             },
152             parameters => \%args
153             );
154             }
155              
156             =head2 GetAccountBillingInfo
157              
158             =over
159              
160             =item Parameters:
161              
162             apiFlags (int)
163             accountId (int)
164             customerId (int)
165             userId (int)
166             activityDays (int)
167              
168             =item Returns:
169              
170             GetAccountBillingInfoResponse
171              
172             =back
173              
174             =cut
175              
176             sub GetAccountBillingInfo {
177             my ($self, %args) = @_;
178             return $self->_invoke(
179             soap_action => 'http://adcenter.microsoft.com/syncapis/GetAccountBillingInfo',
180             request => {
181             name => 'GetAccountBillingInfo',
182             parameters => [
183             { name => 'apiFlags', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
184             { name => 'accountId', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
185             { name => 'customerId', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
186             { name => 'userId', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
187             { name => 'activityDays', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' }
188             ]
189             },
190             response => {
191             name => 'GetAccountBillingInfoResponse'
192             },
193             parameters => \%args
194             );
195             }
196              
197             =head2 GetAccounts
198              
199             =over
200              
201             =item Parameters:
202              
203             APIFlags (int)
204              
205             =item Returns:
206              
207             GetAccountsResponse
208              
209             =back
210              
211             =cut
212              
213             sub GetAccounts {
214             my ($self, %args) = @_;
215             return $self->_invoke(
216             soap_action => 'http://adcenter.microsoft.com/syncapis/GetAccounts',
217             request => {
218             name => 'GetAccounts',
219             parameters => [
220             { name => 'APIFlags', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' }
221             ]
222             },
223             response => {
224             name => 'GetAccountsResponse'
225             },
226             parameters => \%args
227             );
228             }
229              
230             =head2 GetAccountsByIds
231              
232             =over
233              
234             =item Parameters:
235              
236             APIFlags (int)
237             accountIds (ArrayOfInt)
238              
239             =item Returns:
240              
241             GetAccountsByIdsResponse
242              
243             =back
244              
245             =cut
246              
247             sub GetAccountsByIds {
248             my ($self, %args) = @_;
249             return $self->_invoke(
250             soap_action => 'http://adcenter.microsoft.com/syncapis/GetAccountsByIds',
251             request => {
252             name => 'GetAccountsByIds',
253             parameters => [
254             { name => 'APIFlags', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
255             { name => 'accountIds', type => 'ArrayOfInt', namespace => 'http://adcenter.microsoft.com/syncapis' }
256             ]
257             },
258             response => {
259             name => 'GetAccountsByIdsResponse'
260             },
261             parameters => \%args
262             );
263             }
264              
265             =head2 GetCardInvoice
266              
267             =over
268              
269             =item Parameters:
270              
271             apiFlags (int)
272             customerId (int)
273             userId (int)
274             handle (AdCenterCardInvoiceHandle)
275              
276             =item Returns:
277              
278             GetCardInvoiceResponse
279              
280             =back
281              
282             =cut
283              
284             sub GetCardInvoice {
285             my ($self, %args) = @_;
286             return $self->_invoke(
287             soap_action => 'http://adcenter.microsoft.com/syncapis/GetCardInvoice',
288             request => {
289             name => 'GetCardInvoice',
290             parameters => [
291             { name => 'apiFlags', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
292             { name => 'customerId', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
293             { name => 'userId', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
294             { name => 'handle', type => 'AdCenterCardInvoiceHandle', namespace => 'http://adcenter.microsoft.com/syncapis' }
295             ]
296             },
297             response => {
298             name => 'GetCardInvoiceResponse'
299             },
300             parameters => \%args
301             );
302             }
303              
304             =head2 GetCustomer
305              
306             =over
307              
308             =item Parameters:
309              
310             apiFlags (int)
311             customerId (int)
312              
313             =item Returns:
314              
315             GetCustomerResponse
316              
317             =back
318              
319             =cut
320              
321             sub GetCustomer {
322             my ($self, %args) = @_;
323             return $self->_invoke(
324             soap_action => 'http://adcenter.microsoft.com/syncapis/GetCustomer',
325             request => {
326             name => 'GetCustomer',
327             parameters => [
328             { name => 'apiFlags', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
329             { name => 'customerId', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' }
330             ]
331             },
332             response => {
333             name => 'GetCustomerResponse'
334             },
335             parameters => \%args
336             );
337             }
338              
339             =head2 GetPaymentInstrument
340              
341             =over
342              
343             =item Parameters:
344              
345             apiFlags (int)
346             accountId (int)
347              
348             =item Returns:
349              
350             GetPaymentInstrumentResponse
351              
352             =back
353              
354             =cut
355              
356             sub GetPaymentInstrument {
357             my ($self, %args) = @_;
358             return $self->_invoke(
359             soap_action => 'http://adcenter.microsoft.com/syncapis/GetPaymentInstrument',
360             request => {
361             name => 'GetPaymentInstrument',
362             parameters => [
363             { name => 'apiFlags', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
364             { name => 'accountId', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' }
365             ]
366             },
367             response => {
368             name => 'GetPaymentInstrumentResponse'
369             },
370             parameters => \%args
371             );
372             }
373              
374             =head2 UpdateCustomer
375              
376             =over
377              
378             =item Parameters:
379              
380             apiFlags (int)
381             customer (AdCenterCustomer)
382              
383             =item Returns:
384              
385             UpdateCustomerResponse
386              
387             =back
388              
389             =cut
390              
391             sub UpdateCustomer {
392             my ($self, %args) = @_;
393             return $self->_invoke(
394             soap_action => 'http://adcenter.microsoft.com/syncapis/UpdateCustomer',
395             request => {
396             name => 'UpdateCustomer',
397             parameters => [
398             { name => 'apiFlags', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
399             { name => 'customer', type => 'AdCenterCustomer', namespace => 'http://adcenter.microsoft.com/syncapis' }
400             ]
401             },
402             response => {
403             name => 'UpdateCustomerResponse'
404             },
405             parameters => \%args
406             );
407             }
408              
409             =head2 UpdatePaymentInstrument
410              
411             =over
412              
413             =item Parameters:
414              
415             apiFlags (int)
416             accountId (int)
417             creditCard (AdCenterCreditCard)
418              
419             =item Returns:
420              
421             UpdatePaymentInstrumentResponse
422              
423             =back
424              
425             =cut
426              
427             sub UpdatePaymentInstrument {
428             my ($self, %args) = @_;
429             return $self->_invoke(
430             soap_action => 'http://adcenter.microsoft.com/syncapis/UpdatePaymentInstrument',
431             request => {
432             name => 'UpdatePaymentInstrument',
433             parameters => [
434             { name => 'apiFlags', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
435             { name => 'accountId', type => 'int', namespace => 'http://adcenter.microsoft.com/syncapis' },
436             { name => 'creditCard', type => 'AdCenterCreditCard', namespace => 'http://adcenter.microsoft.com/syncapis' }
437             ]
438             },
439             response => {
440             name => 'UpdatePaymentInstrumentResponse'
441             },
442             parameters => \%args
443             );
444             }
445              
446             our %_simple_types = (
447             AccountStatus => 'http://adcenter.microsoft.com/syncapis',
448             CountryCode => 'http://adcenter.microsoft.com/syncapis',
449             CreditCardType => 'http://adcenter.microsoft.com/syncapis',
450             Currency => 'http://adcenter.microsoft.com/syncapis',
451             CurrencyType => 'http://adcenter.microsoft.com/syncapis',
452             EmailFormat => 'http://adcenter.microsoft.com/syncapis',
453             ErrorLevel => 'http://adcenter.microsoft.com/syncapis',
454             Industry => 'http://adcenter.microsoft.com/syncapis',
455             LCID => 'http://adcenter.microsoft.com/syncapis',
456             LanguageType => 'http://adcenter.microsoft.com/syncapis',
457             Market => 'http://adcenter.microsoft.com/syncapis',
458             PaymentOption => 'http://adcenter.microsoft.com/syncapis',
459             ResultStatus => 'http://adcenter.microsoft.com/syncapis',
460             SecretQuestions => 'http://adcenter.microsoft.com/syncapis',
461             );
462              
463             sub _simple_types {
464             return %_simple_types;
465             }
466              
467             our @_complex_types = (qw/
468             AdCenterAccount
469             AdCenterAddress
470             AdCenterCardBillingStatement
471             AdCenterCardBillingStatementEntry
472             AdCenterCardInvoice
473             AdCenterCardInvoiceEntry
474             AdCenterCardInvoiceHandle
475             AdCenterCardInvoiceHeader
476             AdCenterContactInfo
477             AdCenterCreditCard
478             AdCenterCustomer
479             AdCenterPaymentInstrument
480             AdCenterSap
481             AdCenterStatementEntry
482             AdCenterUser
483             ApiUserAuthHeader
484             CardInvoiceResponseMsg
485             CreditCardInfoUpdateResponseMsg
486             CustomerSignUpResponse
487             CustomerSignUpResponseMsg
488             CustomerUpdateResponseMsg
489             ErrorInfo
490             GetAccountBillingInfoResponse
491             GetAccountBillingInfoResponseMsg
492             GetAccountsByIdsResponse
493             GetAccountsResponse
494             GetCardInvoiceResponse
495             GetCreditCardInfoResponseMsg
496             GetCustomerResponse
497             GetCustomerResponseMsg
498             GetPaymentInstrumentResponse
499             OperationResult
500             ResponseMsg
501             UpdateCustomerResponse
502             UpdatePaymentInstrumentResponse
503             /);
504              
505             sub _complex_types {
506             return @_complex_types;
507             }
508              
509             our %_array_types = (
510             ArrayOfAdCenterAccount => {
511             namespace_uri => 'http://adcenter.microsoft.com/syncapis',
512             element_name => 'AdCenterAccount',
513             element_type => 'AdCenterAccount'
514             },
515             ArrayOfAdCenterCardBillingStatementEntry => {
516             namespace_uri => 'http://adcenter.microsoft.com/syncapis',
517             element_name => 'AdCenterCardBillingStatementEntry',
518             element_type => 'AdCenterCardBillingStatementEntry'
519             },
520             ArrayOfAdCenterCardInvoiceEntry => {
521             namespace_uri => 'http://adcenter.microsoft.com/syncapis',
522             element_name => 'AdCenterCardInvoiceEntry',
523             element_type => 'AdCenterCardInvoiceEntry'
524             },
525             ArrayOfAdCenterCreditCard => {
526             namespace_uri => 'http://adcenter.microsoft.com/syncapis',
527             element_name => 'AdCenterCreditCard',
528             element_type => 'AdCenterCreditCard'
529             },
530             ArrayOfErrorInfo => {
531             namespace_uri => 'http://adcenter.microsoft.com/syncapis',
532             element_name => 'ErrorInfo',
533             element_type => 'ErrorInfo'
534             },
535             ArrayOfInt => {
536             namespace_uri => 'http://adcenter.microsoft.com/syncapis',
537             element_name => 'int',
538             element_type => 'int'
539             },
540             ArrayOfString => {
541             namespace_uri => 'http://adcenter.microsoft.com/syncapis',
542             element_name => 'string',
543             element_type => 'string'
544             },
545             );
546              
547             sub _array_types {
548             return %_array_types;
549             }
550              
551             __PACKAGE__->mk_accessors(qw/
552             Password
553             UserAccessKey
554             UserName
555             /);
556              
557             1;