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: For manual campaigns:
multiplier
% Value by which original bid is modified
Double
Y
Value of multiplier
Sample Request - Search Ingrid
Curl Java Node JS Python
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 Java Node JS Python
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
Curl Java Node JS Python
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: For manual campaigns:
multiplier
% Value by which original bid is modified
Integer
Y
Value of multiplier
Sample Request - Search Ingrid
Curl Java Node JS Python
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 Java Node JS Python
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
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 Java Node JS Python
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
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
Curl Java Node JS Python
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
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 Java Node JS Python
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