Conversation
Contributor
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
nkuma246
marked this pull request as ready for review
May 27, 2026 10:37
nkuma246
marked this pull request as draft
May 27, 2026 10:37
atelegu
marked this pull request as ready for review
June 22, 2026 12:54
There was a problem hiding this comment.
Pull request overview
Adds SDK support for the new <Refer> BXML verb and introduces a corresponding ReferCompleteCallback model in the generated OpenAPI surface, along with documentation and unit tests.
Changes:
- Added
Referverb model, registered it inBxml, and added JAXB serialization unit tests. - Added
ReferCompleteCallbackmodel + docs, and registered its Gson type adapter. - Updated shared callback
eventTypedocumentation across multiple generated callback models/docs/specs to includereferComplete.
Reviewed changes
Copilot reviewed 53 out of 53 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/test/java/com/bandwidth/sdk/unit/models/bxml/ReferVerbTest.java | Adds JAXB serialization tests for <Refer> verb output. |
| src/main/java/com/bandwidth/sdk/model/TransferDisconnectCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/TransferCompleteCallback.java | Updates generated model docs (currently describing Refer Complete). |
| src/main/java/com/bandwidth/sdk/model/TransferAnswerCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/TranscriptionAvailableCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ReferCompleteCallback.java | Adds new generated callback model for Refer Complete events. |
| src/main/java/com/bandwidth/sdk/model/RedirectCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/RecordingCompleteCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/RecordingAvailableCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/MachineDetectionCompleteCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/InitiateCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/GatherCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/DtmfCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/DisconnectCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceRedirectCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceRecordingAvailableCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceMemberJoinCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceMemberExitCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceCreatedCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/ConferenceCompletedCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/bxml/Refer.java | Adds the <Refer> BXML verb model and its attributes. |
| src/main/java/com/bandwidth/sdk/model/bxml/Bxml.java | Registers <Refer> as a supported verb within <Bxml>. |
| src/main/java/com/bandwidth/sdk/model/BridgeTargetCompleteCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/BridgeCompleteCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/model/AnswerCallback.java | Updates eventType doc list to include referComplete. |
| src/main/java/com/bandwidth/sdk/JSON.java | Registers Gson adapter factory for ReferCompleteCallback. |
| README.md | Adds model doc link for ReferCompleteCallback. |
| docs/TransferDisconnectCallback.md | Updates eventType doc list to include referComplete. |
| docs/TransferCompleteCallback.md | Updates generated markdown model doc (currently describing Refer Complete). |
| docs/TransferAnswerCallback.md | Updates eventType doc list to include referComplete. |
| docs/TranscriptionAvailableCallback.md | Updates eventType doc list to include referComplete. |
| docs/ReferCompleteCallback.md | Adds markdown documentation for ReferCompleteCallback. |
| docs/Refer.md | Adds documentation page for the <Refer> BXML verb. |
| docs/RedirectCallback.md | Updates eventType doc list to include referComplete. |
| docs/RecordingCompleteCallback.md | Updates eventType doc list to include referComplete. |
| docs/RecordingAvailableCallback.md | Updates eventType doc list to include referComplete. |
| docs/MachineDetectionCompleteCallback.md | Updates eventType doc list to include referComplete. |
| docs/InitiateCallback.md | Updates eventType doc list to include referComplete. |
| docs/GatherCallback.md | Updates eventType doc list to include referComplete. |
| docs/DtmfCallback.md | Updates eventType doc list to include referComplete. |
| docs/DisconnectCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceRedirectCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceRecordingAvailableCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceMemberJoinCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceMemberExitCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceCreatedCallback.md | Updates eventType doc list to include referComplete. |
| docs/ConferenceCompletedCallback.md | Updates eventType doc list to include referComplete. |
| docs/BridgeTargetCompleteCallback.md | Updates eventType doc list to include referComplete. |
| docs/BridgeCompleteCallback.md | Updates eventType doc list to include referComplete. |
| docs/AnswerCallback.md | Updates eventType doc list to include referComplete. |
| bandwidth.yml | Adds referCompleteCallback schema and updates eventType list; updates transferCompleteCallback description text. |
| api/openapi.yaml | Adds referCompleteCallback schema and updates eventType list; updates transferCompleteCallback description text. |
| .openapi-generator/FILES | Includes newly generated model/doc files in generator manifest. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
stampercasey
left a comment
There was a problem hiding this comment.
Review from Claude Code — see inline comments for individual findings. Four blockers, all in the verb attributes and callback model.
stampercasey
previously approved these changes
Jun 24, 2026
ReferCompleteCallback (and its ReferCallStatusEnum dependency) will land later via a separate api-specs-driven PR once VAPI-3440 merges, so it doesn't belong in this PR yet. Refer's nested Refer.ReferSipUri is also removed in favor of the existing Transfer-flavored SipUri class, matching the merged csharp-sdk reference implementation (Bandwidth/csharp-sdk#201) which kept Refer plain: no validation, no custom builder, just a shared SipUri property.
bandwidth.yml/api/openapi.yaml still carried the full referCompleteCallback schema and a referComplete addition to the shared eventType enum description after ReferCompleteCallback.java was deleted; nothing generates from it anymore. Also removed the corresponding .openapi-generator/FILES entries and a stray README.md indentation glitch.
The eventType enum description was regenerated with referComplete added to every callback model's docs/*.md and javadoc comment, plus the standalone eventType schema's line wrap in api/openapi.yaml. Since ReferCompleteCallback is out of scope for this PR, these are unrelated diff noise - reverted to match main exactly.
api/openapi.yaml still carried an unrelated pre-existing rewrap of transferCompleteCallback's description with no connection to this PR - reverted the whole file to match main. Also dropped docs/Refer.md: Refer is hand-written (not generated from api/openapi.yaml), so it's the only BXML verb with a hand-maintained doc page, matching the csharp-sdk reviewer's call to delete the equivalent doc there (customers use the BXML dev docs guide instead).
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.
Adds the
<Refer>BXML verb.src/main/java/com/bandwidth/sdk/model/bxml/Refer.java: newReferverb, registered inBxml.java.SipUriclass (implementsOutboundDestination) for the SIP URI child instead of a separate nestedRefer.ReferSipUri, built via the same stock Lombok@BuilderasTransfer- no cross-field validation restricting whichSipUriattributes are legal per verb.ReferVerbTest.javacovering minimal and full-attribute XML serialization.Tests:
mvn test -Dtest="com.bandwidth.sdk.unit.models.*Test"- 1190/1190 pass.VAPI-3438