Contact — Data Models
The Contact service is the system of record for the people and organisations a tenant does business with — customers, suppliers, and their billing/shipping details. It owns the CONTACT entity and the request/response models behind the contact APIs, and feeds downstream services (sales, invoicing, work orders) with contact and balance data.
Auto-generated from dismantly-backend/Microservices/Contact/dependencies/models.py. Do not edit by hand.
Interaction map
How the APIs and events in this service read and write its objects, and how changes flow downstream.
Click an object box (e.g. the CONTACT cylinder) to open its page, or a handler box to view its source on GitHub. Drag to pan, scroll to zoom, or use the Fullscreen button.
Stored Objects (Entities)
| Object | Discriminator | Version |
|---|---|---|
| Contact | CONTACT | v13.1.0 |
| TablePreferencesItem | TABLE_CONFIG | v1.1.0 |
Supporting Models
| Object | Version |
|---|---|
| ContactGetBalance | v1.0.0 |
| ContactGetContacts | v1.0.0 |
| ContactGetCredit | v1.0.0 |
| ContactGetCreditNotes | v1.0.0 |
| ContactGetInvoices | v1.0.0 |
| ContactGetQuotes | v1.0.0 |
| ContactGetSaleMetrics | v1.0.0 |
| ContactGetTotalMetrics | v1.0.0 |
| ContactGetWorkOrders | v1.0.0 |
| ContactHandleSalesChannel | v6.0.0 |
| ContactPost | v12.1.0 |
| ContactPut | v12.1.0 |
| ContactRestore | v1.0.0 |
| Credentials | v2.0.0 |
| TableColumnConfig | v1.0.0 |
| TablePreferencesPayload | v1.0.0 |
| ValidateContact | v1.0.0 |
API Surface
Every endpoint and event in this service, with the model(s) it uses.
| Trigger | Endpoint / Source | Handler | Model(s) |
|---|---|---|---|
| Stream | DynamoDB stream | src/contact_algolia_sync.py | — |
| API | DELETE /newcontact/ | src/contact_archive.py | — |
| API | GET /newcontact/download | src/contact_download_csv.py | — |
| API | GET /newcontact/ | src/contact_get.py | — |
| API | GET /newcontact/balance | src/contact_get_balance.py | ContactGetBalance |
| API | POST /newcontact/contacts | src/contact_get_contacts.py | ContactGetContacts |
| API | GET /newcontact/credit | src/contact_get_credit.py | ContactGetCredit |
| API | POST /newcontact/creditNotes | src/contact_get_credit_notes.py | ContactGetCreditNotes |
| API | POST /newcontact/invoices | src/contact_get_invoices.py | ContactGetInvoices |
| API | POST /newcontact/quotes | src/contact_get_quotes.py | ContactGetQuotes |
| API | GET /newcontact/sales | src/contact_get_sales_metrics.py | ContactGetSaleMetrics |
| API | GET /newcontact/tablePreferences | src/contact_get_table_preferences.py | TableKeyEnum |
| API | GET /newcontact/totals | src/contact_get_totals_metrics.py | ContactGetTotalMetrics |
| API | POST /newcontact/workOrder | src/contact_get_work_orders.py | ContactGetWorkOrders |
| Event | EventBridge | src/contact_handle_capricorn_events.py | — |
| API | PUT /newcontact/hiddenStatus | src/contact_hidden_status_put.py | — |
| API | PUT /newcontact/holdStatus | src/contact_hold_status_put.py | — |
| Stream | DynamoDB stream | src/contact_opensearch_sync.py | — |
| API | POST /newcontact/ | src/contact_post.py | Contact, ContactPost |
| API | POST /newcontact/tablePreferences | src/contact_post_table_preferences.py | TableKeyEnum, TablePreferencesItem, TablePreferencesPayload |
| API | PUT /newcontact/ | src/contact_put.py | ContactPut |
| API | PUT /newcontact/restore | src/contact_restore.py | ContactRestore |
| Event | EventBridge | src/contact_self_heal.py | — |
| API | GET /newcontact/validate | src/contact_validate.py | ValidateContact |
| Event | EventBridge | src/handle/contact_handle_sales_channel_web_hook.py | ContactHandleSalesChannel |
| API | GET /newcontact/history | src/history/contact_history_get.py | — |
| Stream | DynamoDB stream | src/history/contact_history_process.py | — |
| Event | EventBridge | src/xero_web_hook/create_contact_from_xero.py | — |
| Event | EventBridge | src/xero_web_hook/update_contact_from_xero.py | — |