Skip to content

feat(caller-reputation): support profile-first Caller Reputation API - #325

Merged
revanth-plivo merged 4 commits into
masterfrom
feat/caller-reputation-profile-first
Aug 19, 2026
Merged

feat(caller-reputation): support profile-first Caller Reputation API#325
revanth-plivo merged 4 commits into
masterfrom
feat/caller-reputation-profile-first

Conversation

@revanth-plivo

Copy link
Copy Markdown
Contributor

Summary

  • Adds four optional fluent-builder params to ProfileUpdater for the new profile-first Caller Reputation wire shape: enable_caller_reputation, vetting_provider, callback_url, callback_method
  • Setter method names match the wire keys verbatim so the SDK is symmetric with the API surface across languages
  • Bumps to 5.51.0; single new test profileUpdateWithCallerReputationShouldSucceed

Post-review wire shape

Profile.update(profileUuid)
    .enable_caller_reputation(true)
    .vetting_provider(java.util.Arrays.asList("at&t", "t-mobile"))
    .callback_url("https://example.com/cr/webhook")
    .callback_method("POST")
    .update();
  • vetting_provider values are the customer-facing carrier keys "at&t" and "t-mobile" (case-insensitive on the API side; canonical lowercase in storage).
  • Single profile-level callback URL replaces the earlier per-carrier callbacks: {carrier: {url, method}} map.
  • Update Number is now attach-only for Caller Reputation — never calls RegisterBusiness in any case (approved, pending, failed, missing).

Test plan

  • mvn test -Dtest=ProfileTest#profileUpdateWithCallerReputationShouldSucceed passes
  • Existing profileUpdateShouldSucceed still passes (backward-compat)
  • Manual end-to-end run against pre-prod: Profile.update(uuid).enable_caller_reputation(true).vetting_provider(Arrays.asList("at&t")).callback_url("https://…").callback_method("POST").update() returns 200 with caller_reputation_status in the response
  • SELECT 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

revanth-plivo and others added 2 commits August 6, 2026 00:51
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>
revanth-plivo and others added 2 commits August 12, 2026 10:18
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>
@revanth-plivo
revanth-plivo merged commit 53520ab into master Aug 19, 2026
7 of 9 checks passed
@revanth-plivo
revanth-plivo deleted the feat/caller-reputation-profile-first branch August 19, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants