at.marque.partner.getOrder
Schema Diff
+14 -2
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "at.marque.partner.getOrder:output.checkoutUrl" }
- AddedEdge AddedEdge { src: "at.marque.partner.getOrder:output", tgt: "at.marque.partner.getOrder:output.checkoutUrl", kind: "prop", name: Some("checkoutUrl") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "at.marque.partner.getOrder:output.checkoutUrl" }
Additional Notes
- Non-breaking: AddedEdge { src: "at.marque.partner.getOrder:output", tgt: "at.marque.partner.getOrder:output.checkoutUrl", kind: "prop", name: Some("checkoutUrl") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"item": {
5
5
"properties": {
6
6
"domain": {
7
+
"description": "The fully qualified domain name.",
7
8
"maxLength": 253,
8
9
"type": "string"
9
10
},
10
11
"expiresAt": {
12
+
"description": "When the registration expires. Present once the item is active. Write this into the at.marque.domain record.",
11
13
"format": "datetime",
12
14
"type": "string"
13
15
},
14
16
"nameServers": {
17
+
"description": "Authoritative nameservers assigned to the domain. Present once the item is active.",
15
18
"items": {
16
19
"maxLength": 253,
17
20
"type": "string"
18
21
},
19
22
"type": "array"
20
23
},
21
24
"registeredAt": {
25
+
"description": "When the domain was registered upstream. Present once the item is active.",
22
26
"format": "datetime",
23
27
"type": "string"
24
28
},
25
29
"status": {
26
-
"description": "Per-domain provisioning status.",
30
+
"description": "Per-domain provisioning status. pending: not yet registered. active: registered successfully. failed: registration failed for this domain.",
27
31
"knownValues": [
28
32
"pending",
29
33
"active",
30
34
"failed"
31
35
],
32
36
"type": "string"
33
37
}
34
38
},
35
39
"required": [
36
40
"domain",
37
41
"status"
38
42
],
39
43
"type": "object"
40
44
},
41
45
"main": {
42
-
"description": "Poll an order created by createCheckout. Call it proxied through the user's PDS (atproto-proxy: did:web:marque.at:api#marque_registrar) with an at.marque.partnerApi-scoped token; only orders owned by the authenticated user (the JWT iss) are returned. Status flows awaitingPayment (user has not finished paying) -> paid -> provisioning -> provisioned (or failed). Poll every few seconds until provisioned or failed. Once provisioned, each item carries the registeredAt, expiresAt, and nameServers the partner needs to write the at.marque.domain and at.marque.dns records into the user's repository. Individual items can be failed even when the order is provisioned (a partial failure); check each item's status.",
46
+
"description": "Poll an order created by createCheckout. Call it proxied through the user's PDS (atproto-proxy: did:web:marque.at#marque_registrar) with an at.marque.partnerApi-scoped token; only orders owned by the authenticated user (the JWT iss) are returned. Status flows awaitingPayment (user has not finished paying) -> paid -> provisioning -> provisioned (or failed). Poll every few seconds until provisioned or failed. Once provisioned, each item carries the registeredAt, expiresAt, and nameServers the partner needs to write the at.marque.domain and at.marque.dns records into the user's repository. Individual items can be failed even when the order is provisioned (a partial failure); check each item's status.",
43
47
"errors": [
44
48
{
45
49
"description": "No order with that id is owned by the authenticated user.",
46
50
"name": "NotFound"
47
51
}
48
52
],
49
53
"output": {
50
54
"encoding": "application/json",
51
55
"schema": {
52
56
"properties": {
57
+
"checkoutUrl": {
58
+
"description": "Hosted payment URL. Present while status is awaitingPayment so a partner can resume an interrupted checkout.",
59
+
"format": "uri",
60
+
"type": "string"
61
+
},
53
62
"error": {
54
63
"description": "Failure reason when status is failed.",
55
64
"type": "string"
56
65
},
57
66
"items": {
67
+
"description": "One entry per domain in the order, in the order submitted to createCheckout.",
58
68
"items": {
59
69
"ref": "#item",
60
70
"type": "ref"
61
71
},
62
72
"type": "array"
63
73
},
64
74
"orderId": {
75
+
"description": "Echoes the requested order id.",
65
76
"type": "string"
66
77
},
67
78
"status": {
79
+
"description": "Overall order status. awaitingPayment: the user has not completed Stripe checkout. paid: payment captured, registration queued. provisioning: registering with the registry. provisioned: all domains registered (individual items may still be failed). failed: the order could not be provisioned.",
68
80
"knownValues": [
69
81
"awaitingPayment",
70
82
"paid",
71
83
"provisioning",
72
84
"provisioned",
73
85
"failed"
74
86
],
75
87
"type": "string"
76
88
}
77
89
},
78
90
"required": [
79
91
"orderId",
80
92
"status",
81
93
"items"
82
94
],
83
95
"type": "object"
84
96
}
85
97
},
86
98
"parameters": {
87
99
"properties": {
88
100
"orderId": {
89
101
"description": "The order id returned by createCheckout.",
90
102
"type": "string"
91
103
}
92
104
},
93
105
"required": [
94
106
"orderId"
95
107
],
96
108
"type": "params"
97
109
},
98
110
"type": "query"
99
111
}
100
112
},
101
113
"description": "Get the status of a partner checkout order and the resulting domain details.",
102
114
"id": "at.marque.partner.getOrder",
103
115
"lexicon": 1
104
116
}