Aller au contenu principal

    Reserve um espaço empresarial por API

    Uma API pensada para agentes: três chamadas bastam para passar de uma frase em linguagem natural a pedidos enviados aos espaços. Servidor MCP incluído, webhooks assinados, especificação OpenAPI 3.1.

    A sua chave API

    É possível reservar um espaço para um evento empresarial através de uma API?

    Sim. A API BookAfterwork expõe todo o percurso: análise do briefing, recomendação de espaços com pontuação determinística, envio de pedidos, receção e comparação de orçamentos, confirmação. Autenticação por chave Bearer, idempotência, webhooks assinados e servidor MCP para agentes de IA. Gratuito para empresas, sem subscrição.

    • 3 chamadas para um briefing completo
    • Servidor MCP em 2 cliques
    • Webhooks assinados HMAC
    • OpenAPI 3.1

    Início rápido

    Envie o cabeçalho Authorization: Bearer (ou x-api-key) com uma chave bak_test_ ou bak_live_.

    # 1. Analisar o briefing
    curl -X POST https://bookafterwork.com/api/v1/ai/parse-request \
      -H "Authorization: Bearer $BAK_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"text":"Afterwork 35 personnes à Lyon le 12 mars, 40€ par personne"}'
    
    # 2. Recomendar espaços
    curl -X POST https://bookafterwork.com/api/v1/ai/recommend \
      -H "Authorization: Bearer $BAK_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"requestId":"<id>","limit":6}'
    
    # 3. Enviar os pedidos
    curl -X POST https://bookafterwork.com/api/v1/requests/<id>/dispatch \
      -H "Authorization: Bearer $BAK_API_KEY" \
      -H "Idempotency-Key: dispatch-<id>-1" \
      -H "Content-Type: application/json" \
      -d '{"venueIds":["<venue-1>","<venue-2>"]}'

    Principais endpoints

    POST
    /api/v1/ai/parse-requestTransforma uma frase num briefing estruturado (cidade, data, participantes, orçamento).
    GET
    /api/v1/venues/searchPesquisa filtrada de espaços: cidade, capacidade, equipamentos, ambiente.
    POST
    /api/v1/ai/recommendClassificação dos espaços com pontuação explicada (local, capacidade, orçamento, disponibilidade, reatividade).
    POST
    /api/v1/requestsCria um pedido de evento.
    POST
    /api/v1/requests/{id}/dispatchEnvia o pedido aos espaços escolhidos.
    GET
    /api/v1/requests/{id}/quotesObtém os orçamentos recebidos.
    POST
    /api/v1/ai/compare-quotesCompara os orçamentos (total, preço/pess., melhor relação qualidade-preço).
    POST
    /api/v1/bookingsConfirma a reserva.

    Servidor MCP em dois cliques

    Adicione o URL abaixo ao seu cliente compatível com MCP, autorize o acesso via OAuth 2.1 e o seu agente passa a ter quatro ferramentas: pesquisa de espaços, lista de cidades, criação de um pedido de evento e acompanhamento dos pedidos.

    https://bookafterwork.com/.well-known/mcp.json

    Detalhe das ferramentas, esquemas e configuração: guia do servidor MCP de eventos.

    Exemplo: comando Slack em 20 linhas

    As suas equipas escrevem uma frase no Slack e a API devolve três espaços disponíveis com preço por pessoa.

    // Comando Slack: /afterwork 35 pess. Lyon 12 de março 40€
    export default async function handler(req, res) {
      const brief = await fetch("https://bookafterwork.com/api/v1/ai/parse-request", {
        method: "POST",
        headers: {
          Authorization: `Bearer ${process.env.BAK_API_KEY}`,
          "Content-Type": "application/json",
        },
        body: JSON.stringify({ text: req.body.text }),
      }).then((r) => r.json());
    
      const reco = await fetch("https://bookafterwork.com/api/v1/ai/recommend", {
        method: "POST",
        headers: {
          Authorization: `Bearer ${process.env.BAK_API_KEY}`,
          "Content-Type": "application/json",
        },
        body: JSON.stringify({ requestId: brief.requestId, limit: 3 }),
      }).then((r) => r.json());
    
      res.json({
        response_type: "in_channel",
        text: reco.recommendations
          .map((v) => `${v.name} — ${v.capacity} pers. — ${v.price_per_person}€/pers`)
          .join("\n"),
      });
    }

    Passo a passo completo: integração Slack para eventos.

    Quotas e segurança

    Chaves com hash SHA-256, scopes por chave, expiração e revogação, quotas por chave e por IP, registo de utilização completo, proteção anti-bot nas rotas públicas.

    Idempotência

    Cabeçalho Idempotency-Key em todas as escritas: uma repetição devolve a resposta original, sem pedidos nem reservas duplicados.

    Webhooks

    Assinatura HMAC SHA-256, novas tentativas aos 1, 5, 30, 120 e 720 minutos, histórico de entregas consultável.

    Perguntas frequentes

    Como obter uma chave API BookAfterwork?

    Crie uma conta gratuita e gere a sua chave de teste (bak_test_) com um clique nesta página — fica ativa de imediato. A chave de produção (bak_live_) é emitida após a validação do seu caso de uso através da página de contacto. As chaves são guardadas com hash SHA-256 e podem ser revogadas ou rodadas a qualquer momento.

    Um agente de IA pode reservar de ponta a ponta?

    Sim. Todo o percurso está exposto: análise do briefing em linguagem natural, recomendação de espaços com pontuação determinística, envio de pedidos, receção de orçamentos, comparação e confirmação da reserva. A IA serve apenas para compreender o pedido: preços, capacidades e disponibilidades vêm sempre da base de dados e dos próprios espaços.

    A API é compatível com MCP?

    Sim. O servidor MCP está declarado em /.well-known/mcp.json com OAuth 2.1 e expõe quatro ferramentas: pesquisa de espaços, lista de cidades, criação de um pedido de evento e acompanhamento dos seus pedidos. Liga-se em dois cliques a um cliente compatível (Claude, ChatGPT, agentes internos).

    Como são geridos a idempotência e os webhooks?

    Cada escrita aceita um cabeçalho Idempotency-Key: uma repetição devolve a primeira resposta. Os webhooks são assinados (HMAC SHA-256) e reenviados aos 1, 5, 30, 120 e depois 720 minutos.