File Coverage

blib/lib/Microsoft/AdCenter/V8/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::V8::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 56     56   6989247 use strict;
  56         149  
  56         2230  
7 56     56   333 use warnings;
  56         128  
  56         2761  
8              
9             =head1 NAME
10              
11             Microsoft::AdCenter::V8::CustomerManagementService - Service client for Microsoft AdCenter Customer Management Service.
12              
13             =head1 SYNOPSIS
14              
15             use Microsoft::AdCenter::V8::CustomerManagementService;
16              
17             my $service_client = Microsoft::AdCenter::V8::CustomerManagementService->new
18             ->ApplicationToken("application token")
19             ->DeveloperToken("developer token")
20             ->Password("password")
21             ->UserName("user name");
22              
23             my $response = $service_client->AcceptRequestToManageAccounts(
24             ManageAccountsRequestId => ...
25             PaymentMethodId => ...
26             );
27              
28             See L for detailed documentation for this service.
29              
30             =head1 METHODS
31              
32             =head2 EndPoint
33              
34             Changes the end point for this service client.
35              
36             Default value: https://sharedservices.adcenterapi.microsoft.com/Api/CustomerManagement/v8/CustomerManagementService.svc
37              
38             =head2 ApplicationToken
39              
40             Gets/sets ApplicationToken (string) in the request header
41              
42             =head2 DeveloperToken
43              
44             Gets/sets DeveloperToken (string) in the request header
45              
46             =head2 Password
47              
48             Gets/sets Password (string) in the request header
49              
50             =head2 UserName
51              
52             Gets/sets UserName (string) in the request header
53              
54             =head2 TrackingId
55              
56             Gets TrackingId (string) in the response header
57              
58             =cut
59              
60 56     56   322 use base qw/Microsoft::AdCenter::Service/;
  56         115  
  56         40088  
61              
62             sub _service_name {
63             return 'CustomerManagementService';
64             }
65              
66             sub _service_version {
67             return 'V8';
68             }
69              
70             sub _class_name {
71             return 'CustomerManagementService';
72             }
73              
74             sub _namespace_uri {
75             return 'https://adcenter.microsoft.com/api/customermanagement';
76             }
77              
78             sub _default_location {
79             return 'https://sharedservices.adcenterapi.microsoft.com/Api/CustomerManagement/v8/CustomerManagementService.svc';
80             }
81              
82             sub _wsdl {
83             return 'https://sharedservices.adcenterapi.microsoft.com/Api/CustomerManagement/v8/CustomerManagementService.svc?wsdl';
84             }
85              
86             our $_request_headers = [
87             { name => 'ApplicationToken', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
88             { name => 'DeveloperToken', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
89             { name => 'Password', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
90             { name => 'UserName', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
91             ];
92              
93             our $_request_headers_expanded = {
94             ApplicationToken => 'string',
95             DeveloperToken => 'string',
96             Password => 'string',
97             UserName => 'string'
98             };
99              
100             sub _request_headers {
101             return $_request_headers;
102             }
103              
104             sub _request_headers_expanded {
105             return $_request_headers_expanded;
106             }
107              
108             our $_response_headers = [
109             { name => 'TrackingId', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
110             ];
111              
112             our $_response_headers_expanded = {
113             TrackingId => 'string'
114             };
115              
116             sub _response_headers {
117             return $_response_headers;
118             }
119              
120             sub _response_headers_expanded {
121             return $_response_headers_expanded;
122             }
123              
124             =head2 AcceptRequestToManageAccounts
125              
126             =over
127              
128             =item Parameters:
129              
130             ManageAccountsRequestId (long)
131             PaymentMethodId (long)
132              
133             =item Returns:
134              
135             AcceptRequestToManageAccountsResponse
136              
137             =back
138              
139             =cut
140              
141             sub AcceptRequestToManageAccounts {
142             my ($self, %args) = @_;
143             return $self->_invoke(
144             soap_action => 'AcceptRequestToManageAccounts',
145             request => {
146             name => 'AcceptRequestToManageAccountsRequest',
147             parameters => [
148             { name => 'ManageAccountsRequestId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
149             { name => 'PaymentMethodId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
150             ]
151             },
152             response => {
153             name => 'AcceptRequestToManageAccountsResponse'
154             },
155             parameters => \%args
156             );
157             }
158              
159             =head2 AddAccount
160              
161             =over
162              
163             =item Parameters:
164              
165             Account (Account)
166              
167             =item Returns:
168              
169             AddAccountResponse
170              
171             =back
172              
173             =cut
174              
175             sub AddAccount {
176             my ($self, %args) = @_;
177             return $self->_invoke(
178             soap_action => 'AddAccount',
179             request => {
180             name => 'AddAccountRequest',
181             parameters => [
182             { name => 'Account', type => 'Account', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
183             ]
184             },
185             response => {
186             name => 'AddAccountResponse'
187             },
188             parameters => \%args
189             );
190             }
191              
192             =head2 AddPrepayAccount
193              
194             =over
195              
196             =item Parameters:
197              
198             Account (Account)
199              
200             =item Returns:
201              
202             AddPrepayAccountResponse
203              
204             =back
205              
206             =cut
207              
208             sub AddPrepayAccount {
209             my ($self, %args) = @_;
210             return $self->_invoke(
211             soap_action => 'AddPrepayAccount',
212             request => {
213             name => 'AddPrepayAccountRequest',
214             parameters => [
215             { name => 'Account', type => 'Account', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
216             ]
217             },
218             response => {
219             name => 'AddPrepayAccountResponse'
220             },
221             parameters => \%args
222             );
223             }
224              
225             =head2 AddUser
226              
227             =over
228              
229             =item Parameters:
230              
231             User (User)
232             Role (UserRole)
233             AccountIds (ArrayOflong)
234              
235             =item Returns:
236              
237             AddUserResponse
238              
239             =back
240              
241             =cut
242              
243             sub AddUser {
244             my ($self, %args) = @_;
245             return $self->_invoke(
246             soap_action => 'AddUser',
247             request => {
248             name => 'AddUserRequest',
249             parameters => [
250             { name => 'User', type => 'User', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
251             { name => 'Role', type => 'UserRole', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
252             { name => 'AccountIds', type => 'ArrayOflong', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
253             ]
254             },
255             response => {
256             name => 'AddUserResponse'
257             },
258             parameters => \%args
259             );
260             }
261              
262             =head2 CancelRequestToManageAccounts
263              
264             =over
265              
266             =item Parameters:
267              
268             ManageAccountsRequestId (long)
269              
270             =item Returns:
271              
272             CancelRequestToManageAccountsResponse
273              
274             =back
275              
276             =cut
277              
278             sub CancelRequestToManageAccounts {
279             my ($self, %args) = @_;
280             return $self->_invoke(
281             soap_action => 'CancelRequestToManageAccounts',
282             request => {
283             name => 'CancelRequestToManageAccountsRequest',
284             parameters => [
285             { name => 'ManageAccountsRequestId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
286             ]
287             },
288             response => {
289             name => 'CancelRequestToManageAccountsResponse'
290             },
291             parameters => \%args
292             );
293             }
294              
295             =head2 DeclineRequestToManageAccounts
296              
297             =over
298              
299             =item Parameters:
300              
301             ManageAccountsRequestId (long)
302              
303             =item Returns:
304              
305             DeclineRequestToManageAccountsResponse
306              
307             =back
308              
309             =cut
310              
311             sub DeclineRequestToManageAccounts {
312             my ($self, %args) = @_;
313             return $self->_invoke(
314             soap_action => 'DeclineRequestToManageAccounts',
315             request => {
316             name => 'DeclineRequestToManageAccountsRequest',
317             parameters => [
318             { name => 'ManageAccountsRequestId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
319             ]
320             },
321             response => {
322             name => 'DeclineRequestToManageAccountsResponse'
323             },
324             parameters => \%args
325             );
326             }
327              
328             =head2 DeleteAccount
329              
330             =over
331              
332             =item Parameters:
333              
334             AccountId (long)
335             TimeStamp (base64Binary)
336              
337             =item Returns:
338              
339             DeleteAccountResponse
340              
341             =back
342              
343             =cut
344              
345             sub DeleteAccount {
346             my ($self, %args) = @_;
347             return $self->_invoke(
348             soap_action => 'DeleteAccount',
349             request => {
350             name => 'DeleteAccountRequest',
351             parameters => [
352             { name => 'AccountId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
353             { name => 'TimeStamp', type => 'base64Binary', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
354             ]
355             },
356             response => {
357             name => 'DeleteAccountResponse'
358             },
359             parameters => \%args
360             );
361             }
362              
363             =head2 DeleteCustomer
364              
365             =over
366              
367             =item Parameters:
368              
369             CustomerId (long)
370             TimeStamp (base64Binary)
371              
372             =item Returns:
373              
374             DeleteCustomerResponse
375              
376             =back
377              
378             =cut
379              
380             sub DeleteCustomer {
381             my ($self, %args) = @_;
382             return $self->_invoke(
383             soap_action => 'DeleteCustomer',
384             request => {
385             name => 'DeleteCustomerRequest',
386             parameters => [
387             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
388             { name => 'TimeStamp', type => 'base64Binary', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
389             ]
390             },
391             response => {
392             name => 'DeleteCustomerResponse'
393             },
394             parameters => \%args
395             );
396             }
397              
398             =head2 DeleteUser
399              
400             =over
401              
402             =item Parameters:
403              
404             UserId (long)
405             TimeStamp (base64Binary)
406              
407             =item Returns:
408              
409             DeleteUserResponse
410              
411             =back
412              
413             =cut
414              
415             sub DeleteUser {
416             my ($self, %args) = @_;
417             return $self->_invoke(
418             soap_action => 'DeleteUser',
419             request => {
420             name => 'DeleteUserRequest',
421             parameters => [
422             { name => 'UserId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
423             { name => 'TimeStamp', type => 'base64Binary', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
424             ]
425             },
426             response => {
427             name => 'DeleteUserResponse'
428             },
429             parameters => \%args
430             );
431             }
432              
433             =head2 FindAccounts
434              
435             =over
436              
437             =item Parameters:
438              
439             CustomerId (long)
440             AccountFilter (string)
441             TopN (int)
442             ApplicationScope (ApplicationType)
443              
444             =item Returns:
445              
446             FindAccountsResponse
447              
448             =back
449              
450             =cut
451              
452             sub FindAccounts {
453             my ($self, %args) = @_;
454             return $self->_invoke(
455             soap_action => 'FindAccounts',
456             request => {
457             name => 'FindAccountsRequest',
458             parameters => [
459             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
460             { name => 'AccountFilter', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
461             { name => 'TopN', type => 'int', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
462             { name => 'ApplicationScope', type => 'ApplicationType', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
463             ]
464             },
465             response => {
466             name => 'FindAccountsResponse'
467             },
468             parameters => \%args
469             );
470             }
471              
472             =head2 FindAccountsOrCustomersInfo
473              
474             =over
475              
476             =item Parameters:
477              
478             Filter (string)
479             TopN (int)
480             ApplicationScope (ApplicationType)
481              
482             =item Returns:
483              
484             FindAccountsOrCustomersInfoResponse
485              
486             =back
487              
488             =cut
489              
490             sub FindAccountsOrCustomersInfo {
491             my ($self, %args) = @_;
492             return $self->_invoke(
493             soap_action => 'FindAccountsOrCustomersInfo',
494             request => {
495             name => 'FindAccountsOrCustomersInfoRequest',
496             parameters => [
497             { name => 'Filter', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
498             { name => 'TopN', type => 'int', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
499             { name => 'ApplicationScope', type => 'ApplicationType', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
500             ]
501             },
502             response => {
503             name => 'FindAccountsOrCustomersInfoResponse'
504             },
505             parameters => \%args
506             );
507             }
508              
509             =head2 GetAccessibleCustomer
510              
511             =over
512              
513             =item Parameters:
514              
515             CustomerId (long)
516              
517             =item Returns:
518              
519             GetAccessibleCustomerResponse
520              
521             =back
522              
523             =cut
524              
525             sub GetAccessibleCustomer {
526             my ($self, %args) = @_;
527             return $self->_invoke(
528             soap_action => 'GetAccessibleCustomer',
529             request => {
530             name => 'GetAccessibleCustomerRequest',
531             parameters => [
532             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
533             ]
534             },
535             response => {
536             name => 'GetAccessibleCustomerResponse'
537             },
538             parameters => \%args
539             );
540             }
541              
542             =head2 GetAccount
543              
544             =over
545              
546             =item Parameters:
547              
548             AccountId (long)
549              
550             =item Returns:
551              
552             GetAccountResponse
553              
554             =back
555              
556             =cut
557              
558             sub GetAccount {
559             my ($self, %args) = @_;
560             return $self->_invoke(
561             soap_action => 'GetAccount',
562             request => {
563             name => 'GetAccountRequest',
564             parameters => [
565             { name => 'AccountId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
566             ]
567             },
568             response => {
569             name => 'GetAccountResponse'
570             },
571             parameters => \%args
572             );
573             }
574              
575             =head2 GetAccountsInfo
576              
577             =over
578              
579             =item Parameters:
580              
581             CustomerId (long)
582             OnlyParentAccounts (boolean)
583              
584             =item Returns:
585              
586             GetAccountsInfoResponse
587              
588             =back
589              
590             =cut
591              
592             sub GetAccountsInfo {
593             my ($self, %args) = @_;
594             return $self->_invoke(
595             soap_action => 'GetAccountsInfo',
596             request => {
597             name => 'GetAccountsInfoRequest',
598             parameters => [
599             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
600             { name => 'OnlyParentAccounts', type => 'boolean', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
601             ]
602             },
603             response => {
604             name => 'GetAccountsInfoResponse'
605             },
606             parameters => \%args
607             );
608             }
609              
610             =head2 GetCurrentUser
611              
612             =over
613              
614             =item Parameters:
615              
616              
617             =item Returns:
618              
619             GetCurrentUserResponse
620              
621             =back
622              
623             =cut
624              
625             sub GetCurrentUser {
626             my ($self, %args) = @_;
627             return $self->_invoke(
628             soap_action => 'GetCurrentUser',
629             request => {
630             name => 'GetCurrentUserRequest',
631             parameters => [
632             ]
633             },
634             response => {
635             name => 'GetCurrentUserResponse'
636             },
637             parameters => \%args
638             );
639             }
640              
641             =head2 GetCustomer
642              
643             =over
644              
645             =item Parameters:
646              
647             CustomerId (long)
648              
649             =item Returns:
650              
651             GetCustomerResponse
652              
653             =back
654              
655             =cut
656              
657             sub GetCustomer {
658             my ($self, %args) = @_;
659             return $self->_invoke(
660             soap_action => 'GetCustomer',
661             request => {
662             name => 'GetCustomerRequest',
663             parameters => [
664             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
665             ]
666             },
667             response => {
668             name => 'GetCustomerResponse'
669             },
670             parameters => \%args
671             );
672             }
673              
674             =head2 GetCustomerPilotFeature
675              
676             =over
677              
678             =item Parameters:
679              
680             CustomerId (long)
681              
682             =item Returns:
683              
684             GetCustomerPilotFeatureResponse
685              
686             =back
687              
688             =cut
689              
690             sub GetCustomerPilotFeature {
691             my ($self, %args) = @_;
692             return $self->_invoke(
693             soap_action => 'GetCustomerPilotFeature',
694             request => {
695             name => 'GetCustomerPilotFeatureRequest',
696             parameters => [
697             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
698             ]
699             },
700             response => {
701             name => 'GetCustomerPilotFeatureResponse'
702             },
703             parameters => \%args
704             );
705             }
706              
707             =head2 GetCustomersInfo
708              
709             =over
710              
711             =item Parameters:
712              
713             CustomerNameFilter (string)
714             TopN (int)
715             ApplicationScope (ApplicationType)
716              
717             =item Returns:
718              
719             GetCustomersInfoResponse
720              
721             =back
722              
723             =cut
724              
725             sub GetCustomersInfo {
726             my ($self, %args) = @_;
727             return $self->_invoke(
728             soap_action => 'GetCustomersInfo',
729             request => {
730             name => 'GetCustomersInfoRequest',
731             parameters => [
732             { name => 'CustomerNameFilter', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
733             { name => 'TopN', type => 'int', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
734             { name => 'ApplicationScope', type => 'ApplicationType', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
735             ]
736             },
737             response => {
738             name => 'GetCustomersInfoResponse'
739             },
740             parameters => \%args
741             );
742             }
743              
744             =head2 GetPilotFeaturesCountries
745              
746             =over
747              
748             =item Parameters:
749              
750              
751             =item Returns:
752              
753             GetPilotFeaturesCountriesResponse
754              
755             =back
756              
757             =cut
758              
759             sub GetPilotFeaturesCountries {
760             my ($self, %args) = @_;
761             return $self->_invoke(
762             soap_action => 'GetPilotFeaturesCountries',
763             request => {
764             name => 'GetPilotFeaturesCountriesRequest',
765             parameters => [
766             ]
767             },
768             response => {
769             name => 'GetPilotFeaturesCountriesResponse'
770             },
771             parameters => \%args
772             );
773             }
774              
775             =head2 GetRequestToManageAccounts
776              
777             =over
778              
779             =item Parameters:
780              
781             ManageAccountsRequestId (long)
782              
783             =item Returns:
784              
785             GetRequestToManageAccountsResponse
786              
787             =back
788              
789             =cut
790              
791             sub GetRequestToManageAccounts {
792             my ($self, %args) = @_;
793             return $self->_invoke(
794             soap_action => 'GetRequestToManageAccounts',
795             request => {
796             name => 'GetRequestToManageAccountsRequest',
797             parameters => [
798             { name => 'ManageAccountsRequestId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
799             ]
800             },
801             response => {
802             name => 'GetRequestToManageAccountsResponse'
803             },
804             parameters => \%args
805             );
806             }
807              
808             =head2 GetRequestToManageAccountsInfos
809              
810             =over
811              
812             =item Parameters:
813              
814             AccountNumber (string)
815             CustomerNumber (string)
816             RequestsSentAfter (dateTime)
817             RequestsSentBefore (dateTime)
818             RequestStatusFilter (ArrayOfManageAccountsRequestStatus)
819             RequestTypeFilter (ArrayOfManageAccountsRequestType)
820              
821             =item Returns:
822              
823             GetRequestToManageAccountsInfosResponse
824              
825             =back
826              
827             =cut
828              
829             sub GetRequestToManageAccountsInfos {
830             my ($self, %args) = @_;
831             return $self->_invoke(
832             soap_action => 'GetRequestToManageAccountsInfos',
833             request => {
834             name => 'GetRequestToManageAccountsInfosRequest',
835             parameters => [
836             { name => 'AccountNumber', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
837             { name => 'CustomerNumber', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
838             { name => 'RequestsSentAfter', type => 'dateTime', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
839             { name => 'RequestsSentBefore', type => 'dateTime', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
840             { name => 'RequestStatusFilter', type => 'ArrayOfManageAccountsRequestStatus', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
841             { name => 'RequestTypeFilter', type => 'ArrayOfManageAccountsRequestType', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
842             ]
843             },
844             response => {
845             name => 'GetRequestToManageAccountsInfosResponse'
846             },
847             parameters => \%args
848             );
849             }
850              
851             =head2 GetUser
852              
853             =over
854              
855             =item Parameters:
856              
857             UserId (long)
858              
859             =item Returns:
860              
861             GetUserResponse
862              
863             =back
864              
865             =cut
866              
867             sub GetUser {
868             my ($self, %args) = @_;
869             return $self->_invoke(
870             soap_action => 'GetUser',
871             request => {
872             name => 'GetUserRequest',
873             parameters => [
874             { name => 'UserId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
875             ]
876             },
877             response => {
878             name => 'GetUserResponse'
879             },
880             parameters => \%args
881             );
882             }
883              
884             =head2 GetUsersInfo
885              
886             =over
887              
888             =item Parameters:
889              
890             CustomerId (long)
891             StatusFilter (UserLifeCycleStatus)
892              
893             =item Returns:
894              
895             GetUsersInfoResponse
896              
897             =back
898              
899             =cut
900              
901             sub GetUsersInfo {
902             my ($self, %args) = @_;
903             return $self->_invoke(
904             soap_action => 'GetUsersInfo',
905             request => {
906             name => 'GetUsersInfoRequest',
907             parameters => [
908             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
909             { name => 'StatusFilter', type => 'UserLifeCycleStatus', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
910             ]
911             },
912             response => {
913             name => 'GetUsersInfoResponse'
914             },
915             parameters => \%args
916             );
917             }
918              
919             =head2 MapAccountIdToExternalAccountIds
920              
921             =over
922              
923             =item Parameters:
924              
925             AccountId (long)
926             ExternalAccountIds (ArrayOfstring)
927              
928             =item Returns:
929              
930             MapAccountIdToExternalAccountIdsResponse
931              
932             =back
933              
934             =cut
935              
936             sub MapAccountIdToExternalAccountIds {
937             my ($self, %args) = @_;
938             return $self->_invoke(
939             soap_action => 'MapAccountIdToExternalAccountIds',
940             request => {
941             name => 'MapAccountIdToExternalAccountIdsRequest',
942             parameters => [
943             { name => 'AccountId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
944             { name => 'ExternalAccountIds', type => 'ArrayOfstring', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
945             ]
946             },
947             response => {
948             name => 'MapAccountIdToExternalAccountIdsResponse'
949             },
950             parameters => \%args
951             );
952             }
953              
954             =head2 MapCustomerIdToExternalCustomerId
955              
956             =over
957              
958             =item Parameters:
959              
960             CustomerId (long)
961             ExternalCustomerId (string)
962              
963             =item Returns:
964              
965             MapCustomerIdToExternalCustomerIdResponse
966              
967             =back
968              
969             =cut
970              
971             sub MapCustomerIdToExternalCustomerId {
972             my ($self, %args) = @_;
973             return $self->_invoke(
974             soap_action => 'MapCustomerIdToExternalCustomerId',
975             request => {
976             name => 'MapCustomerIdToExternalCustomerIdRequest',
977             parameters => [
978             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
979             { name => 'ExternalCustomerId', type => 'string', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
980             ]
981             },
982             response => {
983             name => 'MapCustomerIdToExternalCustomerIdResponse'
984             },
985             parameters => \%args
986             );
987             }
988              
989             =head2 SendRequestToManageAccounts
990              
991             =over
992              
993             =item Parameters:
994              
995             ManageAccountsRequest (ManageAccountsRequest)
996              
997             =item Returns:
998              
999             SendRequestToManageAccountsResponse
1000              
1001             =back
1002              
1003             =cut
1004              
1005             sub SendRequestToManageAccounts {
1006             my ($self, %args) = @_;
1007             return $self->_invoke(
1008             soap_action => 'SendRequestToManageAccounts',
1009             request => {
1010             name => 'SendRequestToManageAccountsRequest',
1011             parameters => [
1012             { name => 'ManageAccountsRequest', type => 'ManageAccountsRequest', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
1013             ]
1014             },
1015             response => {
1016             name => 'SendRequestToManageAccountsResponse'
1017             },
1018             parameters => \%args
1019             );
1020             }
1021              
1022             =head2 SendRequestToStopManagingAccounts
1023              
1024             =over
1025              
1026             =item Parameters:
1027              
1028             ManageAccountsRequest (ManageAccountsRequest)
1029              
1030             =item Returns:
1031              
1032             SendRequestToStopManagingAccountsResponse
1033              
1034             =back
1035              
1036             =cut
1037              
1038             sub SendRequestToStopManagingAccounts {
1039             my ($self, %args) = @_;
1040             return $self->_invoke(
1041             soap_action => 'SendRequestToStopManagingAccounts',
1042             request => {
1043             name => 'SendRequestToStopManagingAccountsRequest',
1044             parameters => [
1045             { name => 'ManageAccountsRequest', type => 'ManageAccountsRequest', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
1046             ]
1047             },
1048             response => {
1049             name => 'SendRequestToStopManagingAccountsResponse'
1050             },
1051             parameters => \%args
1052             );
1053             }
1054              
1055             =head2 SignupCustomer
1056              
1057             =over
1058              
1059             =item Parameters:
1060              
1061             Customer (Customer)
1062             User (User)
1063             Account (Account)
1064             ParentCustomerId (long)
1065             ApplicationScope (ApplicationType)
1066              
1067             =item Returns:
1068              
1069             SignupCustomerResponse
1070              
1071             =back
1072              
1073             =cut
1074              
1075             sub SignupCustomer {
1076             my ($self, %args) = @_;
1077             return $self->_invoke(
1078             soap_action => 'SignupCustomer',
1079             request => {
1080             name => 'SignupCustomerRequest',
1081             parameters => [
1082             { name => 'Customer', type => 'Customer', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1083             { name => 'User', type => 'User', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1084             { name => 'Account', type => 'Account', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1085             { name => 'ParentCustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1086             { name => 'ApplicationScope', type => 'ApplicationType', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
1087             ]
1088             },
1089             response => {
1090             name => 'SignupCustomerResponse'
1091             },
1092             parameters => \%args
1093             );
1094             }
1095              
1096             =head2 UpdateAccount
1097              
1098             =over
1099              
1100             =item Parameters:
1101              
1102             Account (Account)
1103              
1104             =item Returns:
1105              
1106             UpdateAccountResponse
1107              
1108             =back
1109              
1110             =cut
1111              
1112             sub UpdateAccount {
1113             my ($self, %args) = @_;
1114             return $self->_invoke(
1115             soap_action => 'UpdateAccount',
1116             request => {
1117             name => 'UpdateAccountRequest',
1118             parameters => [
1119             { name => 'Account', type => 'Account', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
1120             ]
1121             },
1122             response => {
1123             name => 'UpdateAccountResponse'
1124             },
1125             parameters => \%args
1126             );
1127             }
1128              
1129             =head2 UpdateCustomer
1130              
1131             =over
1132              
1133             =item Parameters:
1134              
1135             Customer (Customer)
1136              
1137             =item Returns:
1138              
1139             UpdateCustomerResponse
1140              
1141             =back
1142              
1143             =cut
1144              
1145             sub UpdateCustomer {
1146             my ($self, %args) = @_;
1147             return $self->_invoke(
1148             soap_action => 'UpdateCustomer',
1149             request => {
1150             name => 'UpdateCustomerRequest',
1151             parameters => [
1152             { name => 'Customer', type => 'Customer', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
1153             ]
1154             },
1155             response => {
1156             name => 'UpdateCustomerResponse'
1157             },
1158             parameters => \%args
1159             );
1160             }
1161              
1162             =head2 UpdatePrepayAccount
1163              
1164             =over
1165              
1166             =item Parameters:
1167              
1168             Account (Account)
1169              
1170             =item Returns:
1171              
1172             UpdatePrepayAccountResponse
1173              
1174             =back
1175              
1176             =cut
1177              
1178             sub UpdatePrepayAccount {
1179             my ($self, %args) = @_;
1180             return $self->_invoke(
1181             soap_action => 'UpdatePrepayAccount',
1182             request => {
1183             name => 'UpdatePrepayAccountRequest',
1184             parameters => [
1185             { name => 'Account', type => 'Account', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
1186             ]
1187             },
1188             response => {
1189             name => 'UpdatePrepayAccountResponse'
1190             },
1191             parameters => \%args
1192             );
1193             }
1194              
1195             =head2 UpdateUser
1196              
1197             =over
1198              
1199             =item Parameters:
1200              
1201             User (User)
1202              
1203             =item Returns:
1204              
1205             UpdateUserResponse
1206              
1207             =back
1208              
1209             =cut
1210              
1211             sub UpdateUser {
1212             my ($self, %args) = @_;
1213             return $self->_invoke(
1214             soap_action => 'UpdateUser',
1215             request => {
1216             name => 'UpdateUserRequest',
1217             parameters => [
1218             { name => 'User', type => 'User', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
1219             ]
1220             },
1221             response => {
1222             name => 'UpdateUserResponse'
1223             },
1224             parameters => \%args
1225             );
1226             }
1227              
1228             =head2 UpdateUserRoles
1229              
1230             =over
1231              
1232             =item Parameters:
1233              
1234             CustomerId (long)
1235             UserId (long)
1236             NewRoleId (int)
1237             NewAccountIds (ArrayOflong)
1238             NewCustomerIds (ArrayOflong)
1239             DeleteRoleId (int)
1240             DeleteAccountIds (ArrayOflong)
1241             DeleteCustomerIds (ArrayOflong)
1242              
1243             =item Returns:
1244              
1245             UpdateUserRolesResponse
1246              
1247             =back
1248              
1249             =cut
1250              
1251             sub UpdateUserRoles {
1252             my ($self, %args) = @_;
1253             return $self->_invoke(
1254             soap_action => 'UpdateUserRoles',
1255             request => {
1256             name => 'UpdateUserRolesRequest',
1257             parameters => [
1258             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1259             { name => 'UserId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1260             { name => 'NewRoleId', type => 'int', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1261             { name => 'NewAccountIds', type => 'ArrayOflong', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1262             { name => 'NewCustomerIds', type => 'ArrayOflong', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1263             { name => 'DeleteRoleId', type => 'int', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1264             { name => 'DeleteAccountIds', type => 'ArrayOflong', namespace => 'https://adcenter.microsoft.com/api/customermanagement' },
1265             { name => 'DeleteCustomerIds', type => 'ArrayOflong', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
1266             ]
1267             },
1268             response => {
1269             name => 'UpdateUserRolesResponse'
1270             },
1271             parameters => \%args
1272             );
1273             }
1274              
1275             =head2 UpgradeCustomerToAgency
1276              
1277             =over
1278              
1279             =item Parameters:
1280              
1281             CustomerId (long)
1282              
1283             =item Returns:
1284              
1285             UpgradeCustomerToAgencyResponse
1286              
1287             =back
1288              
1289             =cut
1290              
1291             sub UpgradeCustomerToAgency {
1292             my ($self, %args) = @_;
1293             return $self->_invoke(
1294             soap_action => 'UpgradeCustomerToAgency',
1295             request => {
1296             name => 'UpgradeCustomerToAgencyRequest',
1297             parameters => [
1298             { name => 'CustomerId', type => 'long', namespace => 'https://adcenter.microsoft.com/api/customermanagement' }
1299             ]
1300             },
1301             response => {
1302             name => 'UpgradeCustomerToAgencyResponse'
1303             },
1304             parameters => \%args
1305             );
1306             }
1307              
1308             our %_simple_types = (
1309             AccountFinancialStatus => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1310             AccountLifeCycleStatus => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1311             AccountType => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1312             ApplicationType => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1313             CurrencyType => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1314             CustomerFinancialStatus => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1315             CustomerLifeCycleStatus => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1316             EmailFormat => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1317             Industry => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1318             LCID => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1319             LanguageType => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1320             ManageAccountsRequestStatus => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1321             ManageAccountsRequestType => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1322             PaymentMethodType => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1323             SecretQuestion => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1324             ServiceLevel => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1325             TimeZoneType => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1326             UserLifeCycleStatus => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1327             UserRole => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1328             char => 'http://schemas.microsoft.com/2003/10/Serialization/',
1329             duration => 'http://schemas.microsoft.com/2003/10/Serialization/',
1330             guid => 'http://schemas.microsoft.com/2003/10/Serialization/',
1331             );
1332              
1333             sub _simple_types {
1334             return %_simple_types;
1335             }
1336              
1337             our @_complex_types = (qw/
1338             AcceptRequestToManageAccountsResponse
1339             Account
1340             AccountInfo
1341             AccountInfoWithCustomerData
1342             AdApiError
1343             AdApiFaultDetail
1344             AddAccountResponse
1345             AddPrepayAccountResponse
1346             AddUserResponse
1347             Address
1348             AdvertiserAccount
1349             ApiFault
1350             ApplicationFault
1351             CancelRequestToManageAccountsResponse
1352             ContactInfo
1353             Customer
1354             CustomerInfo
1355             Date
1356             DeclineRequestToManageAccountsResponse
1357             DeleteAccountResponse
1358             DeleteCustomerResponse
1359             DeleteUserResponse
1360             FindAccountsOrCustomersInfoResponse
1361             FindAccountsResponse
1362             GetAccessibleCustomerResponse
1363             GetAccountResponse
1364             GetAccountsInfoResponse
1365             GetCurrentUserResponse
1366             GetCustomerPilotFeatureResponse
1367             GetCustomerResponse
1368             GetCustomersInfoResponse
1369             GetPilotFeaturesCountriesResponse
1370             GetRequestToManageAccountsInfosResponse
1371             GetRequestToManageAccountsResponse
1372             GetUserResponse
1373             GetUsersInfoResponse
1374             ManageAccountsRequest
1375             ManageAccountsRequestInfo
1376             MapAccountIdToExternalAccountIdsResponse
1377             MapCustomerIdToExternalCustomerIdResponse
1378             OperationError
1379             PersonName
1380             PilotFeature
1381             PublisherAccount
1382             SendRequestToManageAccountsResponse
1383             SendRequestToStopManagingAccountsResponse
1384             SignupCustomerResponse
1385             UpdateAccountResponse
1386             UpdateCustomerResponse
1387             UpdatePrepayAccountResponse
1388             UpdateUserResponse
1389             UpdateUserRolesResponse
1390             UpgradeCustomerToAgencyResponse
1391             User
1392             UserInfo
1393             /);
1394              
1395             sub _complex_types {
1396             return @_complex_types;
1397             }
1398              
1399             our %_array_types = (
1400             ArrayOfAccountInfo => {
1401             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1402             element_name => 'AccountInfo',
1403             element_type => 'AccountInfo'
1404             },
1405             ArrayOfAccountInfoWithCustomerData => {
1406             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1407             element_name => 'AccountInfoWithCustomerData',
1408             element_type => 'AccountInfoWithCustomerData'
1409             },
1410             ArrayOfAdApiError => {
1411             namespace_uri => 'https://adapi.microsoft.com',
1412             element_name => 'AdApiError',
1413             element_type => 'AdApiError'
1414             },
1415             ArrayOfCustomerInfo => {
1416             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1417             element_name => 'CustomerInfo',
1418             element_type => 'CustomerInfo'
1419             },
1420             ArrayOfManageAccountsRequestInfo => {
1421             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1422             element_name => 'ManageAccountsRequestInfo',
1423             element_type => 'ManageAccountsRequestInfo'
1424             },
1425             ArrayOfManageAccountsRequestStatus => {
1426             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1427             element_name => 'ManageAccountsRequestStatus',
1428             element_type => 'ManageAccountsRequestStatus'
1429             },
1430             ArrayOfManageAccountsRequestType => {
1431             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1432             element_name => 'ManageAccountsRequestType',
1433             element_type => 'ManageAccountsRequestType'
1434             },
1435             ArrayOfOperationError => {
1436             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Exception',
1437             element_name => 'OperationError',
1438             element_type => 'OperationError'
1439             },
1440             ArrayOfPilotFeature => {
1441             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1442             element_name => 'PilotFeature',
1443             element_type => 'PilotFeature'
1444             },
1445             ArrayOfUserInfo => {
1446             namespace_uri => 'https://adcenter.microsoft.com/api/customermanagement/Entities',
1447             element_name => 'UserInfo',
1448             element_type => 'UserInfo'
1449             },
1450             ArrayOfint => {
1451             namespace_uri => 'http://schemas.microsoft.com/2003/10/Serialization/Arrays',
1452             element_name => 'int',
1453             element_type => 'int'
1454             },
1455             ArrayOflong => {
1456             namespace_uri => 'http://schemas.microsoft.com/2003/10/Serialization/Arrays',
1457             element_name => 'long',
1458             element_type => 'long'
1459             },
1460             ArrayOfstring => {
1461             namespace_uri => 'http://schemas.microsoft.com/2003/10/Serialization/Arrays',
1462             element_name => 'string',
1463             element_type => 'string'
1464             },
1465             );
1466              
1467             sub _array_types {
1468             return %_array_types;
1469             }
1470              
1471             __PACKAGE__->mk_accessors(qw/
1472             ApplicationToken
1473             DeveloperToken
1474             Password
1475             UserName
1476             TrackingId
1477             /);
1478              
1479             1;