feat(caller-reputation): support profile-first Caller Reputation API - #325
Merged
Conversation
Adds four optional fluent-builder params to ProfileUpdater matching the new profile-first Caller Reputation wire shape: enable_caller_reputation (Boolean) vetting_provider (List<String>: "at&t", "t-mobile") callback_url (String) callback_method (String: "GET" | "POST") All four are optional and backward compatible; existing callers are unaffected. Setter names match the wire keys verbatim so the SDK is symmetric with the API surface across languages. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Addresses Narayana's PR #325 review — the fluent setters on ProfileUpdater are shorter and read as a natural pair now: .url("https://...") .method("POST") JSON wire is unchanged (Jackson serializes by field name; private callbackUrl / callbackMethod fields still produce callback_url / callback_method on the wire via the SNAKE_CASE naming strategy). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…tation_carriers · url · method)
Server now accepts `caller_reputation_carriers` (spec v5 rename from
`vetting_provider`) and plain `url` / `method` scalars (drop the
"callback_" prefix). Update the SDK to match:
- Rename field vettingProvider → callerReputationCarriers,
fluent method vetting_provider(...) → caller_reputation_carriers(...)
- Rename field callbackUrl → url, keep the .url(...) fluent method
- Rename field callbackMethod → method, keep the .method(...) fluent method
- Update CHANGELOG + ProfileTest fixture accordingly
- Advertise the "verizon" carrier key alongside "at&t" / "t-mobile"
Backwards-incompatible for anyone who was already calling
.vetting_provider(...) — the method rename is deliberate to match the
new server contract; there is no shipped version with the old name.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Jai Shankar (jaishankar-plivo)
approved these changes
Aug 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ProfileUpdaterfor the new profile-first Caller Reputation wire shape:enable_caller_reputation,vetting_provider,callback_url,callback_method5.51.0; single new testprofileUpdateWithCallerReputationShouldSucceedPost-review wire shape
vetting_providervalues are the customer-facing carrier keys"at&t"and"t-mobile"(case-insensitive on the API side; canonical lowercase in storage).callbacks: {carrier: {url, method}}map.RegisterBusinessin any case (approved, pending, failed, missing).Test plan
mvn test -Dtest=ProfileTest#profileUpdateWithCallerReputationShouldSucceedpassesprofileUpdateShouldSucceedstill passes (backward-compat)Profile.update(uuid).enable_caller_reputation(true).vetting_provider(Arrays.asList("at&t")).callback_url("https://…").callback_method("POST").update()returns 200 withcaller_reputation_statusin the responseSELECT caller_reputation_callback_url, caller_reputation_callback_method FROM plivo_account_profile WHERE profile_uuid = ...shows the values landed in dbcfg🤖 Generated with Claude Code