Exemplos de Integração A2A
Python (requests)
import requests
import uuid
A2A_BASE_URL = "https://agents.theifriend.com/trip/a2a"
A2A_JWT_TOKEN = "seu_token_aqui"
def send_message(message):
payload = {
"jsonrpc": "2.0",
"id": str(uuid.uuid4()),
"method": "message/send",
"params": {
"message": {
"role": "user",
"parts": [{"type": "text", "text": message}]
}
}
}
headers = {"Authorization": f"Bearer {A2A_JWT_TOKEN}"}
resp = requests.post(f"{A2A_BASE_URL}/", json=payload, headers=headers)
return resp.json()
result = send_message("Quero experiências em São Paulo")
print(result["result"]["messages"])
Python (a2a-sdk)
from a2a.client import A2AClient
from a2a.types import MessageSendParams, TextPart, Role
client = A2AClient(
url="https://agents.theifriend.com/trip/a2a/",
headers={"Authorization": "Bearer SEU_TOKEN"},
)
task = client.send_message(
params=MessageSendParams(
message={
"role": Role.user,
"parts": [TextPart(text="Quero experiências em SP")],
}
)
)
print(task.messages)
JavaScript/Node.js
const fetch = require('node-fetch');
const { v4: uuidv4 } = require('uuid');
const A2A_BASE_URL = 'https://agents.theifriend.com/trip/a2a';
const A2A_JWT_TOKEN = 'seu_token_aqui';
async function sendMessage(message) {
const response = await fetch(`${A2A_BASE_URL}/`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${A2A_JWT_TOKEN}`
},
body: JSON.stringify({
jsonrpc: '2.0',
id: uuidv4(),
method: 'message/send',
params: {
message: {
role: 'user',
parts: [{ type: 'text', text: message }]
}
}
})
});
return response.json();
}
const result = await sendMessage('Quero experiências em São Paulo');
console.log(result);
cURL
curl -X POST https://agents.theifriend.com/trip/a2a/ \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN" \
-d '{
"jsonrpc": "2.0",
"id": "1",
"method": "message/send",
"params": {
"message": {
"role": "user",
"parts": [{"type": "text", "text": "Quero experiências em São Paulo"}]
}
}
}'