-
Notifications
You must be signed in to change notification settings - Fork 19
Package Manager API Implementation
minhazur9 edited this page Jun 9, 2023
·
9 revisions
Once an address has been validated it can now proceed over to Package Manager. Package Manager API has multiple endpoints that will be used for creating the communication package which has information about the package itself and the distribution which will be info on where the package will be sent.
We will be using multiple Package Manager API endpoints to handle the creation/submitting of packages and distributions to the post offices.
Type | Endpoint | Description |
---|---|---|
POST | /package-manager-service/communication-package | Create a communication package |
POST | /package-manager-service/distribution | Create and submit a distribution |
GET | /idt/api/v2/distributions/{distribution_id} | Get distribution package |
Code | Description |
---|---|
200 | Request processed successfully |
201 | Resource created successfully |
{
"file_number": "string",
"name": "string",
"document_reference_ids": [
{
"id": "string",
"copies": number
}
]
}
{
"id": "string",
"file_number": "string",
"document_referenced": [
{
"id": "string",
"copies": number,
}
],
"status": "string",
"created_date": "string",
"name": "string"
}
Data | Description |
---|---|
id | ID of the communication package |
file_number | File Number associated with the documents in the package. |
name | User friendly name for the communication package. |
document_referenced[].id | ID of the document referenced |
document_referenced[].copies | Number of copies to include in the Communication Package, must be at least 1 |
status | Status of the communication Package |
created_date | Communication package creation time stamp |
Code | Description |
---|---|
400 | There was an error encountered processing the Request. This request shouldn't be retried until corrected. |
403 | The server cannot create the new communication package due to insufficient privileges |
{
"communication_package_id": "string",
"recipient": {
"type": "string",
"name": "string",
"first_name": "string",
"middle_name": "string",
"last_name": "string",
"participant_id": "string",
"poa_code": "string",
"claimant_station_of_jurisdiction": "string"
},
"destinations": [
"type": "string",
"address_line1": "string",
"address_line2": "string",
"address_line3": "string",
"address_line4": "string",
"address_line5": "string",
"address_line6": "string",
"treat_line2_as_addressee": boolean,
"treat_line3_as_addressee": boolean,
"city": "string",
"state": "string",
"postal_code": "string",
"country_name": "string",
"country_code": "string",
"email_address": "string",
"phone_number": "string"
]
}
{
"id": "string",
"recipient": {
"type": "string",
"name": "string",
"first_name": "string",
"middle_name": "string",
"last_name": "string",
"participant_id": "string",
"poa_code": "string",
"claimant_station_of_jurisdiction": "string"
},
"description": "string",
"communication_package_id": "string",
"destinations": [
{
"type": "string",
"address_line1": "string",
"address_line2": "string",
"address_line3": "string",
"address_line4": "string",
"address_line5": "string",
"address_line6": "string",
"treat_line2_as_addressee": boolean,
"treat_line3_as_addressee": boolean,
"city": "string",
"state": "string",
"postal_code": "string",
"country_name": "string",
"country_code": "string",
"email_address": "string",
"phone_number": "string",
}
],
"status": "string",
"sent_to_cbcm_date" : "string"
}
}
id - The Distribution UUID
{
"id": 1234,
"distribution_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"recipient": {
"type": "organization",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"destinations": [
{
"type": "string",
"address_line_1": "string",
"address_line_2": "string",
"address_line_3": "string",
"address_line_4": "string",
"address_line_5": "string",
"address_line_6": "string",
"treat_line_2_as_addressee": true,
"treat_line_3_as_addressee": true,
"city": "string",
"state": "string",
"postal_code": "string",
"country_name": "string",
"country_code": "string"
}
],
"status": "IN_PROGRESS",
"sent_to_cbcm_date": "string"
}
Data | Description |
---|---|
communication_package_id | Communication Package id |
recipient.type | Recipient’s type. Must be either 'organization', 'person', 'system', or 'ro-colocated' |
recipient.name | Recipient’s name. If type is not 'person' then it must not be null. |
recipient.first_name | Recipient’s first name. Cannot be null if type is 'person' |
recipient.middle_name | Recipient’s middle name. Optional |
recipient.last_name | Recipient’s last name. Cannot be null if type is 'person' |
recipient.participant_id | Recipient’s participant id |
recipient.poa_code | Recipient’s POA code. Cannot be null if type is 'ro-colocated' |
recipient.claimant_station_of_jurisdiction | Recipient's claimant station of jurisdiction. Cannot be null if type is 'ro-colocated' |
destinations[].status | ID of the communication package |
destinations[].cbcm_send_attempt_date | File Number associated with the documents in the package. |
destinations[].type | Destination Type. Must be 'domesticAddress', 'internationalAddress', 'militaryAddress', 'derived', 'email', or 'sms'. Cannot be 'physicalAddress'. |
destinations[].address_line1 | Solely the first line of the requested address without city, state, or zip |
destinations[].address_line2 | Solely the second line of the requested address without city, state, or zip |
destinations[].address_line3 | Solely the third line of the requested address without city, state, or zip |
destinations[].address_line4 | Solely the fourth line of the requested address without city, state, or zip |
destinations[].address_line5 | Solely the fifth line of the requested address without city, state, or zip |
destinations[].address_line6 | Solely the sixth line of the requested address without city, state, or zip |
destinations[].city | City for this destination. Must not be null if type is 'domestic', 'international', or 'military' |
destinations[].state | State for this destination. Must be 2 letter ISO. Must not be null if type is 'domestic', 'international', or 'military' |
destinations[].postal_code | Postal code for this destination. Must not be null if type is 'domestic', 'international', or 'military' |
destinations[].country_name | Country name for this destination. Must not be null if type is 'international' |
destinations[].country_code | Country code for this destination. Must be a 2 letter ISO code |
destinations[].email_address | Email Address for this destination. Cannot be null if type is 'email' |
destinations[].phone_number | Phone Number for this destination. Cannot be null if type is 'sms' |
Code | Description |
---|---|
400 | There was an error encountered processing the Request. This request shouldn't be retried until corrected. |
403 | The server cannot create the distribution due to insufficient privileges. |
404 | The communication package could not be found but may be available again in the future |
500 | An error has occurred while trying to process the request |
- Home
- Acronyms and Glossary
- Caseflow products
- Caseflow Intake
- Caseflow Queue
- Appeals Consumer
- Caseflow Reader
- Caseflow eFolder
- Caseflow Hearings
- Caseflow Certification
- Caseflow APIs
- Appeal Status API
- Caseflow Dispatch
-
CSUM Roles
- System Admin
- VHA Team Management
- Active Record Queries Resource
- External Integrations
- Caseflow Demo
- Caseflow ProdTest
- Background
- Stuck Jobs
- VA Notify
-
Caseflow-Team
- Tier 4
- Bat Team
- Technical Documentation
- Backend Code Patterns
- Backend Working Group
- FACOLS, VACOLS DB Schema
- Asyncable Models
- External Data: where and why
- Data Fetching Scripts
- Caseflow Data Model and Dictionary
- User Access Permissions
- Controller Schemas
- Constants
- Frontend Best Practices
- Accessibility
- How-To
- Debugging Tips
- Adding a Feature Flag with FeatureToggle
- Editing AMA issues
- Editing a decision review
- Fixing task trees
- Investigating and diagnosing issues
- Data and Metric Request Workflow
- Exporting and Importing Appeals
- Explain page for Appeals
- Record associations and Foreign Keys
- Upgrading Ruby
- Stuck Appeals
- Testing Action Mailer Messages Locally
- Re-running Seed Files
- Rake Generator for Legacy Appeals
- Manually running Scheduled Jobs
- System Admin UI
- Caseflow Makefile
- Upgrading Postgresql from v11.7 to v14.8 Locally
- VACOLS VM Trigger Fix M1
- Using SlackService to Send a Job Alert
- Technical Talks