API Behavioral Differences: Agrippa vs Concierge
This guide explains the key differences in how the API behaves when using Agrippa versus Concierge routing keys.
Data Visibility
Hidden Custom Dimension Values (CDV)
| Feature | Agrippa | Concierge |
|---|---|---|
| Hidden CDVs | Hidden CDVs appear in API responses | Hidden CDVs are excluded from API responses |
| Value Labels | Value labels are shown for internal visibility passkeys | Value labels are shown only for external visibility passkeys |
Response Formatting
CDV, Badge, and Response Structure
| Feature | Agrippa | Concierge |
|---|---|---|
| CDV from Contributors | Automatically includes CDV values (like verifiedPurchaser) from the Contributor/Author object directly into the main Review object | Does not automatically include CDVs from contributor/author. The CDV must exist in the main Review object itself |
| ClientResponses Object | If a field is unavailable, its value is set to null | If a field is unavailable, it is completely removed from the response object |
| Empty Review Title | Returns null for empty review titles | Returns an empty string ("") for empty review titles |
| Empty API Parameters | Accepts empty parameters in API calls | Throws an error when empty parameters are passed. Returns no results ⚠️ |
Important: The empty parameter handling difference may break existing implementations that pass empty parameters.
Example: Empty API Parameters
Agrippa Request:
https://stg.api.bazaarvoice.com/data/reviews.json?apiversion=5.4&passkey=kuy3zj9pr3n7i0wxajrzj04xo&Filter=ProductId:1000001&Include=Products&filter=&filter=
Agrippa Response:
Returns a successful response with results:
{
"Locale": "en_US",
"Errors": [],
"Results": [
{
"UserNickname": "hju78",
"Rating": 3,
"ReviewText": "TESTING>>>>>TESTING>>>>>TESTING...",
"ProductId": "1000001",
"Title": "TESTING>>>>>TESTING>>>>>TESTING",
"ModerationStatus": "APPROVED",
"IsRecommended": true,
"Id": "192613"
}
],
"TotalResults": 150,
"Limit": 1,
"HasErrors": false,
"Offset": 0
}
Concierge Request:
https://stg.api.bazaarvoice.com/data/reviews.json?apiversion=5.4&filter=ProductId%3Adata-gen-moppq9ekthfzbc6qff3bqokie&Offset=&Limit=&Sort=&stats=reviews&include=products&filter=&filter=&passkey=caB45h2jBqXFw1OE043qoMBD1gJC8EwFNCjktzgwncXY4
Concierge Response:
Returns errors and no results:
{
"Limit": 0,
"Offset": 0,
"TotalResults": 0,
"Locale": "en_US",
"Results": [],
"Includes": {},
"HasErrors": true,
"Errors": [
{
"Message": "Illegal empty filter string.",
"Code": "ERROR_PARAM_INVALID_FILTER_ATTRIBUTE"
},
{
"Message": "Illegal empty sort string: ",
"Code": "ERROR_PARAM_INVALID_SORT_ATTRIBUTE"
},
{
"Message": "Illegal empty limit string: ",
"Code": "ERROR_PARAM_INVALID_LIMIT"
},
{
"Message": "Illegal empty offset string: ",
"Code": "ERROR_PARAM_INVALID_OFFSET"
}
]
}
Review Statistics CDV Count
Key Difference in Statistics Calculation
Context:
Only CDVs that are configured and enabled in Configuration are included in statistics. Concierge uses CDV IDs for stats calculation and is case-sensitive.
Example:
If the configuration is set for lowercase 'under18', but the actual value is CamelCase 'Under18', then:
- Concierge: The value will NOT be counted in review statistics
- Agrippa: The value WILL be counted in review statistics
Example Responses
Agrippa Response
"Age": {
"Label": "Age:",
"Values": [
{
"Value": "under18",
"Count": 1
},
{
"Value": "18to24",
"Count": 1
},
{
"Value": "25to29",
"Count": 50
},
{
"Value": "30to39",
"Count": 3
},
{
"Value": "40to49",
"Count": 4
},
{
"Value": "50to60",
"Count": 4
},
{
"Value": "over60",
"Count": 132
}
]
}
Note: Includes "under18" with a count of 1.
Concierge Response
"Age": {
"Id": "Age",
"Values": [
{
"Count": 1,
"Value": "18to24",
"ValueLabel": "18-24"
},
{
"Count": 50,
"Value": "25to29",
"ValueLabel": "25-29"
},
{
"Count": 3,
"Value": "30to39",
"ValueLabel": "30-39"
},
{
"Count": 4,
"Value": "40to49",
"ValueLabel": "40-49"
},
{
"Count": 4,
"Value": "50to60",
"ValueLabel": "50-60"
},
{
"Count": 10,
"Value": "over60",
"ValueLabel": "Over 60"
}
]
}
Note: The "under18" value is missing due to case-sensitivity mismatch.
Email Address Access
The encryption mechanism for emails varies between the Concierge and Agrippa.
Updated 4 days ago
