Review 
Overview 
Review API is used for fetching reviews for a specific advertiser.
Usage: 
To retrieve and update the list of all the advertising items added to the campaign catalog 
Helps in streamlining the campaign creation process and makes it easier to optimize campaigns 
 
To understand details about ‘Request Header' or 'Authorization’,
please refer to the Authorization Guide 
Fetch Reviews for Advertisers 
Description:  Fetch reviews that have been submitted for an advertiser
End Point:  /api/v1/review
HTTP Method:  GET
Query Parameters 
Parameter Description Type Required Possible Values  
 
advertiserId 
The ID of the advertiser for whom the review(s) should be returned 
Integer 
N 
Unique numeric identifier 
 
adGroupId 
ID of the ad group for whom the review(s) should be returned. Can fetch only reviews for a specific adgroup within the advertiser by specifying this parameter 
Integer 
N 
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/review' 
-- header   ' Authorization :   Bearer   ************** '   
-- header   ' accept :   application / json ' 
-- header   ' WM_SEC . AUTH_SIGNATURE :   *********** '   
-- header   ' WM_SEC . KEY_VERSION :   2 '   
-- header   ' WM_CONSUMER . ID :*********** '   
-- header   ' wm_qos . correlation_id :   12345 '   
-- header   ' wm_consumer . intimestamp :   1707205605000 '   
 
  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/review" )   
  . 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" ,   "1707205605000" )   
  . 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/review' ,   
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/review"  
payload  =  {} 
headers  =  { 
'Authorization' :  'Bearer ***************'  
'wm_consumer.id' :  '************' , 
'wm_sec.key_version' :  '2' , 
'wm_sec.auth_signature' :  '************' , 
'wm_qos.correlation_id' :  '12345' , 
'wm_consumer.intimestamp' :  '1707205605000' 
} 
response  =  requests . request ( "GET" ,  url ,  headers = headers ,  data = payload ) 
print ( response . text ) 
 
 
Response 
Element Description Type  
 
reviewId 
ID of the review 
Integer 
 
campaignId 
ID of the campaign 
Integer 
 
adGroupId 
ID of the ad group 
Integer 
 
reviewStatus 
State of the review; "pending", "in progress", or "complete" 
String 
 
reviewComments 
Feedback comments from AdOps on invalid content. 
Dictionary of string 
 
 
Sample Response 
[
    {
        "reviewId": 20019,
        "campaignId": 26539,
        "adGroupId": 27694,
        "reviewStatus": "complete",
        "reviewComments":
        [
            {
                "commentType": "content",
                "comments": "P03017048 Item no longer in stock"
            },
            {
                "commentType": "keyword",
                "comments": "\"dumb\" inappropriate language"
            }
        ]
    }
]
HTTP Status Code 
Status Code Description Possible Error Messages  
 
400 
Bad Request 
advertiserId not found in request 
 
403 
Not Found 
  User not Authenticated   You do not have access to view this advertiser     
429 
Too Many Requests 
<Exception Message> 
 
500 
Internal Server Error 
There was an error processing the request 
 
 
Submit a Review for AdGroup 
Description:  Submit a review for a newly created AdGroup or for changes to an existing AdGroup 
URL:  /api/v1/review
HTTP Method:   POST
Body Parameters 
Parameter Description Type Required Possible Values  
 
campaignId 
ID of the campaign this ad group belongs to 
Integer 
Y 
Unique numeric identifier 
 
adGroupId 
ID of the adgroup 
Integer 
Y 
A valid adgroup ID 
 
 
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/review' 
-- header   ' Authorization :   Bearer   ************** '   
-- header   ' Content - Type :   application / json ' 
-- header   ' accept :   application / json '   
-- header   ' WM_SEC . AUTH_SIGNATURE :   ************** '   
-- header   ' WM_SEC . KEY_VERSION :   2 '   
-- header   ' WM_CONSUMER . ID :   ************** '   
-- header   ' wm_qos . correlation_id :   12345 '    
-- header   ' wm_consumer . intimestamp :   1707205605000 '    
-- data   ' [{ 
             "campaignId" :   1234 , 
             "adGroupId" :   1234 
         }] ' 
 
OkHttpClient   client   =   new   OkHttpClient (). newBuilder (). build ();   
MediaType   mediaType   =   MediaType . parse ( "application/json" );   
RequestBody   body   =   RequestBody . create ( mediaType ,   
"[{ 
    " campaignId ": 1234, 
    " adGroupId ": 1234 
}]" );   
Request   request   =   new   Request . Builder ()   
  . url ( "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/review" )   
  . method ( "POST" ,   body ) 
  . addHeader ( "Authorization" ,   "Bearer ***********" ) 
  . addHeader ( "Content-Type" ,   "application/json" )    
  . 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" ,   "1707205605000" )   
  . build ();    
  Response   response   =   client . newCall ( request ). execute ();   
 
const   axios   =   require ( 'axios' );   
let   data   =   JSON . stringify ([   
{   
     "campaignId" :   1234 ,   
     "adGroupId" :   1234   
}   
]);   
let   config   =   {   
method :   'post' ,   
maxBodyLength :   Infinity ,   
url :   'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/review' ,   
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 
url  =  "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/review"  
payload  =  json . dumps ([ 
{ 
"campaignId" :  1234 , 
"adGroupId" :  1234 
}])  
headers  =  { 
'Authorization' :  'Bearer ***************' , 
'Content-Type' :  'application/json' , 
'wm_consumer.id' :  '************' , 
'wm_sec.key_version' :  '2' , 
'wm_sec.auth_signature' :  '************' , 
'wm_qos.correlation_id' :  '12345' , 
'wm_consumer.intimestamp' :  '1707205605000' 
} 
response  =  requests . request ( "POST" ,  url ,  headers = headers ,  data = payload ) 
print ( response . text ) 
 
 
Response 
Element Description Type  
 
code 
Possible values of response code: success, failure 
String 
 
details 
Details of the response code.  
String 
 
reviewId 
ID of the review 
Integer 
 
 
Sample Response 
[
    {
        "code": "success",
        "details": "",
        "reviewId": 12345
    }
]
HTTP Status Code 
Status Code Description Possible Error Messages  
 
400 
Bad Request 
  Maximum allowed size in batch is 50  Campaign Id validation failed  AdGroup  Id validation failed  Multiple request for same item id within ad group is not allowed  Another Review is in pending or inProgress state  No Entity in pending state     
403 
Not Found 
  User not Authenticated   You do not have access to view this advertiser    You are not authorized to submit review for this ad group    
404 
Not Found 
  AdGroup not found  Campaign not found     
429 
Too Many Requests 
<Exception Message> 
 
500 
Internal Server Error 
  There was an error processing the request    
 
Cancel Review 
Description:  Review can only be canceled if it is in a 'Pending' state
URL:  /api/v1/review
HTTP Method:  PUT
Body Parameters 
Parameter Description Type Required Possible Values  
 
adGroupId 
ID of the adgroup the review belongs to 
Integer 
Y 
Unique numeric identifier 
 
campaignId 
ID of the campaign the adgroup belongs to 
Integer 
Y 
Unique numeric identifier 
 
reviewId 
ID of the review that is to be cancelled 
Integer 
Y 
Unique numeric identifier 
 
 
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/review'  
  -- header   ' Authorization :   Bearer   ************** '   
  -- header   ' Content - Type :   application / json '   
  -- header   ' accept :   application / json '   
  -- header   ' WM_SEC . AUTH_SIGNATURE :   *********** '   
  -- header   ' WM_SEC . KEY_VERSION :   2 '   
  -- header   ' wm_sec . auth_signature :   ****************** '   
  -- header   ' wm_qos . correlation_id :   12345 '   
  -- header   ' wm_consumer . intimestamp :   1707205605000 '   
  -- data   ' [{ 
         "campaignId" :   1234 , 
         "adGroupId" :   1234 , 
         "reviewId" :   1234 
     }] ' 
 
OkHttpClient   client   =   new   OkHttpClient (). newBuilder (). build ();   
MediaType   mediaType   =   MediaType . parse ( "application/json" );   
RequestBody   body   =   RequestBody . create ( mediaType ,   
"[{ 
    " campaignId ": 1234, 
    " adGroupId ": 1234, 
    " reviewId ": 1234 
}]" );   
Request   request   =   new   Request . Builder ()   
   . url ( "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/review" )      
  . method ( "PUT" ,   body )   
  . addHeader ( "Authorization" ,   "Bearer ***********" )    
  . addHeader ( "Content-Type" ,   "application/json" ) 
  . 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" ,   "1707205605000" )   
  . build ();   
Response   response   =   client . newCall ( request ). execute ();   
 
const   axios   =   require ( 'axios' );   
let   data   =   JSON . stringify ([   
{   
     "campaignId" :   1234 ,   
     "adGroupId" :   1234 ,   
     "reviewId" :   1234   
}   
]);   
let   config   =   {   
method :   'put' ,   
maxBodyLength :   Infinity ,   
url :   'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/review' ,   
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 
url  =  "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/review"  
payload  =  json . dumps ([ 
{ 
"campaignId" :  1234 , 
"adGroupId" :  1234 , 
"reviewId" :  1234 
}]) 
headers  =  { 
'Authorization' :  'Bearer ***************' , 
'Content-Type' :  'application/json' , 
'wm_consumer.id' :  '************' , 
'wm_sec.key_version' :  '2' , 
'wm_sec.auth_signature' :  '************' , 
'wm_qos.correlation_id' :  '12345' , 
'wm_consumer.intimestamp' :  '1707205605000' 
} 
response  =  requests . request ( "PUT" ,  url ,  headers = headers ,  data = payload ) 
print ( response . text ) 
 
 
Response 
Element Description Type  
 
code 
Status of the request to cancel the review,Expected values: success, failure 
String 
 
details 
Details of the action to cancel. Expected values: Success 
String 
 
reviewId 
ID of the review that is to be cancelled 
Integer 
 
 
Sample Response 
[
    {
        "code": "success",
        "details": "", 
        "reviewId": 12345
    },
    {
        "code": "failure",
        "details": "AdGroupReview not found", 
        "adGroupId": 54321
    }
]
HTTP Status Code 
Status Code Description Possible Error Messages  
 
400 
Bad Request 
  Maximum allowed size in batch is 50  Campaign Id validation failed  AdGroup  Id validation failed  Multiple request for same item id within ad group is not allowed  Another Review is in pending or inProgress state  No Entity in pending state     
403 
Not Found 
  User not Authenticated   You do not have access to view this advertiser    You are not authorized to submit review for this ad group    
404 
Not Found 
  AdGroup not found  Campaign not found     
429 
Too Many Requests 
<Exception Message> 
 
500 
Internal Server Error 
  There was an error processing the request