SignupCustomer Service Operation - Customer Management

Creates a new customer and account.

Typically you must be a user with aggregator credentials to call this operation. In that case, the operation creates a new customer and account that roll up to your aggregator payment method. The AdvertiserAccount object must include the name of the account, the type of currency to use to settle the account, and the payment method identifier must be set to null. The operation generates an invoice account and sets the payment method identifier to the identifier associated with the aggregator's invoice. You are invoiced for all charges incurred by the customers that you manage.

Note

Agency customers in the Create Accounts on Behalf of Client pilot (GetCustomerPilotFeatures returns 793) can sign up a new customer on behalf of a client and optionally link to the new account as an agency. In this case a UserInvitation is sent and the client must complete sign up steps via the Microsoft Advertising UI such as accept the terms and conditions.

Note

Customers in the closed Unified smart campaigns pilot can sign up a new customer with an account for Unified smart campaigns. Optionally they can link to the new account as an agency. The super admin is provisioned by either setting the UserId or UserInvitation element.

Note

Customers in the seamlessly set up client account and PI pilot can sign up a new customer with an account and create an admin user simultaneously. The admin user is provisioned by setting the User element. And the customer must complete sign up steps via the Microsoft Advertising UI on the Microsoft Advertising activating customer page.

Request Elements

The SignupCustomerRequest object defines the body and header elements of the service operation request. The elements must be in the same order as shown in the Request SOAP.

Note

Unless otherwise noted below, all request elements are required.

Request Body Elements

Element Description Data Type
Account An AdvertiserAccount that specifies the details of the customer's primary account.

Customers in the closed Unified smart campaigns pilot must set the AccountMode element to "UnifiedSmart".
AdvertiserAccount
Customer A Customer that specifies the details of the customer that you are adding. Customer
ParentCustomerId The customer identifier of the aggregator or agency that will manage the new child customer.

This element is required for aggregators but ignored for agencies when the UserInvitation request element is set. Customers in the closed Unified smart campaigns pilot can link the new customer to the parent agency ID or leave this element empty.
long
User The user to create. You can fulfill this element if you want to sign up a new customer and create a new admin user simultaneously.

After the new customer is signed up, the newly created admin user must complete sign up steps via the Microsoft Advertising UI on the Microsoft Advertising activating customer page. The URL is https://ads.microsoft.com/ActivateCustomer?cid={new_customer_Id}&aid={new_account_Id} where new_customer_Id and new_account_Id are the IDs you get in the SignupCustomerResponse.

The AuthenticationToken in the User element is the OAuth access token that represents the credentials of the new admin user who will be created during signup.

Customers in the seamlessly set up client account and PI pilot must set one or more of the UserId or UserInvitation or User.

The required fields in the User object are ContactInfo.Email, Name.FirstName, Name.LastName and AuthenticationToken.
User
UserId The identifier of an existing user who will be added as Super Admin in the new customer.

This element is only available for customers in the closed Unified smart campaigns pilot. One or more of the UserId or UserInvitation element must be set.
long
UserInvitation The user invitation to send if you want to sign up a new customer on behalf of a client and optionally link to the new account as an agency.

A client Super Admin user must complete sign up steps via the Microsoft Advertising UI such as accept the terms and conditions.

This element is optional for agency customers in the Create Accounts on Behalf of Client pilot.

Customers in the closed Unified smart campaigns pilot must set one or more of the UserId or UserInvitation element.
UserInvitation

Request Header Elements

Element Description Data Type
AuthenticationToken The OAuth access token that represents the credentials of a user who has permissions to Microsoft Advertising accounts.

For more information see Authentication with OAuth.
string
DeveloperToken The developer token used to access the Bing Ads API.

For more information see Get a Developer Token.
string
Password This element is reserved for internal use and will be removed from a future version of the API. You must use the AuthenticationToken element to set user credentials. string
UserName This element is reserved for internal use and will be removed from a future version of the API. You must use the AuthenticationToken element to set user credentials. string

Response Elements

The SignupCustomerResponse object defines the body and header elements of the service operation response. The elements are returned in the same order as shown in the Response SOAP.

Response Body Elements

Element Description Data Type
AccountId A system-generated account identifier corresponding to the new account specified in the request.

Use this identifier with operation requests that require an AccountId body element and a CustomerAccountId SOAP header element.
long
AccountNumber The system-generated account number that is used to identify the account in the Microsoft Advertising web application.

The account number has the form xxxxxxxx, where xxxxxxxx is a series of any eight alphanumeric characters.
string
CreateTime The date and time that the account was added. The date and time value reflects the date and time at the server, not the client. For information about the format of the date and time, see the dateTime entry in Primitive XML Data Types. dateTime
CustomerId A system-generated customer identifier corresponding to the new customer specified in the request.

Use this identifier with operation requests that require a CustomerId SOAP header element.
long
CustomerNumber A system-generated customer number that is used in the Microsoft Advertising web application.

The customer number has the form xxxxxxxxxx, where xxxxxxxxxx is a series of any ten alphanumeric characters.
string

Response Header Elements

Element Description Data Type
TrackingId The identifier of the log entry that contains the details of the API call. string

Request SOAP

This template was generated by a tool to show the order of the body and header elements for the SOAP request. For supported types that you can use with this service operation, see the Request Body Elements reference above.

<s:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header xmlns="https://bingads.microsoft.com/Customer/v13">
    <Action mustUnderstand="1">SignupCustomer</Action>
    <AuthenticationToken i:nil="false">ValueHere</AuthenticationToken>
    <DeveloperToken i:nil="false">ValueHere</DeveloperToken>
  </s:Header>
  <s:Body>
    <SignupCustomerRequest xmlns="https://bingads.microsoft.com/Customer/v13">
      <Customer xmlns:e264="https://bingads.microsoft.com/Customer/v13/Entities" i:nil="false">
        <e264:CustomerFinancialStatus i:nil="false">ValueHere</e264:CustomerFinancialStatus>
        <e264:Id i:nil="false">ValueHere</e264:Id>
        <e264:Industry i:nil="false">ValueHere</e264:Industry>
        <e264:LastModifiedByUserId i:nil="false">ValueHere</e264:LastModifiedByUserId>
        <e264:LastModifiedTime i:nil="false">ValueHere</e264:LastModifiedTime>
        <e264:MarketCountry i:nil="false">ValueHere</e264:MarketCountry>
        <e264:ForwardCompatibilityMap xmlns:e265="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
          <e265:KeyValuePairOfstringstring>
            <e265:key i:nil="false">ValueHere</e265:key>
            <e265:value i:nil="false">ValueHere</e265:value>
          </e265:KeyValuePairOfstringstring>
        </e264:ForwardCompatibilityMap>
        <e264:MarketLanguage i:nil="false">ValueHere</e264:MarketLanguage>
        <e264:Name i:nil="false">ValueHere</e264:Name>
        <e264:ServiceLevel i:nil="false">ValueHere</e264:ServiceLevel>
        <e264:CustomerLifeCycleStatus i:nil="false">ValueHere</e264:CustomerLifeCycleStatus>
        <e264:TimeStamp i:nil="false">ValueHere</e264:TimeStamp>
        <e264:Number i:nil="false">ValueHere</e264:Number>
        <e264:CustomerAddress i:nil="false">
          <e264:City i:nil="false">ValueHere</e264:City>
          <e264:CountryCode i:nil="false">ValueHere</e264:CountryCode>
          <e264:Id i:nil="false">ValueHere</e264:Id>
          <e264:Line1 i:nil="false">ValueHere</e264:Line1>
          <e264:Line2 i:nil="false">ValueHere</e264:Line2>
          <e264:Line3 i:nil="false">ValueHere</e264:Line3>
          <e264:Line4 i:nil="false">ValueHere</e264:Line4>
          <e264:PostalCode i:nil="false">ValueHere</e264:PostalCode>
          <e264:StateOrProvince i:nil="false">ValueHere</e264:StateOrProvince>
          <e264:TimeStamp i:nil="false">ValueHere</e264:TimeStamp>
          <e264:BusinessName i:nil="false">ValueHere</e264:BusinessName>
        </e264:CustomerAddress>
      </Customer>
      <Account xmlns:e266="https://bingads.microsoft.com/Customer/v13/Entities" i:nil="false">
        <e266:BillToCustomerId i:nil="false">ValueHere</e266:BillToCustomerId>
        <e266:CurrencyCode i:nil="false">ValueHere</e266:CurrencyCode>
        <e266:AccountFinancialStatus i:nil="false">ValueHere</e266:AccountFinancialStatus>
        <e266:Id i:nil="false">ValueHere</e266:Id>
        <e266:Language i:nil="false">ValueHere</e266:Language>
        <e266:LastModifiedByUserId i:nil="false">ValueHere</e266:LastModifiedByUserId>
        <e266:LastModifiedTime i:nil="false">ValueHere</e266:LastModifiedTime>
        <e266:Name i:nil="false">ValueHere</e266:Name>
        <e266:Number i:nil="false">ValueHere</e266:Number>
        <e266:ParentCustomerId>ValueHere</e266:ParentCustomerId>
        <e266:PaymentMethodId i:nil="false">ValueHere</e266:PaymentMethodId>
        <e266:PaymentMethodType i:nil="false">ValueHere</e266:PaymentMethodType>
        <e266:PrimaryUserId i:nil="false">ValueHere</e266:PrimaryUserId>
        <e266:AccountLifeCycleStatus i:nil="false">ValueHere</e266:AccountLifeCycleStatus>
        <e266:TimeStamp i:nil="false">ValueHere</e266:TimeStamp>
        <e266:TimeZone i:nil="false">ValueHere</e266:TimeZone>
        <e266:PauseReason i:nil="false">ValueHere</e266:PauseReason>
        <e266:ForwardCompatibilityMap xmlns:e267="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
          <e267:KeyValuePairOfstringstring>
            <e267:key i:nil="false">ValueHere</e267:key>
            <e267:value i:nil="false">ValueHere</e267:value>
          </e267:KeyValuePairOfstringstring>
        </e266:ForwardCompatibilityMap>
        <e266:LinkedAgencies i:nil="false">
          <e266:CustomerInfo>
            <e266:Id i:nil="false">ValueHere</e266:Id>
            <e266:Name i:nil="false">ValueHere</e266:Name>
          </e266:CustomerInfo>
        </e266:LinkedAgencies>
        <e266:SalesHouseCustomerId i:nil="false">ValueHere</e266:SalesHouseCustomerId>
        <e266:TaxInformation xmlns:e268="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
          <e268:KeyValuePairOfstringstring>
            <e268:key i:nil="false">ValueHere</e268:key>
            <e268:value i:nil="false">ValueHere</e268:value>
          </e268:KeyValuePairOfstringstring>
        </e266:TaxInformation>
        <e266:BackUpPaymentInstrumentId i:nil="false">ValueHere</e266:BackUpPaymentInstrumentId>
        <e266:BillingThresholdAmount i:nil="false">ValueHere</e266:BillingThresholdAmount>
        <e266:BusinessAddress i:nil="false">
          <e266:City i:nil="false">ValueHere</e266:City>
          <e266:CountryCode i:nil="false">ValueHere</e266:CountryCode>
          <e266:Id i:nil="false">ValueHere</e266:Id>
          <e266:Line1 i:nil="false">ValueHere</e266:Line1>
          <e266:Line2 i:nil="false">ValueHere</e266:Line2>
          <e266:Line3 i:nil="false">ValueHere</e266:Line3>
          <e266:Line4 i:nil="false">ValueHere</e266:Line4>
          <e266:PostalCode i:nil="false">ValueHere</e266:PostalCode>
          <e266:StateOrProvince i:nil="false">ValueHere</e266:StateOrProvince>
          <e266:TimeStamp i:nil="false">ValueHere</e266:TimeStamp>
          <e266:BusinessName i:nil="false">ValueHere</e266:BusinessName>
        </e266:BusinessAddress>
        <e266:AutoTagType i:nil="false">ValueHere</e266:AutoTagType>
        <e266:SoldToPaymentInstrumentId i:nil="false">ValueHere</e266:SoldToPaymentInstrumentId>
        <e266:TaxCertificate i:nil="false">
          <e266:TaxCertificateBlobContainerName i:nil="false">ValueHere</e266:TaxCertificateBlobContainerName>
          <e266:TaxCertificates xmlns:e269="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
            <e269:KeyValuePairOfstringbase64Binary>
              <e269:key i:nil="false">ValueHere</e269:key>
              <e269:value i:nil="false">ValueHere</e269:value>
            </e269:KeyValuePairOfstringbase64Binary>
          </e266:TaxCertificates>
          <e266:Status i:nil="false">ValueHere</e266:Status>
        </e266:TaxCertificate>
        <e266:AccountMode i:nil="false">ValueHere</e266:AccountMode>
      </Account>
      <ParentCustomerId i:nil="false">ValueHere</ParentCustomerId>
      <UserInvitation xmlns:e270="https://bingads.microsoft.com/Customer/v13/Entities" i:nil="false">
        <e270:Id>ValueHere</e270:Id>
        <e270:FirstName i:nil="false">ValueHere</e270:FirstName>
        <e270:LastName i:nil="false">ValueHere</e270:LastName>
        <e270:Email i:nil="false">ValueHere</e270:Email>
        <e270:CustomerId>ValueHere</e270:CustomerId>
        <e270:RoleId>ValueHere</e270:RoleId>
        <e270:AccountIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <a1:long>ValueHere</a1:long>
        </e270:AccountIds>
        <e270:ExpirationDate>ValueHere</e270:ExpirationDate>
        <e270:Lcid>ValueHere</e270:Lcid>
      </UserInvitation>
      <UserId i:nil="false">ValueHere</UserId>
      <User xmlns:e271="https://bingads.microsoft.com/Customer/v13/Entities" i:nil="false">
        <e271:ContactInfo i:nil="false">
          <e271:Address i:nil="false">
            <e271:City i:nil="false">ValueHere</e271:City>
            <e271:CountryCode i:nil="false">ValueHere</e271:CountryCode>
            <e271:Id i:nil="false">ValueHere</e271:Id>
            <e271:Line1 i:nil="false">ValueHere</e271:Line1>
            <e271:Line2 i:nil="false">ValueHere</e271:Line2>
            <e271:Line3 i:nil="false">ValueHere</e271:Line3>
            <e271:Line4 i:nil="false">ValueHere</e271:Line4>
            <e271:PostalCode i:nil="false">ValueHere</e271:PostalCode>
            <e271:StateOrProvince i:nil="false">ValueHere</e271:StateOrProvince>
            <e271:TimeStamp i:nil="false">ValueHere</e271:TimeStamp>
            <e271:BusinessName i:nil="false">ValueHere</e271:BusinessName>
          </e271:Address>
          <e271:ContactByPhone i:nil="false">ValueHere</e271:ContactByPhone>
          <e271:ContactByPostalMail i:nil="false">ValueHere</e271:ContactByPostalMail>
          <e271:Email i:nil="false">ValueHere</e271:Email>
          <e271:EmailFormat i:nil="false">ValueHere</e271:EmailFormat>
          <e271:Fax i:nil="false">ValueHere</e271:Fax>
          <e271:HomePhone i:nil="false">ValueHere</e271:HomePhone>
          <e271:Id i:nil="false">ValueHere</e271:Id>
          <e271:Mobile i:nil="false">ValueHere</e271:Mobile>
          <e271:Phone1 i:nil="false">ValueHere</e271:Phone1>
          <e271:Phone2 i:nil="false">ValueHere</e271:Phone2>
        </e271:ContactInfo>
        <e271:CustomerId i:nil="false">ValueHere</e271:CustomerId>
        <e271:Id i:nil="false">ValueHere</e271:Id>
        <e271:JobTitle i:nil="false">ValueHere</e271:JobTitle>
        <e271:LastModifiedByUserId i:nil="false">ValueHere</e271:LastModifiedByUserId>
        <e271:LastModifiedTime i:nil="false">ValueHere</e271:LastModifiedTime>
        <e271:Lcid i:nil="false">ValueHere</e271:Lcid>
        <e271:Name i:nil="false">
          <e271:FirstName i:nil="false">ValueHere</e271:FirstName>
          <e271:LastName i:nil="false">ValueHere</e271:LastName>
          <e271:MiddleInitial i:nil="false">ValueHere</e271:MiddleInitial>
        </e271:Name>
        <e271:Password i:nil="false">ValueHere</e271:Password>
        <e271:SecretAnswer i:nil="false">ValueHere</e271:SecretAnswer>
        <e271:SecretQuestion>ValueHere</e271:SecretQuestion>
        <e271:UserLifeCycleStatus i:nil="false">ValueHere</e271:UserLifeCycleStatus>
        <e271:TimeStamp i:nil="false">ValueHere</e271:TimeStamp>
        <e271:UserName i:nil="false">ValueHere</e271:UserName>
        <e271:ForwardCompatibilityMap xmlns:e272="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
          <e272:KeyValuePairOfstringstring>
            <e272:key i:nil="false">ValueHere</e272:key>
            <e272:value i:nil="false">ValueHere</e272:value>
          </e272:KeyValuePairOfstringstring>
        </e271:ForwardCompatibilityMap>
        <e271:AuthenticationToken i:nil="false">ValueHere</e271:AuthenticationToken>
      </User>
    </SignupCustomerRequest>
  </s:Body>
</s:Envelope>

Response SOAP

This template was generated by a tool to show the order of the body and header elements for the SOAP response.

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header xmlns="https://bingads.microsoft.com/Customer/v13">
    <TrackingId d3p1:nil="false" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance">ValueHere</TrackingId>
  </s:Header>
  <s:Body>
    <SignupCustomerResponse xmlns="https://bingads.microsoft.com/Customer/v13">
      <CustomerId>ValueHere</CustomerId>
      <CustomerNumber d4p1:nil="false" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">ValueHere</CustomerNumber>
      <AccountId d4p1:nil="false" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">ValueHere</AccountId>
      <AccountNumber d4p1:nil="false" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">ValueHere</AccountNumber>
      <CreateTime>ValueHere</CreateTime>
    </SignupCustomerResponse>
  </s:Body>
</s:Envelope>

Code Syntax

The example syntax can be used with Bing Ads SDKs. See Bing Ads API Code Examples for more examples.

public async Task<SignupCustomerResponse> SignupCustomerAsync(
	Customer customer,
	AdvertiserAccount account,
	long? parentCustomerId,
	UserInvitation userInvitation,
	long? userId,
	User user)
{
	var request = new SignupCustomerRequest
	{
		Customer = customer,
		Account = account,
		ParentCustomerId = parentCustomerId,
		UserInvitation = userInvitation,
		UserId = userId,
		User = user
	};

	return (await CustomerManagementService.CallAsync((s, r) => s.SignupCustomerAsync(r), request));
}
static SignupCustomerResponse signupCustomer(
	Customer customer,
	AdvertiserAccount account,
	java.lang.Long parentCustomerId,
	UserInvitation userInvitation,
	java.lang.Long userId,
	User user) throws RemoteException, Exception
{
	SignupCustomerRequest request = new SignupCustomerRequest();

	request.setCustomer(customer);
	request.setAccount(account);
	request.setParentCustomerId(parentCustomerId);
	request.setUserInvitation(userInvitation);
	request.setUserId(userId);
	request.setUser(user);

	return CustomerManagementService.getService().signupCustomer(request);
}
static function SignupCustomer(
	$customer,
	$account,
	$parentCustomerId,
	$userInvitation,
	$userId,
	$user)
{

	$GLOBALS['Proxy'] = $GLOBALS['CustomerManagementProxy'];

	$request = new SignupCustomerRequest();

	$request->Customer = $customer;
	$request->Account = $account;
	$request->ParentCustomerId = $parentCustomerId;
	$request->UserInvitation = $userInvitation;
	$request->UserId = $userId;
	$request->User = $user;

	return $GLOBALS['CustomerManagementProxy']->GetService()->SignupCustomer($request);
}
response=customermanagement_service.SignupCustomer(
	Customer=Customer,
	Account=Account,
	ParentCustomerId=ParentCustomerId,
	UserInvitation=UserInvitation,
	UserId=UserId,
	User=User)

Requirements

Service: CustomerManagementService.svc v13
Namespace: https://bingads.microsoft.com/Customer/v13