@ingenx-io/valets-schema-mcp-server 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/docs/enums/attention-status.md +1 -1
- package/data/docs/enums/booking-status.md +1 -1
- package/data/docs/enums/customer-payment-status.md +1 -1
- package/data/docs/enums/customer-payment-target-type.md +1 -1
- package/data/docs/enums/delivery-type.md +1 -1
- package/data/docs/enums/deployment-link-type.md +1 -1
- package/data/docs/enums/event-status.md +1 -1
- package/data/docs/enums/fulfillment-status.md +1 -1
- package/data/docs/enums/loyalty-transaction-type.md +1 -1
- package/data/docs/enums/order-status.md +1 -1
- package/data/docs/enums/outbound-message-kind.md +22 -0
- package/data/docs/enums/outbound-message-status.md +25 -0
- package/data/docs/enums/payment-method.md +2 -2
- package/data/docs/enums/payment-proof-status.md +2 -2
- package/data/docs/enums/payment-status.md +2 -2
- package/data/docs/enums/pending-issue.md +2 -2
- package/data/docs/enums/return-status.md +2 -2
- package/data/docs/enums/session-status.md +2 -2
- package/data/docs/enums/site-status.md +2 -2
- package/data/docs/enums/stocktake-frequency.md +2 -2
- package/data/docs/enums/stocktake-item-status.md +2 -2
- package/data/docs/enums/stocktake-status.md +2 -2
- package/data/docs/enums/ticket-status.md +2 -2
- package/data/docs/enums/waba-label.md +2 -2
- package/data/docs/index.md +5 -2
- package/data/docs/models/allowed-user.md +1 -1
- package/data/docs/models/analytics-backfill.md +1 -1
- package/data/docs/models/analytics-daily.md +1 -1
- package/data/docs/models/analytics-event.md +1 -1
- package/data/docs/models/analytics-hourly.md +1 -1
- package/data/docs/models/booking-version.md +1 -1
- package/data/docs/models/booking.md +1 -1
- package/data/docs/models/customer-payment-allocation.md +1 -1
- package/data/docs/models/customer-payment.md +1 -1
- package/data/docs/models/customer.md +1 -1
- package/data/docs/models/event.md +1 -1
- package/data/docs/models/loyalty-config.md +1 -1
- package/data/docs/models/loyalty-reward.md +1 -1
- package/data/docs/models/loyalty-status.md +1 -1
- package/data/docs/models/loyalty-transaction.md +1 -1
- package/data/docs/models/magic-link-request.md +1 -1
- package/data/docs/models/metrics-current.md +1 -1
- package/data/docs/models/metrics-daily.md +1 -1
- package/data/docs/models/metrics-monthly.md +1 -1
- package/data/docs/models/order-item.md +1 -1
- package/data/docs/models/order.md +1 -1
- package/data/docs/models/sale.md +1 -1
- package/data/docs/models/site-payment.md +1 -1
- package/data/docs/models/site.md +1 -1
- package/data/docs/models/stocktake-item.md +1 -1
- package/data/docs/models/stocktake.md +1 -1
- package/data/docs/models/ticket.md +1 -1
- package/data/docs/models/whatsapp-inbound-message.md +20 -20
- package/data/docs/models/whatsapp-outbound-message.md +365 -0
- package/data/static/llms.txt +55 -3
- package/data/static/openapi.yaml +139 -4
- package/data/static/schemas.json +160 -4
- package/package.json +1 -1
package/data/docs/models/site.md
CHANGED
|
@@ -546,7 +546,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
546
546
|
**Description:** Timestamp of the most recent analytics event seen for this site.
|
|
547
547
|
|
|
548
548
|
----------------------------------------------------------------------------------------------------------------------------
|
|
549
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
549
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-16 at 00:18:16 +0000
|
|
550
550
|
|
|
551
551
|
:::warning Server-set
|
|
552
552
|
Do not include in write requests. This field is set exclusively by the server (Firestore trigger or Admin SDK). Clients that send it will have the value silently ignored or may receive a validation error.
|
|
@@ -497,4 +497,4 @@ Read-time hint snapshot of the verifier's display name (GH#29 §3 / Q10).
|
|
|
497
497
|
| **Required** | No |
|
|
498
498
|
|
|
499
499
|
----------------------------------------------------------------------------------------------------------------------------
|
|
500
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
500
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-16 at 00:18:16 +0000
|
|
@@ -642,7 +642,7 @@ Read-time hint snapshot of the completer's display name (GH#29 §3 / Q10).
|
|
|
642
642
|
| **Required** | No |
|
|
643
643
|
|
|
644
644
|
----------------------------------------------------------------------------------------------------------------------------
|
|
645
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
645
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-16 at 00:18:16 +0000
|
|
646
646
|
|
|
647
647
|
:::warning Server-set
|
|
648
648
|
Do not include in write requests. This field is set exclusively by the server (Firestore trigger or Admin SDK). Clients that send it will have the value silently ignored or may receive a validation error.
|
|
@@ -388,7 +388,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
388
388
|
**Description:** (Immutable) FK → User/staff UID who created this ticket.
|
|
389
389
|
|
|
390
390
|
----------------------------------------------------------------------------------------------------------------------------
|
|
391
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
391
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-16 at 00:18:16 +0000
|
|
392
392
|
|
|
393
393
|
:::info Immutable
|
|
394
394
|
Set at creation only. This field cannot be modified after the document is created. Include it in CREATE payloads; omit it (or leave unchanged) in UPDATE payloads.
|
|
@@ -60,23 +60,23 @@ sidebar_position: 28
|
|
|
60
60
|
| **Additional properties** | Not allowed |
|
|
61
61
|
| **Defined in** | #/definitions/whatsapp-inbound-message |
|
|
62
62
|
|
|
63
|
-
**Description:** WhatsappInboundMessage — inbound WhatsApp message persisted from Meta Cloud API webhook (GH#36). Collection: whatsapp_inbound_messages/\{docId\}
|
|
64
|
-
|
|
65
|
-
| Property | Pattern | Type | Deprecated | Definition | Title/Description
|
|
66
|
-
| ---------------------------- | ------- | ---------------- | ---------- | ------------------------------------ |
|
|
67
|
-
| - [id](#id ) | No | string or null | No | - | (Read-only) Firestore document ID — wamid from Meta Cloud API.
|
|
68
|
-
| + [wabaId](#wabaId ) | No | string | No | - | (Immutable) Meta WABA ID identifying which business number received the message.
|
|
69
|
-
| + [waba](#waba ) | No | enum (of string) | No | In #/definitions/waba-label | (Immutable) Human-readable WABA label (cmz \| val). See WabaLabel enum.
|
|
70
|
-
| + [messageId](#messageId ) | No | string | No | - | (Immutable) WhatsApp message ID (wamid) returned by Meta — mirrors the document ID.
|
|
71
|
-
| + [from](#from ) | No | string | No | - | (Immutable) Sender phone number in E.164 format.
|
|
72
|
-
| + [type](#type ) | No | Combination | No | - | (Immutable) Meta message type.
|
|
73
|
-
| + [timestamp](#timestamp ) | No | object | No | In #/definitions/firestore-timestamp | (Immutable) Message timestamp as reported by Meta.
|
|
74
|
-
| + [receivedAt](#receivedAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-side ingestion
|
|
75
|
-
| - [text](#text ) | No | string or null | No | - | Message body text. Present on type=text messages only.
|
|
76
|
-
| - [mediaId](#mediaId ) | No | string or null | No | - | Meta media ID. Present on image, audio, video, document, sticker messages.
|
|
77
|
-
| - [caption](#caption ) | No | string or null | No | - | Media caption text. Present when the sender included a caption.
|
|
78
|
-
| - [storageUrl](#storageUrl ) | No | string or null | No | - | Durable Cloud Storage URL for the downloaded media binary. Present after the
|
|
79
|
-
| - [context](#context ) | No | object or null | No | - | Reply/forward context. Present on replies and forwarded messages.
|
|
63
|
+
**Description:** WhatsappInboundMessage — inbound WhatsApp message persisted from Meta Cloud API webhook (GH#36). Collection: whatsapp_inbound_messages/\{docId\}. Top-level scope: company resolution happens post-ingestion.
|
|
64
|
+
|
|
65
|
+
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
66
|
+
| ---------------------------- | ------- | ---------------- | ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
|
|
67
|
+
| - [id](#id ) | No | string or null | No | - | (Read-only) Firestore document ID — wamid from Meta Cloud API. |
|
|
68
|
+
| + [wabaId](#wabaId ) | No | string | No | - | (Immutable) Meta WABA ID identifying which business number received the message. |
|
|
69
|
+
| + [waba](#waba ) | No | enum (of string) | No | In #/definitions/waba-label | (Immutable) Human-readable WABA label (cmz \| val). See WabaLabel enum. |
|
|
70
|
+
| + [messageId](#messageId ) | No | string | No | - | (Immutable) WhatsApp message ID (wamid) returned by Meta — mirrors the document ID. |
|
|
71
|
+
| + [from](#from ) | No | string | No | - | (Immutable) Sender phone number in E.164 format. |
|
|
72
|
+
| + [type](#type ) | No | Combination | No | - | (Immutable) Meta message type. |
|
|
73
|
+
| + [timestamp](#timestamp ) | No | object | No | In #/definitions/firestore-timestamp | (Immutable) Message timestamp as reported by Meta. |
|
|
74
|
+
| + [receivedAt](#receivedAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-side ingestion timestamp. |
|
|
75
|
+
| - [text](#text ) | No | string or null | No | - | Message body text. Present on type=text messages only. |
|
|
76
|
+
| - [mediaId](#mediaId ) | No | string or null | No | - | Meta media ID. Present on image, audio, video, document, sticker messages. |
|
|
77
|
+
| - [caption](#caption ) | No | string or null | No | - | Media caption text. Present when the sender included a caption. |
|
|
78
|
+
| - [storageUrl](#storageUrl ) | No | string or null | No | - | Durable Cloud Storage URL for the downloaded media binary. Present after the media has been fetched and stored server-side. |
|
|
79
|
+
| - [context](#context ) | No | object or null | No | - | Reply/forward context. Present on replies and forwarded messages. |
|
|
80
80
|
|
|
81
81
|
## <a name="id"></a>1. Property `id`
|
|
82
82
|
|
|
@@ -250,7 +250,7 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
250
250
|
| **Additional properties** | Not allowed |
|
|
251
251
|
| **Defined in** | #/definitions/firestore-timestamp |
|
|
252
252
|
|
|
253
|
-
**Description:** (Read-only) Server-side ingestion
|
|
253
|
+
**Description:** (Read-only) Server-side ingestion timestamp.
|
|
254
254
|
|
|
255
255
|
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
256
256
|
| ------------------------------------------ | ------- | ------- | ---------- | ---------- | ----------------- |
|
|
@@ -319,7 +319,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
319
319
|
| **Type** | `string or null` |
|
|
320
320
|
| **Required** | No |
|
|
321
321
|
|
|
322
|
-
**Description:** Durable Cloud Storage URL for the downloaded media binary. Present after the
|
|
322
|
+
**Description:** Durable Cloud Storage URL for the downloaded media binary. Present after the media has been fetched and stored server-side.
|
|
323
323
|
|
|
324
324
|
## <a name="context"></a>13. Property `context`
|
|
325
325
|
|
|
@@ -366,4 +366,4 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
366
366
|
Specific value: `true`
|
|
367
367
|
|
|
368
368
|
----------------------------------------------------------------------------------------------------------------------------
|
|
369
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
369
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-16 at 00:18:16 +0000
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "WhatsappOutboundMessage"
|
|
3
|
+
sidebar_label: "WhatsappOutboundMessage"
|
|
4
|
+
sidebar_position: 29
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# WhatsappOutboundMessage
|
|
8
|
+
|
|
9
|
+
<details>
|
|
10
|
+
<summary>Example JSON</summary>
|
|
11
|
+
|
|
12
|
+
```json
|
|
13
|
+
{
|
|
14
|
+
"id": null,
|
|
15
|
+
"messageId": "mes_ref123",
|
|
16
|
+
"to": "to",
|
|
17
|
+
"waba": "waba",
|
|
18
|
+
"wabaId": "wab_ref123",
|
|
19
|
+
"sentAt": "sentAt",
|
|
20
|
+
"phoneNumberId": "pho_ref123",
|
|
21
|
+
"kind": "kind",
|
|
22
|
+
"templateName": "templateName",
|
|
23
|
+
"status": "status",
|
|
24
|
+
"contactWaId": null,
|
|
25
|
+
"appId": null,
|
|
26
|
+
"orderUuid": null,
|
|
27
|
+
"statusUpdatedAt": "statusUpdatedAt",
|
|
28
|
+
"failureCode": null,
|
|
29
|
+
"failureErrors": null
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
</details>
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
- [1. Property `id`](#id)
|
|
37
|
+
- [2. Property `messageId`](#messageId)
|
|
38
|
+
- [3. Property `to`](#to)
|
|
39
|
+
- [4. Property `waba`](#waba)
|
|
40
|
+
- [5. Property `wabaId`](#wabaId)
|
|
41
|
+
- [6. Property `sentAt`](#sentAt)
|
|
42
|
+
- [6.1. Property `_seconds`](#sentAt__seconds)
|
|
43
|
+
- [6.2. Property `_nanoseconds`](#sentAt__nanoseconds)
|
|
44
|
+
- [7. Property `phoneNumberId`](#phoneNumberId)
|
|
45
|
+
- [8. Property `kind`](#kind)
|
|
46
|
+
- [9. Property `templateName`](#templateName)
|
|
47
|
+
- [10. Property `status`](#status)
|
|
48
|
+
- [11. Property `contactWaId`](#contactWaId)
|
|
49
|
+
- [12. Property `appId`](#appId)
|
|
50
|
+
- [13. Property `orderUuid`](#orderUuid)
|
|
51
|
+
- [14. Property `statusUpdatedAt`](#statusUpdatedAt)
|
|
52
|
+
- [14.1. Property `firestore-timestamp`](#statusUpdatedAt_anyOf_i0)
|
|
53
|
+
- [14.2. Property `item 1`](#statusUpdatedAt_anyOf_i1)
|
|
54
|
+
- [15. Property `failureCode`](#failureCode)
|
|
55
|
+
- [16. Property `failureErrors`](#failureErrors)
|
|
56
|
+
- [16.1. failureErrors items](#failureErrors_items)
|
|
57
|
+
|
|
58
|
+
| | |
|
|
59
|
+
| ------------------------- | --------------------------------------- |
|
|
60
|
+
| **Type** | `object` |
|
|
61
|
+
| **Required** | No |
|
|
62
|
+
| **Additional properties** | Not allowed |
|
|
63
|
+
| **Defined in** | #/definitions/whatsapp-outbound-message |
|
|
64
|
+
|
|
65
|
+
**Description:** WhatsappOutboundMessage — outbound WhatsApp message persisted at send time (GH#38). Collection: whatsapp_outbound_messages/\{docId\}. Top-level scope. Symmetric counterpart to WhatsappInboundMessage (GH#36).
|
|
66
|
+
|
|
67
|
+
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
68
|
+
| -------------------------------------- | ------- | ---------------- | ---------- | ---------------------------------------- | ----------------------------------------------------------------------------------- |
|
|
69
|
+
| - [id](#id ) | No | string or null | No | - | (Read-only) Firestore document ID — wamid on success, generated UUID on failure. |
|
|
70
|
+
| + [messageId](#messageId ) | No | string | No | - | (Immutable) WhatsApp message ID (wamid) on success; generated UUID on send failure. |
|
|
71
|
+
| + [to](#to ) | No | string | No | - | (Immutable) Recipient phone number in E.164 format. Mirrors inbound \`from\`. |
|
|
72
|
+
| + [waba](#waba ) | No | enum (of string) | No | In #/definitions/waba-label | (Immutable) WABA that sent the message. Mirrors inbound \`waba\`. |
|
|
73
|
+
| + [wabaId](#wabaId ) | No | string | No | - | (Immutable) Meta WABA ID. Mirrors inbound \`wabaId\`. |
|
|
74
|
+
| + [sentAt](#sentAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-side send timestamp. Mirrors inbound \`receivedAt\`. |
|
|
75
|
+
| + [phoneNumberId](#phoneNumberId ) | No | string | No | - | (Immutable) Meta phone number ID used for the send (specific line within the WABA). |
|
|
76
|
+
| + [kind](#kind ) | No | enum (of string) | No | In #/definitions/outbound-message-kind | (Immutable) Message kind. |
|
|
77
|
+
| + [templateName](#templateName ) | No | string | No | - | (Immutable) WhatsApp template name used for the send. |
|
|
78
|
+
| + [status](#status ) | No | enum (of string) | No | In #/definitions/outbound-message-status | Delivery status. Updated in-place by Meta delivery callbacks. |
|
|
79
|
+
| - [contactWaId](#contactWaId ) | No | string or null | No | - | Normalized wa_id returned by Meta on success. May differ from \`to\`. |
|
|
80
|
+
| - [appId](#appId ) | No | string or null | No | - | Tenant appId when applicable. |
|
|
81
|
+
| - [orderUuid](#orderUuid ) | No | string or null | No | - | Order reference. Present on review_request messages only. |
|
|
82
|
+
| - [statusUpdatedAt](#statusUpdatedAt ) | No | Combination | No | - | Timestamp of the last status update from a Meta delivery callback. |
|
|
83
|
+
| - [failureCode](#failureCode ) | No | integer or null | No | - | Meta error code. Present on failed sends only. |
|
|
84
|
+
| - [failureErrors](#failureErrors ) | No | array or null | No | - | Raw Meta error objects. Present on failed sends only. |
|
|
85
|
+
|
|
86
|
+
## <a name="id"></a>1. Property `id`
|
|
87
|
+
|
|
88
|
+
| | |
|
|
89
|
+
| ------------ | ---------------- |
|
|
90
|
+
| **Type** | `string or null` |
|
|
91
|
+
| **Required** | No |
|
|
92
|
+
|
|
93
|
+
**Description:** (Read-only) Firestore document ID — wamid on success, generated UUID on failure.
|
|
94
|
+
|
|
95
|
+
:::warning Server-set
|
|
96
|
+
Do not include in write requests. This field is set exclusively by the server (Firestore trigger or Admin SDK). Clients that send it will have the value silently ignored or may receive a validation error.
|
|
97
|
+
:::
|
|
98
|
+
|
|
99
|
+
## <a name="messageId"></a>2. Property `messageId`
|
|
100
|
+
|
|
101
|
+
| | |
|
|
102
|
+
| ------------ | -------- |
|
|
103
|
+
| **Type** | `string` |
|
|
104
|
+
| **Required** | Yes |
|
|
105
|
+
|
|
106
|
+
**Description:** (Immutable) WhatsApp message ID (wamid) on success; generated UUID on send failure.
|
|
107
|
+
|
|
108
|
+
:::info Immutable
|
|
109
|
+
Set at creation only. This field cannot be modified after the document is created. Include it in CREATE payloads; omit it (or leave unchanged) in UPDATE payloads.
|
|
110
|
+
:::
|
|
111
|
+
|
|
112
|
+
## <a name="to"></a>3. Property `to`
|
|
113
|
+
|
|
114
|
+
| | |
|
|
115
|
+
| ------------ | -------- |
|
|
116
|
+
| **Type** | `string` |
|
|
117
|
+
| **Required** | Yes |
|
|
118
|
+
|
|
119
|
+
**Description:** (Immutable) Recipient phone number in E.164 format. Mirrors inbound `from`.
|
|
120
|
+
|
|
121
|
+
:::info Immutable
|
|
122
|
+
Set at creation only. This field cannot be modified after the document is created. Include it in CREATE payloads; omit it (or leave unchanged) in UPDATE payloads.
|
|
123
|
+
:::
|
|
124
|
+
|
|
125
|
+
## <a name="waba"></a>4. Property `waba`
|
|
126
|
+
|
|
127
|
+
| | |
|
|
128
|
+
| -------------- | ------------------------ |
|
|
129
|
+
| **Type** | `enum (of string)` |
|
|
130
|
+
| **Required** | Yes |
|
|
131
|
+
| **Defined in** | #/definitions/waba-label |
|
|
132
|
+
|
|
133
|
+
**Description:** (Immutable) WABA that sent the message. Mirrors inbound `waba`.
|
|
134
|
+
|
|
135
|
+
Must be one of:
|
|
136
|
+
* "cmz"
|
|
137
|
+
* "val"
|
|
138
|
+
|
|
139
|
+
:::info Immutable
|
|
140
|
+
Set at creation only. This field cannot be modified after the document is created. Include it in CREATE payloads; omit it (or leave unchanged) in UPDATE payloads.
|
|
141
|
+
:::
|
|
142
|
+
|
|
143
|
+
## <a name="wabaId"></a>5. Property `wabaId`
|
|
144
|
+
|
|
145
|
+
| | |
|
|
146
|
+
| ------------ | -------- |
|
|
147
|
+
| **Type** | `string` |
|
|
148
|
+
| **Required** | Yes |
|
|
149
|
+
|
|
150
|
+
**Description:** (Immutable) Meta WABA ID. Mirrors inbound `wabaId`.
|
|
151
|
+
|
|
152
|
+
:::info Immutable
|
|
153
|
+
Set at creation only. This field cannot be modified after the document is created. Include it in CREATE payloads; omit it (or leave unchanged) in UPDATE payloads.
|
|
154
|
+
:::
|
|
155
|
+
|
|
156
|
+
## <a name="sentAt"></a>6. Property `sentAt`
|
|
157
|
+
|
|
158
|
+
| | |
|
|
159
|
+
| ------------------------- | --------------------------------- |
|
|
160
|
+
| **Type** | `object` |
|
|
161
|
+
| **Required** | Yes |
|
|
162
|
+
| **Additional properties** | Not allowed |
|
|
163
|
+
| **Defined in** | #/definitions/firestore-timestamp |
|
|
164
|
+
|
|
165
|
+
**Description:** (Read-only) Server-side send timestamp. Mirrors inbound `receivedAt`.
|
|
166
|
+
|
|
167
|
+
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
168
|
+
| --------------------------------------- | ------- | ------- | ---------- | ---------- | ----------------- |
|
|
169
|
+
| + [_seconds](#sentAt__seconds ) | No | integer | No | - | - |
|
|
170
|
+
| + [_nanoseconds](#sentAt__nanoseconds ) | No | integer | No | - | - |
|
|
171
|
+
|
|
172
|
+
### <a name="sentAt__seconds"></a>6.1. Property `_seconds`
|
|
173
|
+
|
|
174
|
+
| | |
|
|
175
|
+
| ------------ | --------- |
|
|
176
|
+
| **Type** | `integer` |
|
|
177
|
+
| **Required** | Yes |
|
|
178
|
+
|
|
179
|
+
| Restrictions | |
|
|
180
|
+
| ------------ | ---------------------- |
|
|
181
|
+
| **Minimum** | ≥ -9007199254740991 |
|
|
182
|
+
| **Maximum** | ≤ 9007199254740991 |
|
|
183
|
+
|
|
184
|
+
### <a name="sentAt__nanoseconds"></a>6.2. Property `_nanoseconds`
|
|
185
|
+
|
|
186
|
+
| | |
|
|
187
|
+
| ------------ | --------- |
|
|
188
|
+
| **Type** | `integer` |
|
|
189
|
+
| **Required** | Yes |
|
|
190
|
+
|
|
191
|
+
| Restrictions | |
|
|
192
|
+
| ------------ | ---------------------- |
|
|
193
|
+
| **Minimum** | ≥ -9007199254740991 |
|
|
194
|
+
| **Maximum** | ≤ 9007199254740991 |
|
|
195
|
+
|
|
196
|
+
:::warning Server-set
|
|
197
|
+
Do not include in write requests. This field is set exclusively by the server (Firestore trigger or Admin SDK). Clients that send it will have the value silently ignored or may receive a validation error.
|
|
198
|
+
:::
|
|
199
|
+
|
|
200
|
+
## <a name="phoneNumberId"></a>7. Property `phoneNumberId`
|
|
201
|
+
|
|
202
|
+
| | |
|
|
203
|
+
| ------------ | -------- |
|
|
204
|
+
| **Type** | `string` |
|
|
205
|
+
| **Required** | Yes |
|
|
206
|
+
|
|
207
|
+
**Description:** (Immutable) Meta phone number ID used for the send (specific line within the WABA).
|
|
208
|
+
|
|
209
|
+
:::info Immutable
|
|
210
|
+
Set at creation only. This field cannot be modified after the document is created. Include it in CREATE payloads; omit it (or leave unchanged) in UPDATE payloads.
|
|
211
|
+
:::
|
|
212
|
+
|
|
213
|
+
## <a name="kind"></a>8. Property `kind`
|
|
214
|
+
|
|
215
|
+
| | |
|
|
216
|
+
| -------------- | ----------------------------------- |
|
|
217
|
+
| **Type** | `enum (of string)` |
|
|
218
|
+
| **Required** | Yes |
|
|
219
|
+
| **Defined in** | #/definitions/outbound-message-kind |
|
|
220
|
+
|
|
221
|
+
**Description:** (Immutable) Message kind.
|
|
222
|
+
|
|
223
|
+
Must be one of:
|
|
224
|
+
* "otp"
|
|
225
|
+
* "review_request"
|
|
226
|
+
|
|
227
|
+
:::info Immutable
|
|
228
|
+
Set at creation only. This field cannot be modified after the document is created. Include it in CREATE payloads; omit it (or leave unchanged) in UPDATE payloads.
|
|
229
|
+
:::
|
|
230
|
+
|
|
231
|
+
## <a name="templateName"></a>9. Property `templateName`
|
|
232
|
+
|
|
233
|
+
| | |
|
|
234
|
+
| ------------ | -------- |
|
|
235
|
+
| **Type** | `string` |
|
|
236
|
+
| **Required** | Yes |
|
|
237
|
+
|
|
238
|
+
**Description:** (Immutable) WhatsApp template name used for the send.
|
|
239
|
+
|
|
240
|
+
:::info Immutable
|
|
241
|
+
Set at creation only. This field cannot be modified after the document is created. Include it in CREATE payloads; omit it (or leave unchanged) in UPDATE payloads.
|
|
242
|
+
:::
|
|
243
|
+
|
|
244
|
+
## <a name="status"></a>10. Property `status`
|
|
245
|
+
|
|
246
|
+
| | |
|
|
247
|
+
| -------------- | ------------------------------------- |
|
|
248
|
+
| **Type** | `enum (of string)` |
|
|
249
|
+
| **Required** | Yes |
|
|
250
|
+
| **Defined in** | #/definitions/outbound-message-status |
|
|
251
|
+
|
|
252
|
+
**Description:** Delivery status. Updated in-place by Meta delivery callbacks.
|
|
253
|
+
|
|
254
|
+
Must be one of:
|
|
255
|
+
* "accepted"
|
|
256
|
+
* "sent"
|
|
257
|
+
* "delivered"
|
|
258
|
+
* "read"
|
|
259
|
+
* "failed"
|
|
260
|
+
|
|
261
|
+
## <a name="contactWaId"></a>11. Property `contactWaId`
|
|
262
|
+
|
|
263
|
+
| | |
|
|
264
|
+
| ------------ | ---------------- |
|
|
265
|
+
| **Type** | `string or null` |
|
|
266
|
+
| **Required** | No |
|
|
267
|
+
|
|
268
|
+
**Description:** Normalized wa_id returned by Meta on success. May differ from `to`.
|
|
269
|
+
|
|
270
|
+
## <a name="appId"></a>12. Property `appId`
|
|
271
|
+
|
|
272
|
+
| | |
|
|
273
|
+
| ------------ | ---------------- |
|
|
274
|
+
| **Type** | `string or null` |
|
|
275
|
+
| **Required** | No |
|
|
276
|
+
|
|
277
|
+
**Description:** Tenant appId when applicable.
|
|
278
|
+
|
|
279
|
+
## <a name="orderUuid"></a>13. Property `orderUuid`
|
|
280
|
+
|
|
281
|
+
| | |
|
|
282
|
+
| ------------ | ---------------- |
|
|
283
|
+
| **Type** | `string or null` |
|
|
284
|
+
| **Required** | No |
|
|
285
|
+
|
|
286
|
+
**Description:** Order reference. Present on review_request messages only.
|
|
287
|
+
|
|
288
|
+
## <a name="statusUpdatedAt"></a>14. Property `statusUpdatedAt`
|
|
289
|
+
|
|
290
|
+
| | |
|
|
291
|
+
| ------------------------- | ---------------- |
|
|
292
|
+
| **Type** | `combining` |
|
|
293
|
+
| **Required** | No |
|
|
294
|
+
| **Additional properties** | Any type allowed |
|
|
295
|
+
|
|
296
|
+
**Description:** Timestamp of the last status update from a Meta delivery callback.
|
|
297
|
+
|
|
298
|
+
| Any of(Option) |
|
|
299
|
+
| ------------------------------------------------ |
|
|
300
|
+
| [firestore-timestamp](#statusUpdatedAt_anyOf_i0) |
|
|
301
|
+
| [item 1](#statusUpdatedAt_anyOf_i1) |
|
|
302
|
+
|
|
303
|
+
### <a name="statusUpdatedAt_anyOf_i0"></a>14.1. Property `firestore-timestamp`
|
|
304
|
+
|
|
305
|
+
| | |
|
|
306
|
+
| ------------------------- | ----------------- |
|
|
307
|
+
| **Type** | `object` |
|
|
308
|
+
| **Required** | No |
|
|
309
|
+
| **Additional properties** | Not allowed |
|
|
310
|
+
| **Same definition as** | [sentAt](#sentAt) |
|
|
311
|
+
|
|
312
|
+
**Description:** Firestore Timestamp serialized representation
|
|
313
|
+
|
|
314
|
+
### <a name="statusUpdatedAt_anyOf_i1"></a>14.2. Property `item 1`
|
|
315
|
+
|
|
316
|
+
| | |
|
|
317
|
+
| ------------ | ------ |
|
|
318
|
+
| **Type** | `null` |
|
|
319
|
+
| **Required** | No |
|
|
320
|
+
|
|
321
|
+
## <a name="failureCode"></a>15. Property `failureCode`
|
|
322
|
+
|
|
323
|
+
| | |
|
|
324
|
+
| ------------ | ----------------- |
|
|
325
|
+
| **Type** | `integer or null` |
|
|
326
|
+
| **Required** | No |
|
|
327
|
+
|
|
328
|
+
**Description:** Meta error code. Present on failed sends only.
|
|
329
|
+
|
|
330
|
+
| Restrictions | |
|
|
331
|
+
| ------------ | ---------------------- |
|
|
332
|
+
| **Minimum** | ≥ -9007199254740991 |
|
|
333
|
+
| **Maximum** | ≤ 9007199254740991 |
|
|
334
|
+
|
|
335
|
+
## <a name="failureErrors"></a>16. Property `failureErrors`
|
|
336
|
+
|
|
337
|
+
| | |
|
|
338
|
+
| ------------ | --------------- |
|
|
339
|
+
| **Type** | `array or null` |
|
|
340
|
+
| **Required** | No |
|
|
341
|
+
|
|
342
|
+
**Description:** Raw Meta error objects. Present on failed sends only.
|
|
343
|
+
|
|
344
|
+
| | Array restrictions |
|
|
345
|
+
| -------------------- | ------------------ |
|
|
346
|
+
| **Min items** | N/A |
|
|
347
|
+
| **Max items** | N/A |
|
|
348
|
+
| **Items unicity** | False |
|
|
349
|
+
| **Additional items** | False |
|
|
350
|
+
| **Tuple validation** | See below |
|
|
351
|
+
|
|
352
|
+
| Each item of this array must be | Description |
|
|
353
|
+
| ------------------------------------------- | ----------- |
|
|
354
|
+
| [failureErrors items](#failureErrors_items) | - |
|
|
355
|
+
|
|
356
|
+
### <a name="failureErrors_items"></a>16.1. failureErrors items
|
|
357
|
+
|
|
358
|
+
| | |
|
|
359
|
+
| ------------------------- | ---------------- |
|
|
360
|
+
| **Type** | `object` |
|
|
361
|
+
| **Required** | No |
|
|
362
|
+
| **Additional properties** | Any type allowed |
|
|
363
|
+
|
|
364
|
+
----------------------------------------------------------------------------------------------------------------------------
|
|
365
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-16 at 00:18:16 +0000
|
package/data/static/llms.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> Source of truth: Zod schemas in packages/schema/src/
|
|
5
5
|
> All Firestore documents are scoped under companies/{companyId}/
|
|
6
6
|
|
|
7
|
-
> Generated: 2026-05-
|
|
7
|
+
> Generated: 2026-05-16
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -50,6 +50,14 @@ Values: EARNED, REDEEMED, ADJUSTED, EXPIRED, BONUS, REFUND
|
|
|
50
50
|
Core order lifecycle status (D03, D34). Universal across all business types. Replaces the Dashboard's legacy 20-value flat enum (MIG-11).
|
|
51
51
|
Values: PENDING, CONFIRMED, PROCESSING, READY, COMPLETED, CANCELLED, EXPIRED
|
|
52
52
|
|
|
53
|
+
### OutboundMessageKind
|
|
54
|
+
Outbound WhatsApp message kind. Strict enum — new kinds require a schema version bump (GH#38).
|
|
55
|
+
Values: otp, review_request
|
|
56
|
+
|
|
57
|
+
### OutboundMessageStatus
|
|
58
|
+
Outbound WhatsApp message delivery status. Lifecycle: accepted → sent → delivered → read, or accepted → failed. Updated in-place by Meta delivery callbacks (GH#38).
|
|
59
|
+
Values: accepted, sent, delivered, read, failed
|
|
60
|
+
|
|
53
61
|
### PaymentMethod
|
|
54
62
|
Unified payment method set with African + global methods (D02).
|
|
55
63
|
Values: CASH, CREDIT_CARD, ORANGE_MONEY, WAVE, MTN_MONEY, MOOV_MONEY, BANK_TRANSFER, PAYPAL, STRIPE, OTHER
|
|
@@ -1484,11 +1492,11 @@ Fields: 13 (7 required)
|
|
|
1484
1492
|
| from | string | yes | (Immutable) Sender phone number in E.164 format. |
|
|
1485
1493
|
| type | any | yes | (Immutable) Meta message type. |
|
|
1486
1494
|
| timestamp | FirestoreTimestamp | yes | (Immutable) Message timestamp as reported by Meta. |
|
|
1487
|
-
| receivedAt | FirestoreTimestamp | yes | (Read-only) Server-side ingestion
|
|
1495
|
+
| receivedAt | FirestoreTimestamp | yes | (Read-only) Server-side ingestion timestamp. |
|
|
1488
1496
|
| text | ['string', 'null'] | no | Message body text. Present on type=text messages only. |
|
|
1489
1497
|
| mediaId | ['string', 'null'] | no | Meta media ID. Present on image, audio, video, document, sticker messages. |
|
|
1490
1498
|
| caption | ['string', 'null'] | no | Media caption text. Present when the sender included a caption. |
|
|
1491
|
-
| storageUrl | ['string', 'null'] | no | Durable Cloud Storage URL for the downloaded media binary. Present after the
|
|
1499
|
+
| storageUrl | ['string', 'null'] | no | Durable Cloud Storage URL for the downloaded media binary. Present after the media has been fetched and stored server-side. |
|
|
1492
1500
|
| context | ['object', 'null'] | no | Reply/forward context. Present on replies and forwarded messages. |
|
|
1493
1501
|
|
|
1494
1502
|
Example:
|
|
@@ -1510,6 +1518,50 @@ Example:
|
|
|
1510
1518
|
}
|
|
1511
1519
|
```
|
|
1512
1520
|
|
|
1521
|
+
### WhatsappOutboundMessage
|
|
1522
|
+
Fields: 16 (9 required)
|
|
1523
|
+
|
|
1524
|
+
| Field | Type | Required | Description |
|
|
1525
|
+
|-------|------|----------|-------------|
|
|
1526
|
+
| id | ['string', 'null'] | no | (Read-only) Firestore document ID — wamid on success, generated UUID on failure. |
|
|
1527
|
+
| messageId | string | yes | (Immutable) WhatsApp message ID (wamid) on success; generated UUID on send failure. |
|
|
1528
|
+
| to | string | yes | (Immutable) Recipient phone number in E.164 format. Mirrors inbound `from`. |
|
|
1529
|
+
| waba | WabaLabel | yes | (Immutable) WABA that sent the message. Mirrors inbound `waba`. |
|
|
1530
|
+
| wabaId | string | yes | (Immutable) Meta WABA ID. Mirrors inbound `wabaId`. |
|
|
1531
|
+
| sentAt | FirestoreTimestamp | yes | (Read-only) Server-side send timestamp. Mirrors inbound `receivedAt`. |
|
|
1532
|
+
| phoneNumberId | string | yes | (Immutable) Meta phone number ID used for the send (specific line within the WABA). |
|
|
1533
|
+
| kind | OutboundMessageKind | yes | (Immutable) Message kind. |
|
|
1534
|
+
| templateName | string | yes | (Immutable) WhatsApp template name used for the send. |
|
|
1535
|
+
| status | OutboundMessageStatus | yes | Delivery status. Updated in-place by Meta delivery callbacks. |
|
|
1536
|
+
| contactWaId | ['string', 'null'] | no | Normalized wa_id returned by Meta on success. May differ from `to`. |
|
|
1537
|
+
| appId | ['string', 'null'] | no | Tenant appId when applicable. |
|
|
1538
|
+
| orderUuid | ['string', 'null'] | no | Order reference. Present on review_request messages only. |
|
|
1539
|
+
| statusUpdatedAt | any | no | Timestamp of the last status update from a Meta delivery callback. |
|
|
1540
|
+
| failureCode | ['integer', 'null'] | no | Meta error code. Present on failed sends only. |
|
|
1541
|
+
| failureErrors | ['array', 'null'] | no | Raw Meta error objects. Present on failed sends only. |
|
|
1542
|
+
|
|
1543
|
+
Example:
|
|
1544
|
+
```json
|
|
1545
|
+
{
|
|
1546
|
+
"id": null,
|
|
1547
|
+
"messageId": "mes_ref123",
|
|
1548
|
+
"to": "to",
|
|
1549
|
+
"waba": "waba",
|
|
1550
|
+
"wabaId": "wab_ref123",
|
|
1551
|
+
"sentAt": "sentAt",
|
|
1552
|
+
"phoneNumberId": "pho_ref123",
|
|
1553
|
+
"kind": "kind",
|
|
1554
|
+
"templateName": "templateName",
|
|
1555
|
+
"status": "status",
|
|
1556
|
+
"contactWaId": null,
|
|
1557
|
+
"appId": null,
|
|
1558
|
+
"orderUuid": null,
|
|
1559
|
+
"statusUpdatedAt": "statusUpdatedAt",
|
|
1560
|
+
"failureCode": null,
|
|
1561
|
+
"failureErrors": null
|
|
1562
|
+
}
|
|
1563
|
+
```
|
|
1564
|
+
|
|
1513
1565
|
---
|
|
1514
1566
|
|
|
1515
1567
|
## Proposed (Work In Progress)
|