syncro: Phase-1b breadth findings (leads/vendors/products/PO/worksheets)
Live-tested the remaining write resources on Howard Test. Recorded: - wrapped response shapes (.lead.id/.vendor.id/.product.id/.purchase_order.id/ .po_line_item.id/.worksheet_result.id) added to Verified Response Shapes. - create_po_line_item requires product maintain_stock:true. - worksheet templates live in GET /tickets/settings (.worksheet_templates[]), no standalone endpoint; need a valid worksheet_template_id. - PUT /products requires name+description; leads/vendors/products/POs have NO DELETE (global test records persist -> GUI cleanup). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -590,6 +590,12 @@ Every endpoint's response shape, verified against the live API. Parse exactly as
|
||||
| Create contract | POST `/contracts` | write OK but body does NOT echo the object | GET `/contracts` + match; never retry on null |
|
||||
| Email invoice | POST `/invoices/{id}/email` | `{"message": "Email sent."}` | **200 even with NO recipient** — verify `customer.email` first |
|
||||
| Email estimate | POST `/estimates/{id}/email` | `{"message": "Email sent"}` | **200 even with NO recipient** — verify `customer.email` first |
|
||||
| Create lead | POST `/leads` | `{"lead": {...}}` | `.lead.id` |
|
||||
| Create vendor | POST `/vendors` | `{"vendor": {...}}` | `.vendor.id` — no DELETE (persists) |
|
||||
| Create/Update product | POST/PUT `/products/{id}` | `{"product": {...}}` | `.product.id` — `name`+`description` required; no DELETE |
|
||||
| Create PO | POST `/purchase_orders` | `{"purchase_order": {...}}` | `.purchase_order.id` — no DELETE |
|
||||
| Add PO line | POST `/purchase_orders/{id}/create_po_line_item` | `{"po_line_item": {...}}` | needs product `maintain_stock:true` |
|
||||
| Create worksheet | POST `/tickets/{id}/worksheet_results` | `{"worksheet_result": {...}}` | `.worksheet_result.id` — template ids in `GET /tickets/settings` |
|
||||
|
||||
**Invoice GET line_items field names differ from ticket line_items:** `item` = product name, `name` = description, `price` = unit rate. Do not use `price_retail` when reading invoice line items.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user