{
  "openapi": "3.1.0",
  "info": {
    "title": "Clubkids - aluguel de itens de bebê pelo assistente",
    "version": "1.1.0",
    "description": "API pública para assistentes de IA ajudarem um cliente a alugar na Clubkids (berço, carrinho, cadeirinha, brinquedos). Passos: 1) catálogo em /ia/cidades.json e /ia/unidades/{id}.json; 2) POST /ia/v1/preparar.php com o telefone do cliente e os itens devolve um link; 3) o cliente abre o link no site da Clubkids, confirma com um código que chega no WhatsApp dele (digitado na página, nunca na conversa), revisa o carrinho, escolhe entrega ou retirada, vê o frete e paga com PIX ou cartão. Nunca peça código, senha, endereço ou dados de cartão na conversa. Sem cupom ou desconto pelo assistente.",
    "contact": { "url": "https://meuclubkids.com.br/ia/conector/" }
  },
  "servers": [{ "url": "https://meuclubkids.com.br" }],
  "paths": {
    "/ia/cidades.json": {
      "get": {
        "operationId": "listarCidades",
        "summary": "Cidades atendidas e as unidades que atendem cada uma (entrega e/ou retirada).",
        "responses": { "200": { "description": "Lista de cidades", "content": { "application/json": {} } } }
      }
    },
    "/ia/unidades/{id}.json": {
      "get": {
        "operationId": "catalogoUnidade",
        "summary": "Catálogo da unidade: itens disponíveis hoje, preço por plano (dias), frete por distância, retirada e WhatsApp.",
        "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" }, "description": "id da unidade (de cidades.json)" }],
        "responses": { "200": { "description": "Catálogo", "content": { "application/json": {} } } }
      }
    },
    "/ia/v1/preparar.php": {
      "post": {
        "operationId": "prepararPedido",
        "summary": "Prepara o pedido e devolve o link de confirmação da Clubkids (o cliente confirma com código no WhatsApp, revisa o carrinho e paga no site).",
        "description": "Não cobra nem reserva nada. Envie ao cliente o campo link_para_o_cliente.",
        "requestBody": { "required": true, "content": { "application/json": { "schema": {
          "type": "object", "required": ["unidade", "telefone", "itens"],
          "properties": {
            "unidade": { "type": "integer", "example": 14 },
            "telefone": { "type": "string", "example": "83999999999", "description": "celular do cliente com DDD (recebe o código no WhatsApp)" },
            "itens": { "type": "array", "maxItems": 10, "items": { "type": "object", "required": ["id", "dias"],
              "properties": { "id": { "type": "integer", "description": "id do item no catálogo" }, "dias": { "type": "integer", "enum": [7, 15, 30, 60, 90], "description": "um dos planos do item" } } } }
          } } } } },
        "responses": { "201": { "description": "Link de confirmação (link_para_o_cliente)" }, "400": { "description": "Dados inválidos" }, "404": { "description": "Unidade sem catálogo" }, "409": { "description": "Item indisponível" }, "429": { "description": "Limite atingido" } }
      }
    }
  }
}
