curl --request POST \
--url https://omnicommerce.sg/api/embed/{deploymentId}/a2a \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://omnicommerce.sg/api/embed/{deploymentId}/a2a', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/embed/{deploymentId}/a2a"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Call a merchant agent using A2A
Official A2A 1.0 JSON-RPC SendMessage, GetTask and CancelTask.
Authentication
Uses the existing customer JWT from /api/embed//session; send the same Origin when creating and using the session.
Messages
SendMessage accepts text user messages with a UUID messageId and up to 4000 characters. For asynchronous execution set configuration.returnImmediately=true and retrieve the task. Every task is bound to the customer session.
Bot verification and storefront protection apply. Payment proofs belong in the checkout completion endpoint, outside model messages.
Signed offers and buyer agents
Payable offers in purchase-offers artifacts include checkoutJwt when the platform signing key is configured. Requests may carry a Web Bot Auth signature; the verified agent origin is recorded on resulting offers and orders.
curl --request POST \
--url https://omnicommerce.sg/api/embed/{deploymentId}/a2a \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://omnicommerce.sg/api/embed/{deploymentId}/a2a', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/embed/{deploymentId}/a2a"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Authorizations
Customer session from /api/embed/{deploymentId}/session. Origin and deployment scope must match.
Path Parameters
Body
A2A 1.0 JSON-RPC envelope, validated by @a2a-js/sdk.
Response
A2A JSON-RPC task or protocol error.