Skip to content

Bid Multipliers

Overview

Bid Multiplier is a bidding feature that enables you with more options to optimize your campaigns. You can manage your sponsored products campaigns by promoting your products on prime placements and platforms using this feature. Bid multiplier value ranges from 0 to 50000.

There are two types of bid multipliers:

  • Placement Multipliers: This control allows you to set bid starting at 0%. When your ads are eligible to serve in relevant placements, the bid multiplier percentages you set will help you compete better for these placements.
  • Platform Multipliers: This control allows you to set bid multipliers starting at 0% for Desktop, App and Mobile platforms. When your ads serve on these platforms, the bid percentages you set will help you compete better for these platforms.

Usage:

  • Bid Multiplier is a bidding feature that enables you with more options to optimize your campaigns.
  • You can manage your sponsored products campaigns by promoting your products on prime placements and platforms using this feature.
  • Bid multiplier value ranges from 0 to 50000

Note: Bid percentage will be restricted to first two decimal places for advertisers. Any decimal digit beyond the first 2 digits will be truncated without rounding off. Bid multipliers are optional and are available for both automatic (auto-bid) campaigns, i.e., the campaigns with targeting type “auto” and keyword (manual) campaigns.

Users will be able to update multipliers for following placements under each campaign type based on auto campaigns or manual campaigns: Search Ingrid

To understand details about ‘Request Header' or 'Authorization’, please refer to the Authorization Guide

Create Placement Bid Multipliers

Description: Create placement bid multipliers for a campaign.

End Point: ​/api/v1/multipliers/placement

HTTP Method: ​POST

Body Parameters

Parameter Description Type Required Possible Values
campaignId Id of the campaign Integer Y Unique numeric identifier
placementType Type of the placement String Y For auto campaigns:
  • Search Ingrid 
  • Buy-Box

For manual campaigns: 

  • Search Ingrid 
multiplier % Value by which original bid is modified Double Y Value of multiplier

Sample Request - Search Ingrid

curl --location 
'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement'
--header 'Authorization: Bearer ************************'
--header 'Content-Type: application/json'
--header 'accept: application/json'
--header 'WM_SEC.AUTH_SIGNATURE: *************'
--header 'WM_CONSUMER.ID: *************'
--header 'WM_CONSUMER.intimestamp: 1565309779'
--header 'WM_CONSUMER.key_version: *'
--data '[{ 
    "campaignId": 1234, 
    "placementType": "Search Ingrid", 
    "multiplier": 100 
}]'
OkHttpClient client = new OkHttpClient().newBuilder().build(); 
MediaType mediaType = MediaType.parse("application/json"); 
RequestBody body = RequestBody.create(mediaType, 
 "[{
    "campaignId": 1234,
    "placementType": "Search Ingrid",
    "multiplier": 100
  }]"); 
Request request = new Request.Builder() 
.url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement") 
.method("POST", body) 
.addHeader("Authorization", "Bearer *********************")
.addHeader("wm_consumer.id", "*************************") 
.addHeader("wm_sec.key_version", "2") 
.addHeader("wm_sec.auth_signature", "*************************") 
.addHeader("wm_qos.correlation_id", "12345") 
.addHeader("wm_consumer.intimestamp", "1700221256000") 
.addHeader("Content-Type", "application/json").build(); 
Response response = client.newCall(request).execute(); 
const axios = require('axios'); 
let data = JSON.stringify([ 
  { 
    "campaignId": 1234, 
    "placementType": "Search Ingrid", 
    "multiplier": 100 
  } 
]); 
let config = { 
method: 'post', 
maxBodyLength: Infinity, 

url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement', 

headers: {  
  'wm_consumer.id': '****************',  
  'wm_sec.key_version': '2',  
  'wm_sec.auth_signature': '****************',  
  'wm_qos.correlation_id': '12345',  
  'wm_consumer.intimestamp': '****************',  
  'Content-Type': 'application/json',  
  'Authorization': 'Bearer ****************' 
}, 
data : data 
}; 
axios.request(config) 
.then((response) => { 
console.log(JSON.stringify(response.data)); 
}) 
.catch((error) => { 
console.log(error); 
}); 
import requests
import json
url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement"
payload = json.dumps([
  {
    "campaignId": 1234,
    "placementType": "Search Ingrid",
    "multiplier": 100
  }])
headers = {
  'Authorization': 'Bearer *********************************',
  'wm_consumer.id': '************',
  'wm_sec.key_version': '2',
  'wm_sec.auth_signature': '************',
  'wm_qos.correlation_id': '12345',
  'wm_consumer.intimestamp': '1706688478000',
  'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

Sample Request - Buy Box

curl --location  
'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement' 
--header 'Authorization: Bearer ************************' 
--header 'wm_consumer.id: **************' 
--header 'wm_sec.key_version: 2' 
--header 'wm_sec.auth_signature: **************' 
--header 'wm_qos.correlation_id: **************' 
--header 'wm_consumer.intimestamp: 1700221256000' 
--header 'Content-Type: application/json'
--data '[ 
    { 
      "campaignId": 1234, 
      "placementType": "Buy-Box", 
      "multiplier": 100 
    }]' 
OkHttpClient client = new OkHttpClient().newBuilder().build(); 
MediaType mediaType = MediaType.parse("application/json"); 
RequestBody body = RequestBody.create(mediaType, 
"[{
    "campaignId": 1234,
    "placementType": "Buy-Box",
    "multiplier": 100
}]"); 
Request request = new Request.Builder() 
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement") 
  .method("POST", body) 
  .addHeader("Authorization", "Bearer *********************")
  .addHeader("wm_consumer.id", "*************************") 
  .addHeader("wm_sec.key_version", "2") 
  .addHeader("wm_sec.auth_signature", "*************************") 
  .addHeader("wm_qos.correlation_id", "12345") 
  .addHeader("wm_consumer.intimestamp", "1700221256000") 
  .addHeader("Content-Type", "application/json").build(); 
Response response = client.newCall(request).execute(); 
const axios = require('axios'); 
let data = JSON.stringify([ 
  { 
    "campaignId": 1234, 
    "placementType": "Buy-Box", 
    "multiplier": 100 
  } 
]); 
let config = { 
method: 'post', 
maxBodyLength: Infinity, 

url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement', 

headers: {  
  'wm_consumer.id': '****************',  
  'wm_sec.key_version': '2',  
  'wm_sec.auth_signature': '****************',  
  'wm_qos.correlation_id': '12345',  
  'wm_consumer.intimestamp': '****************',  
  'Content-Type': 'application/json',  
  'Authorization': 'Bearer ****************' 
}, 
data : data 
}; 
axios.request(config) 
.then((response) => { 
console.log(JSON.stringify(response.data)); 
}) 
.catch((error) => { 
console.log(error); 
}); 
import requests 
import json 
url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement" 
payload = json.dumps([{ 
    "campaignId": 1234, 
    "placementType": "Buy-Box", 
    "multiplier": 100 
}]) 
headers = { 
    'Authorization': 'Bearer *********************************',
    'wm_consumer.id': '************', 
    'wm_sec.key_version': '2', 
    'wm_sec.auth_signature': '************', 
    'wm_qos.correlation_id': '12345', 
    'wm_consumer.intimestamp': '1706688478000', 
    'Content-Type': 'application/json'
  } 
  response = requests.request("POST", url, headers=headers, data=payload) 
  print(response.text)

Response

Element Description Type
code Possible values of response code: success or failure String
details Details of the error if value of response code is failure String
placementMultiplierId ID of the placement multiplier Integer

Sample Response - Search Ingrid

[
  {
    "code": "success",
    "details": "",
    "placementMultiplierId": 1001
  },
  {
    "code": "failure",
    "details": "The placement bid% cannot be less than 0 / Invalid Placement Type found",
    "placementMultiplierId": 0
  }
]

Sample Response - Buy Box

[
  {
    "code": "success",
    "details": "",
    "placementMultiplierId": 1001
  }
]

HTTP Status Code

Status Code Description Possible Error Messages
200 OK
  • You cannot define bid multipliers for this campaign
  • Invalid Placement Type found
  • The placement bid% cannot be less than 0 for PlacementType: <placementType>
  • The placement bid% out of range for PlacementType: <placementType>
400 Bad request
  • Maximum allowed size in batch is 50
  • Empty Input
403 Forbidden User not Authenticated
404 Not found Campaign not found
422 Operation not allowed
  • You do not have access to view this campaign
  • AdOps role does not access to any campaigns
  • You do not have access to change this bid multiplier
429 Too Many Requests <Exception Message>
500 Internal server error There was an error processing the request

List Placement Bid Multipliers

Description: Retrieve the list of all the placement bid multipliers for a campaign.

End Point: /api/v1/multipliers/placement

HTTP Method: ​​GET

Query Parameters

Parameter Description Type Required Possible Values
campaignId Id of the campaign where the ad group belongs String Y Unique numeric identifier

Sample Request

1
2
3
4
5
6
7
8
curl --location
'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement?campaignId={campaignId}'
--header 'Authorization: Bearer ************************' 
--header 'accept: application/json'
--header 'WM_SEC.AUTH_SIGNATURE: ****************' 
--header 'WM_CONSUMER.ID: *****************' 
--header 'WM_CONSUMER.intimestamp: 1565309779'
--header 'WM_CONSUMER.key_version: *' 
OkHttpClient client = new OkHttpClient().newBuilder().build(); 
MediaType mediaType = MediaType.parse("text/plain"); 
RequestBody body = RequestBody.create(mediaType, ""); 
Request request = new Request.Builder() 
.url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement?campaignId={campaignId}") 
.method("GET", body)
.addHeader("Authorization", "Bearer *********************")
.addHeader("wm_consumer.intimestamp", "1700221256000")
.addHeader("wm_consumer.id", "********************") 
.addHeader("wm_sec.key_version", "2") 
.addHeader("wm_sec.auth_signature", "**********************") 
.addHeader("wm_qos.correlation_id", "12345").build(); 
Response response = client.newCall(request).execute();   
const axios = require('axios'); 
let config = { 
method: 'get', 
maxBodyLength: Infinity, 

url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement?campaignId={campaignId}', 

headers: {  
  'wm_consumer.id': '****************',  
  'wm_sec.key_version': '2',  
  'wm_sec.auth_signature': '****************',  
  'wm_qos.correlation_id': '12345',  
  'wm_consumer.intimestamp': '****************',  
  'Authorization': 'Bearer ****************' 
} 
}; 
axios.request(config) 
.then((response) => { 
console.log(JSON.stringify(response.data)); 
}) 
.catch((error) => { 
console.log(error); 
}); 
import requests
url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement?campaignId={campaignId}"
payload = {}
headers = {
  'Authorization': 'Bearer *********************************',
  'wm_consumer.id': '************',
  'wm_sec.key_version': '2',
  'wm_sec.auth_signature': '************',
  'wm_qos.correlation_id': '12345',
  'wm_consumer.intimestamp': '1706688478000'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Response

Element Description Type
campaignId ID of the campaign Integer
placementType Type of placement. Values are:
For auto campaigns: 1) Search Ingrid 2) Buy-Box
For manual campaigns: Search Ingrid
Integer
multiplier % Value by which original bid is modified Double

Sample Response

[
  {
    "campaignId": 600000,
    "placementType": "Search Ingrid",
    "multiplier": 100
  },
  {
    "campaignId": 600000,
    "placementType": "Buy-Box",
    "multiplier": 100
  }
]

HTTP Status Code

Status Code Description Possible Error Messages
400 Bad request CampaignId not found in request
403 Forbidden User not Authenticated
404 Not found
  • Campaign not found
  • No bid multipliers for this campaign type
429 Too Many Requests <Exception Message>
500 Internal server error There was an error processing the request

Update Placement Bid Multipliers

Description: Update placement bid multipliers for a campaign.

End Point: /api/v1/multipliers/placement

HTTP Method: ​​​PUT

Body Parameters

Parameter Description Type Required Possible Values
campaignId Id of the campaign Integer Y Unique numeric identifier
placementType Type of the placement String Y For auto campaigns:
  • Search Ingrid 
  • Buy-Box
For manual campaigns:
  • Search Ingrid 
multiplier % Value by which original bid is modified Integer Y Value of multiplier

Sample Request - Search Ingrid

curl --location --request PUT
'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement'
--header 'Authorization: Bearer ************************' 
--header 'Content-Type: text/plain'
--header 'wm_consumer.id: **************' 
--header 'wm_sec.key_version: 2' 
--header 'wm_sec.auth_signature: **************' 
--header 'wm_qos.correlation_id: **************' 
--header 'wm_consumer.intimestamp: 1700221256000' 
--data '[{ 
    "campaignId": 1234, 
    "placementType": "Search Ingrid", 
    "multiplier": 1.5 
  }]'
OkHttpClient client = new OkHttpClient().newBuilder().build(); 
MediaType mediaType = MediaType.parse("text/plain"); 
RequestBody body = RequestBody.create(mediaType, 
"[{
    "campaignId": 1234,
    "placementType": "Search Ingrid",
    "multiplier": 1.5 
}]"); 
Request request = new Request.Builder() 
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement") 
  .method("PUT", body) 
  .addHeader("Authorization", "Bearer *********************")
  .addHeader("wm_consumer.id", "**********************") 
  .addHeader("wm_sec.key_version", "2") 
  .addHeader("wm_sec.auth_signature", "*******************") 
  .addHeader("wm_qos.correlation_id", "12345") 
  .addHeader("wm_consumer.intimestamp", "1700221256000") 
  .addHeader("Content-Type", "text/plain").build(); 
Response response = client.newCall(request).execute(); 
const axios = require('axios'); 
let data = JSON.stringify([ 
{ 
  "campaignId": 1234, 
  "placementType": "Search Ingrid", 
  "multiplier": 1.5 

} 
]); 
let config = { 
  method: 'put', 
  maxBodyLength: Infinity, 

url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement', 

headers: {  
  'wm_consumer.id': '****************',  
  'wm_sec.key_version': '2',  
  'wm_sec.auth_signature': '****************',  
  'wm_qos.correlation_id': '12345',  
  'wm_consumer.intimestamp': '****************',  
  'Content-Type': 'application/json',  
  'Authorization': 'Bearer ****************' 
}, 
data : data 
}; 
axios.request(config) 
.then((response) => { 
console.log(JSON.stringify(response.data)); 
}) 
.catch((error) => { 
console.log(error); 
}); 
import requests
import json
url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement"
payload = json.dumps([
  {
    "campaignId": 1234,
    "placementType": "Search Ingrid",
    "multiplier": 1.5
  }])
headers = {
  'Authorization': 'Bearer *********************************',
  'wm_consumer.id': '************',
  'wm_sec.key_version': '2',
  'wm_sec.auth_signature': '************',
  'wm_qos.correlation_id': '12345',
  'wm_consumer.intimestamp': '1706688478000',
  'Content-Type': 'application/json'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)

Sample Request - Buy Box

curl --location --request PUT
'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement'
--header 'Authorization: Bearer ************************'
--header 'Content-Type: text/plain' 
--header 'wm_consumer.id: **************'
--header 'wm_sec.key_version: 2' 
--header 'wm_sec.auth_signature: **************' 
--header 'wm_qos.correlation_id: *************' 
--header 'wm_consumer.intimestamp: 1700221256000' 
--data '[{ 
    "campaignId": 1234, 
    "placementType": "Buy-Box", 
    "multiplier": 0 
  }]'
OkHttpClient client = new OkHttpClient().newBuilder().build(); 
MediaType mediaType = MediaType.parse("text/plain"); 
RequestBody body = RequestBody.create(mediaType,
 "[{
     "campaignId": 1234,
     "placementType": "Buy-Box",
     "multiplier": 0
  }]"); 
Request request = new Request.Builder() 
 .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement") 
 .method("PUT", body)
 .addHeader("Authorization", "Bearer *********************")
 .addHeader("wm_consumer.id", "**********************") 
 .addHeader("wm_sec.key_version", "2") 
 .addHeader("wm_sec.auth_signature", "*******************") 
 .addHeader("wm_qos.correlation_id", "12345") 
 .addHeader("wm_consumer.intimestamp", "1700221256000") 
 .addHeader("Content-Type", "text/plain").build(); 
Response response = client.newCall(request).execute();  
const axios = require('axios'); 
let data = JSON.stringify([ 
{ 
  "campaignId": 1234, 
  "placementType": "Buy-Box", 
  "multiplier": 0 

} 
]); 
let config = { 
  method: 'put', 
  maxBodyLength: Infinity, 

url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement', 

headers: {  
  'wm_consumer.id': '****************',  
  'wm_sec.key_version': '2',  
  'wm_sec.auth_signature': '****************',  
  'wm_qos.correlation_id': '12345',  
  'wm_consumer.intimestamp': '****************',  
  'Content-Type': 'application/json',  
  'Authorization': 'Bearer ****************' 
}, 
data : data 
}; 
axios.request(config) 
.then((response) => { 
console.log(JSON.stringify(response.data)); 
}) 
.catch((error) => { 
console.log(error); 
}); 
import requests
import json
url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform"
payload = json.dumps([{
    "campaignId": 1234,
    "platformType": "Buy-Box",
    "multiplier": 0
}])
headers = {
  'Authorization': 'Bearer *********************************',
  'wm_consumer.id': '************',
  'wm_sec.key_version': '2',
  'wm_sec.auth_signature': '************',
  'wm_qos.correlation_id': '12345',
  'wm_consumer.intimestamp': '1706688478000',
  'Content-Type': 'application/json'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)

Response

Element Description Type
code The response code can have following values: success, failure String
details Details of the error if value of response code is failure String
placementMultiplierId ID of the placement multiplier Integer

Sample Response - Search Ingrid

[
  {
    "code": "success",
    "details": "",
    "placementMultiplierId": 1001
  },
  {
    "code": "failure",
    "details": " The placement bid% cannot be less than 0 / Invalid Placement Type found",
    "placementMultiplierId": 0
  }
]

Sample Response - Buy Box

[
  {
    "code": "success",
    "details": "",
    "placementMultiplierId": 1001
  }
]

HTTP Status Code

Status Code Description Possible Error Messages
200 OK
  • You cannot define bid multipliers for this campaign
  • Invalid Placement Type found
  • The placement bid% cannot be less than 0 for PlacementType: <placementType>
  • The placement bid% out of range for PlacementType: <placementType>
400 Bad request
  • Maximum allowed size in batch is 50
  • Empty Input
403 Forbidden
  • User not Authenticated
  • You do not have access to view this campaign
  • AdOps role does not access to any campaigns
  • You do not have access to change this bid multiplier
404 Not found Campaign not found
429 Too Many Requests <Exception Message>
500 Internal server error There was an error processing the request

Create Platform Bid Multipliers

Description: Create platform bid multipliers for a campaign.

End Point: ​/api/v1/multipliers/platform

HTTP Method: ​​​POST

Body Parameters

Parameter Description Type Required Possible Values
campaignId Id of the campaign Integer Y Unique numeric identifier
platformType Type of the platform String Y Values are: Desktop, Mobile, App
multiplier % Value by which original bid is modified Double Y Value of multiplier

Sample Request

curl --location
'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform'
--header 'Authorization: Bearer ************************'
--header 'Content-Type: text/plain' 
--header 'wm_consumer.id: **************' 
--header 'wm_sec.key_version: 2' 
--header 'wm_sec.auth_signature: **************' 
--header 'wm_qos.correlation_id: *************' 
--header 'wm_consumer.intimestamp: 1700221256000' 
--data '[{ 
    "campaignId": 1234, 
    "platformType": "Desktop", 
    "multiplier": 0 
}]'
OkHttpClient client = new OkHttpClient().newBuilder().build(); 
MediaType mediaType = MediaType.parse("text/plain"); 
RequestBody body = RequestBody.create(mediaType, 
"[{
    "campaignId": 1234,
    "platformType": "Desktop",
    "multiplier": 0
}]"); 
Request request = new Request.Builder() 
.url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform") 
  .method("POST", body)
  .addHeader("Authorization", "Bearer *********************")
  .addHeader("wm_consumer.id", "********************************") 
  .addHeader("wm_sec.key_version", "2") 
  .addHeader("wm_sec.auth_signature", "********************************") 
  .addHeader("wm_qos.correlation_id", "12345") 
  .addHeader("wm_consumer.intimestamp", "1700221256000") 
  .addHeader("Content-Type", "text/plain").build(); 
Response response = client.newCall(request).execute();  
const axios = require('axios'); 
let data = JSON.stringify([ 
  { 
    "campaignId": 1234, 
    "platformType": "Desktop", 
    "multiplier": 0 
  } 
]); 
let config = { 
method: 'post', 
maxBodyLength: Infinity, 

url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform', 

headers: {  
  'wm_consumer.id': '****************',  
  'wm_sec.key_version': '2',  
  'wm_sec.auth_signature': '****************',  
  'wm_qos.correlation_id': '12345',  
  'wm_consumer.intimestamp': '****************',  
  'Content-Type': 'application/json',  
  'Authorization': 'Bearer ****************' 
}, 
data : data 
}; 
axios.request(config) 
.then((response) => { 
  console.log(JSON.stringify(response.data)); 
}) 
.catch((error) => { 
  console.log(error); 
});    
import requests
import json
url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform"
payload = json.dumps([{
    "campaignId": 1234,
    "platformType": "Desktop",
    "multiplier": 0
}])
headers = {
  'Authorization': 'Bearer *********************************'
  'wm_consumer.id': '************',
  'wm_sec.key_version': '2',
  'wm_sec.auth_signature': '************',
  'wm_qos.correlation_id': '12345',
  'wm_consumer.intimestamp': '1706688478000',
  'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

Response

Element Description Type
code The response code can have following values: success, failure String
details Details of the error if value of response code is failure String
placementMultiplierId ID of the placement multiplier Integer

Sample Response

[
  {
    "code": "success",
    "details": "",
    "platformMultiplierId": 1001
  },
  {
    "code": "failure",
    "details": "The platform bid cannot be less than 0. Invalid platform type found”,
    "platformMultiplierId": 0
  }
]

HTTP Status Code

Status Code Description Possible Error Messages
200 OK
  • You cannot define bid multipliers for this campaign
  • Invalid Placement Type found
  • The platform bid% cannot be less than 0 for PlatformType: <platformType>
  • The platform bid% out of range for PlatformType: <platformType>
400 Bad request
  • Maximum allowed size in batch is 50
  • Empty Input
403 Forbidden User not Authenticated
404 Not found Campaign not found
422 Operation not allowed
  • You do not have access to view this campaign
  • AdOps role does not access to any campaigns
  • You do not have access to change this bid multiplier
429 Too Many Requests <Exception Message>
500 Internal server error There was an error processing the request

List All Platform Bid Multipliers

Description: Retrieve the list of all the platform bid multipliers for a campaign.

End Point: /api/v1/multipliers/platform

HTTP Method: ​​​GET

Query Parameters

Parameter Description Type Required Possible Values
campaignId Id of the campaign where the ad group belongs. String Y Unique numeric identifier

Sample Request

1
2
3
4
5
6
7
8
curl --location 
'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement?campaignId={campaignId}'
--header 'Authorization: Bearer ************************' 
--header 'accept: application/json'
--header 'WM_SEC.AUTH_SIGNATURE: ****************' 
--header 'WM_CONSUMER.ID: *************' 
--header 'WM_CONSUMER.intimestamp: 1565309779'
--header 'WM_CONSUMER.key_version: *' 
OkHttpClient client = new OkHttpClient().newBuilder().build(); 
MediaType mediaType = MediaType.parse("text/plain"); 
RequestBody body = RequestBody.create(mediaType, ""); 
Request request = new Request.Builder() 
.url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform?campaignId={campaignId}") 
.method("GET", body)
.addHeader("Authorization", "Bearer *********************")
.addHeader("wm_consumer.id", "**********************") 
.addHeader("wm_sec.key_version", "2") 
.addHeader("wm_sec.auth_signature", "**********************") 
.addHeader("wm_qos.correlation_id", "12345") 
.addHeader("wm_consumer.intimestamp", "1700221256000").build(); 
Response response = client.newCall(request).execute(); 
const axios = require('axios'); 
let config = { 
method: 'get', 
maxBodyLength: Infinity, 

url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform?campaignId={campaignId}', 

headers: {  
  'wm_consumer.id': '****************',  
  'wm_sec.key_version': '2',  
  'wm_sec.auth_signature': '****************',  
  'wm_qos.correlation_id': '12345',  
  'wm_consumer.intimestamp': '****************',  
  'Authorization': 'Bearer ****************' 
} 
}; 
axios.request(config) 
.then((response) => { 
console.log(JSON.stringify(response.data)); 
}) 
.catch((error) => { 
console.log(error); 
}); 
import requests
url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform?campaignId={campaignId}" 
payload = {} 
headers = { 
    'Authorization': 'Bearer *********************************',
    'wm_consumer.id': '************', 
    'wm_sec.key_version': '2', 
    'wm_sec.auth_signature': '************', 
    'wm_qos.correlation_id': '12345', 
    'wm_consumer.intimestamp': '1706688478000'
} 
response = requests.request("GET", url, headers=headers, data=payload) 
print(response.text)  

Response

Element Description Type
campaignId ID of the campaign Integer
placementType Type of the platform. Values are: Desktop, Mobile, App Integer
multiplier % Value by which original bid is modified Double

Sample Response

[
  {
    "campaignId": 600000,
    "platformType": "Desktop",
    "multiplier": 100
  }
]

HTTP Status Code

Status Code Description Possible Error Messages
400 Bad request CampaignId not found in request
403 Forbidden User not Authenticated
404 Not found
  • Campaign not found
  • No bid multipliers for this campaign type
429 Too Many Requests <Exception Message>
500 Internal server error There was an error processing the request

Update Platform Bid Multipliers

Description: Update platform bid multipliers for a campaign.

End Point: /api/v1/multipliers/platform

HTTP Method: PUT

Body Parameters

Parameter Description Type Required Possible Values
campaignId Id of the campaign Integer Y Unique numeric identifier
placementType Type of the placement String Y Values are: Desktop, Mobile, App
multiplier % Value by which original bid is modified Double Y Value of multiplier

Sample Request

curl --location --request PUT 
 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement' 
--header 'Authorization: Bearer ************************' 
--header 'Content-Type: application/json'
--header 'accept: application/json'
--header 'WM_SEC.AUTH_SIGNATURE: *************'
--header 'WM_CONSUMER.ID: ****************' 
--header 'WM_CONSUMER.intimestamp: 1565309779' 
--header 'WM_CONSUMER.key_version: *' 
--data '[{ 
    "campaignId": 1234, 
    "platformType": "Desktop", 
    "multiplier": 0 
}]'
OkHttpClient client = new OkHttpClient().newBuilder().build(); 
MediaType mediaType = MediaType.parse("text/plain"); 
RequestBody body = RequestBody.create(mediaType, 
"[{
    "campaignId": 1234,
    "placementType": "Desktop",
    "multiplier": 0
}]"); 
Request request = new Request.Builder() 
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/placement") 
  .method("PUT", body)
  .addHeader("Authorization", "Bearer *********************")
  .addHeader("wm_consumer.id", "****************") 
  .addHeader("wm_sec.key_version", "2") 
  .addHeader("wm_sec.auth_signature", "****************") 
  .addHeader("wm_qos.correlation_id", "12345") 
  .addHeader("wm_consumer.intimestamp", "1702128089000") 
  .addHeader("Content-Type", "text/plain").build(); 
Response response = client.newCall(request).execute();   
const axios = require('axios'); 
let data = JSON.stringify([ 
{ 
  "campaignId": 1234, 
  "platformType": "Desktop", 
  "multiplier": 0 
} 
]); 
let config = { 
  method: 'put', 
  maxBodyLength: Infinity, 

url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform', 

headers: {  
  'wm_consumer.id': '****************',  
  'wm_sec.key_version': '2',  
  'wm_sec.auth_signature': '****************',  
  'wm_qos.correlation_id': '12345',  
  'wm_consumer.intimestamp': '****************',  
  'Content-Type': 'application/json',  
  'Authorization': 'Bearer ****************' 
}, 
data : data 
}; 
axios.request(config) 
.then((response) => { 
console.log(JSON.stringify(response.data)); 
}) 
.catch((error) => { 
console.log(error); 
}); 
import requests 
import json
url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/multipliers/platform" 
payload = json.dumps([{ 
     "campaignId": 1234, 
     "platformType": "Desktop", 
     "multiplier": 0 
}]) 
headers = { 
    'Authorization': 'Bearer *********************************', 
    'wm_consumer.id': '************', 
    'wm_sec.key_version': '2', 
    'wm_sec.auth_signature': '************', 
    'wm_qos.correlation_id': '12345', 
    'wm_consumer.intimestamp': '1706688478000', 
    'Content-Type': 'application/json'
} 
response = requests.request("PUT", url, headers=headers, data=payload) 
print(response.text) 

Response

Element Description Type
code The response code can have following values: success, failure String
details Details of the error if value of response code is failure String
placementMultiplierId ID of the placement multiplier Integer

Sample Response

[
  {
    "code": "success",
    "details": "",
    "platformMultiplierId": 1001
  },
  {
    "code": "failure",
    "details": " The platform bid% cannot be less than 0 / Invalid platform type found",
    "platformMultiplierId": 0
  }
]

HTTP Status Code

Status Code Description Possible Error Messages
200 OK
  • You cannot define bid multipliers for this campaign
  • Invalid Placement Type found
  • The platform bid% cannot be less than 0 for PlatformType: <platformType>
  • The platform bid% out of range for PlatformType: <platformType>
400 Bad request
  • Maximum allowed size in batch is 50
  • Empty Input
403 Forbidden
  • User not Authenticated
  • You do not have access to view this campaign
  • AdOps role does not access to any campaigns
  • You do not have access to change this bid multiplier
404 Not found Campaign not found
429 Too Many Requests <Exception Message>
500 Internal server error There was an error processing the request