SignupCustomer Service Operation - Customer Management

Creates a new customer and account that rolls up to your reseller payment method.

Note

You must be a reseller with aggregator user permissions to call this operation. For more details see the Account Hierarchy technical guide.

Pass both Customer and AdvertiserAccount objects in the request. The customer object includes the customer's name, the address where the customer is located, the market in which the customer operates, and the industry in which the customer participates. Although it is possible to add multiple customers with the same details, you should use unique customer names so that users can easily distinguish between customers in a user interface.

The account object must specify the name of the account; the type of currency to use to settle the account; and the payment method identifier, which must be set to null. The operation generates an invoice account and sets the payment method identifier to the identifier associated with the reseller's invoice. You are invoiced for all charges incurred by the customers that you manage.

When the operation succeeds, a new managed customer is created outside of the reseller customer and an advertiser account is created within the managed customer.

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. AdvertiserAccount
Customer A Customer that specifies the details of the customer that you are adding. Customer
ParentCustomerId The customer identifier of the reseller that will manage this customer. long

Request Header Elements

Element Description Data Type
AuthenticationToken The OAuth access token that represents a Microsoft Account user who has permissions to Microsoft Advertising accounts. string
DeveloperToken The developer token used to access the Bing Ads API. 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 element and a CustomerAccountId SOAP header element.
long
AccountNumber A system-generated account number that is used to identify the account in the Microsoft Advertising web application. The account number has the form, Xnnnnnnn, where nnnnnnn is a series of digits. 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 is of the form, Cnnnnnnn, where nnnnnnn is a series of digits. 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/v12">
    <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/v12">
      <Customer xmlns:e419="https://bingads.microsoft.com/Customer/v12/Entities" i:nil="false">
        <e419:CustomerFinancialStatus i:nil="false">ValueHere</e419:CustomerFinancialStatus>
        <e419:Id i:nil="false">ValueHere</e419:Id>
        <e419:Industry i:nil="false">ValueHere</e419:Industry>
        <e419:LastModifiedByUserId i:nil="false">ValueHere</e419:LastModifiedByUserId>
        <e419:LastModifiedTime i:nil="false">ValueHere</e419:LastModifiedTime>
        <e419:MarketCountry i:nil="false">ValueHere</e419:MarketCountry>
        <e419:ForwardCompatibilityMap xmlns:e420="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
          <e420:KeyValuePairOfstringstring>
            <e420:key i:nil="false">ValueHere</e420:key>
            <e420:value i:nil="false">ValueHere</e420:value>
          </e420:KeyValuePairOfstringstring>
        </e419:ForwardCompatibilityMap>
        <e419:MarketLanguage i:nil="false">ValueHere</e419:MarketLanguage>
        <e419:Name i:nil="false">ValueHere</e419:Name>
        <e419:ServiceLevel i:nil="false">ValueHere</e419:ServiceLevel>
        <e419:CustomerLifeCycleStatus i:nil="false">ValueHere</e419:CustomerLifeCycleStatus>
        <e419:TimeStamp i:nil="false">ValueHere</e419:TimeStamp>
        <e419:Number i:nil="false">ValueHere</e419:Number>
        <e419:CustomerAddress i:nil="false">
          <e419:City i:nil="false">ValueHere</e419:City>
          <e419:CountryCode i:nil="false">ValueHere</e419:CountryCode>
          <e419:Id i:nil="false">ValueHere</e419:Id>
          <e419:Line1 i:nil="false">ValueHere</e419:Line1>
          <e419:Line2 i:nil="false">ValueHere</e419:Line2>
          <e419:Line3 i:nil="false">ValueHere</e419:Line3>
          <e419:Line4 i:nil="false">ValueHere</e419:Line4>
          <e419:PostalCode i:nil="false">ValueHere</e419:PostalCode>
          <e419:StateOrProvince i:nil="false">ValueHere</e419:StateOrProvince>
          <e419:TimeStamp i:nil="false">ValueHere</e419:TimeStamp>
          <e419:BusinessName i:nil="false">ValueHere</e419:BusinessName>
        </e419:CustomerAddress>
      </Customer>
      <Account xmlns:e421="https://bingads.microsoft.com/Customer/v12/Entities" i:nil="false">
        <e421:BillToCustomerId i:nil="false">ValueHere</e421:BillToCustomerId>
        <e421:CurrencyCode i:nil="false">ValueHere</e421:CurrencyCode>
        <e421:AccountFinancialStatus i:nil="false">ValueHere</e421:AccountFinancialStatus>
        <e421:Id i:nil="false">ValueHere</e421:Id>
        <e421:Language i:nil="false">ValueHere</e421:Language>
        <e421:LastModifiedByUserId i:nil="false">ValueHere</e421:LastModifiedByUserId>
        <e421:LastModifiedTime i:nil="false">ValueHere</e421:LastModifiedTime>
        <e421:Name i:nil="false">ValueHere</e421:Name>
        <e421:Number i:nil="false">ValueHere</e421:Number>
        <e421:ParentCustomerId>ValueHere</e421:ParentCustomerId>
        <e421:PaymentMethodId i:nil="false">ValueHere</e421:PaymentMethodId>
        <e421:PaymentMethodType i:nil="false">ValueHere</e421:PaymentMethodType>
        <e421:PrimaryUserId i:nil="false">ValueHere</e421:PrimaryUserId>
        <e421:AccountLifeCycleStatus i:nil="false">ValueHere</e421:AccountLifeCycleStatus>
        <e421:TimeStamp i:nil="false">ValueHere</e421:TimeStamp>
        <e421:TimeZone i:nil="false">ValueHere</e421:TimeZone>
        <e421:PauseReason i:nil="false">ValueHere</e421:PauseReason>
        <e421:ForwardCompatibilityMap xmlns:e422="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
          <e422:KeyValuePairOfstringstring>
            <e422:key i:nil="false">ValueHere</e422:key>
            <e422:value i:nil="false">ValueHere</e422:value>
          </e422:KeyValuePairOfstringstring>
        </e421:ForwardCompatibilityMap>
        <e421:LinkedAgencies i:nil="false">
          <e421:CustomerInfo>
            <e421:Id i:nil="false">ValueHere</e421:Id>
            <e421:Name i:nil="false">ValueHere</e421:Name>
          </e421:CustomerInfo>
        </e421:LinkedAgencies>
        <e421:SalesHouseCustomerId i:nil="false">ValueHere</e421:SalesHouseCustomerId>
        <e421:TaxInformation xmlns:e423="http://schemas.datacontract.org/2004/07/System.Collections.Generic" i:nil="false">
          <e423:KeyValuePairOfstringstring>
            <e423:key i:nil="false">ValueHere</e423:key>
            <e423:value i:nil="false">ValueHere</e423:value>
          </e423:KeyValuePairOfstringstring>
        </e421:TaxInformation>
        <e421:BackUpPaymentInstrumentId i:nil="false">ValueHere</e421:BackUpPaymentInstrumentId>
        <e421:BillingThresholdAmount i:nil="false">ValueHere</e421:BillingThresholdAmount>
        <e421:BusinessAddress i:nil="false">
          <e421:City i:nil="false">ValueHere</e421:City>
          <e421:CountryCode i:nil="false">ValueHere</e421:CountryCode>
          <e421:Id i:nil="false">ValueHere</e421:Id>
          <e421:Line1 i:nil="false">ValueHere</e421:Line1>
          <e421:Line2 i:nil="false">ValueHere</e421:Line2>
          <e421:Line3 i:nil="false">ValueHere</e421:Line3>
          <e421:Line4 i:nil="false">ValueHere</e421:Line4>
          <e421:PostalCode i:nil="false">ValueHere</e421:PostalCode>
          <e421:StateOrProvince i:nil="false">ValueHere</e421:StateOrProvince>
          <e421:TimeStamp i:nil="false">ValueHere</e421:TimeStamp>
          <e421:BusinessName i:nil="false">ValueHere</e421:BusinessName>
        </e421:BusinessAddress>
        <e421:AutoTagType i:nil="false">ValueHere</e421:AutoTagType>
        <e421:SoldToPaymentInstrumentId i:nil="false">ValueHere</e421:SoldToPaymentInstrumentId>
      </Account>
      <ParentCustomerId i:nil="false">ValueHere</ParentCustomerId>
    </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/v12">
    <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/v12">
      <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)
{
	var request = new SignupCustomerRequest
	{
		Customer = customer,
		Account = account,
		ParentCustomerId = parentCustomerId
	};

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

	request.setCustomer(customer);
	request.setAccount(account);
	request.setParentCustomerId(parentCustomerId);

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

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

	$request = new SignupCustomerRequest();

	$request->Customer = $customer;
	$request->Account = $account;
	$request->ParentCustomerId = $parentCustomerId;

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

Requirements

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