85 lines
2.8 KiB
Markdown
85 lines
2.8 KiB
Markdown
## 🧩 **Rome Service Vehicle Insert — Developer Integration Summary**
|
||
|
||
### **Purpose & Scope**
|
||
|
||
This interface allows third-party systems (like your Rome middleware) to insert a new *Service Vehicle* record into the Reynolds & Reynolds DMS.
|
||
The DMS will validate the provided vehicle and customer data, create the record if valid, and respond with a status of `Success` or `Failure`.
|
||
|
||
---
|
||
|
||
### **Core Workflow**
|
||
|
||
1. **POST** a SOAP request to the Reynolds endpoint (`ProcessMessage`).
|
||
2. Include the XML payload structured as `rey_RomeServVehicleInsertRequest`.
|
||
3. Receive `rey_RomeServVehicleInsertResponse` with:
|
||
|
||
* Transmission status (`GenTransStatus`),
|
||
* Optional `StatusCode` from the return codes table (Appendix E).
|
||
|
||
---
|
||
|
||
### **Request (`rey_RomeServVehicleInsertRequest`)**
|
||
|
||
**Sections:**
|
||
|
||
* **ApplicationArea**
|
||
|
||
* Metadata such as `CreationDateTime`, `BODId`, and sender/destination details.
|
||
* **Vehicle**
|
||
|
||
* Basic vehicle identity fields (`Vin`, `VehicleMake`, `VehicleYear`, etc.).
|
||
* Sub-element `VehicleDetail` for mechanical attributes (`Aircond`, `EngineConfig`, etc.).
|
||
* **VehicleServInfo**
|
||
|
||
* Operational context: stock ID, customer number, advisor, warranty, production dates, etc.
|
||
* Includes sub-elements:
|
||
|
||
* `VehExtWarranty` (contract #, expiration date/mileage)
|
||
* `Advisor` → `ContactInfo` (NameRecId)
|
||
|
||
**Required core fields**
|
||
|
||
* `Vin` (validated via `GEVINVAL`)
|
||
* `VehicleMake`, `VehicleYear`, `ModelDesc`, `Carline`
|
||
* `CustomerNo` (must pre-exist)
|
||
* `SalesmanNo` (valid advisor)
|
||
* `InServiceDate` ≤ current date
|
||
* `TeamCode` – must exist in `MECHANICS` file
|
||
|
||
---
|
||
|
||
### **Response (`rey_RomeServVehicleInsertResponse`)**
|
||
|
||
**Elements:**
|
||
|
||
* `ApplicationArea` – mirrors request metadata.
|
||
* `GenTransStatus` – attributes:
|
||
|
||
* `Status` = `Success` | `Failure`
|
||
* `StatusCode` = numeric code (see Appendix E)
|
||
|
||
---
|
||
|
||
### **Error Codes (Appendix E Highlights)**
|
||
|
||
| Code | Meaning |
|
||
| ------ | ----------------------------------------------------- |
|
||
| `0` | Success |
|
||
| `300` | Vehicle already exists |
|
||
| `301` | Invalid make or ownership not established |
|
||
| `502` | Advisor was terminated |
|
||
| `506` | Mileage must be greater than last mileage |
|
||
| `513` | VIN must be added to ERA2 before an RO can be created |
|
||
| `9999` | Undefined error |
|
||
|
||
---
|
||
|
||
### **Implementation Notes**
|
||
|
||
* Endpoint authentication and URL differ between **test** and **production**.
|
||
* Ensure all date fields follow format `MM/DD/YYYYThh:mm:ssZ(EST)` (local dealer time).
|
||
* Use `GUID` for `BODId` to ensure message traceability.
|
||
* Validate VIN before submission; rejected VINs halt insertion.
|
||
|
||
---
|