Skip to content

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)

pip install 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"}]
      }
    }
  }'