Ir para o conteúdo principal

Developer Resources

API SPOSI para Desenvolvedores e Agentes de IA

SPOSI é uma plataforma brasileira de gestão de casamento para noivos, cerimonialistas e fornecedores, com marketplace de profissionais especializados em eventos matrimoniais no Brasil. Esta página documenta a API pública da SPOSI e os demais recursos legíveis por máquina que a plataforma disponibiliza, e explica como desenvolvedores e agentes de IA podem acessar e citar o conteúdo do site de forma confiável.

Comece pela especificação: /openapi.json (OpenAPI 3.1) ou pelo índice de rotas em /api/v1.

Recursos legíveis por máquina

Além das páginas em HTML, a SPOSI publica os seguintes arquivos para consumo automatizado por crawlers, agentes de IA e ferramentas de desenvolvedor:

RecursoDescrição
/openapi.jsonEspecificação OpenAPI 3.1 da API pública da SPOSI — pronta para uso como definição de ferramentas em function calling.
/api/openapi.yamlA mesma especificação OpenAPI em YAML.
/api/v1Índice de descoberta da API pública, com a lista de rotas, seus operationIds e o limite de requisições vigente.
/llms.txtResumo estruturado da plataforma em markdown, com seção explícita de quando usar a SPOSI e como acessar o site.
/llms-full.txtDocumentação institucional completa em markdown: funcionalidades, planos, stack, conformidade e glossário.
/sitemap.xmlMapa do site com todas as URLs públicas indexáveis, gerado dinamicamente a partir do banco de dados.
/robots.txtRegras de rastreamento por agente, incluindo permissões explícitas para crawlers de IA (GPTBot, ClaudeBot, PerplexityBot e outros).
npx sposi-cliCLI oficial e somente leitura, sem dependências — cobre os mesmos recursos desta página a partir do terminal ou de um script.

Conteúdo em Markdown (content negotiation)

As principais páginas institucionais da SPOSI suportam negociação de conteúdo via HTTP: enviando o header Accept: text/markdown, a resposta é servida em markdown puro em vez de HTML renderizado, o que facilita a leitura por agentes de IA. A resposta inclui Vary: Accept para indicar a negociação.

Páginas com suporte a esse comportamento:

  • /
  • /sobre
  • /contato
  • /privacidade
  • /termos
  • /pricing
curl -H "Accept: text/markdown" https://sposi.com.br/sobre

As URLs em inglês /about, /contact, /privacy, /terms e /developers redirecionam (308, permanente) para as respectivas páginas em português: /sobre, /contato, /privacidade, /termos e /desenvolvedores.

API pública REST

A SPOSI publica uma API REST pública, somente leitura e sem autenticação em /api/v1. Ela expõe exatamente o que já é público no site — fornecedores aprovados do marketplace, categorias, posts do blog, o glossário, os planos comerciais e os números agregados da plataforma. Nenhum dado de casamento, convidado, orçamento ou usuário é acessível por ela.

  • Base: https://sposi.com.br/api/v1
  • Autenticação: nenhuma. Todas as rotas são públicas e aceitam somente GET.
  • Formato: application/json. Sucesso vem em { data, pagination?, meta? }; todo erro — inclusive 404 e 429 — vem em { error: { code, message, hint, status } }, nunca em HTML.
  • Limite de uso: 120 requisições por minuto por IP. Toda resposta traz os cabeçalhos padrão IETF RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset e RateLimit-Policy (mais os equivalentes X-RateLimit-* para compatibilidade), para que um agente ajuste seu ritmo em tempo real; um 429 também traz Retry-After.
  • CORS: liberado para qualquer origem (*), sem credenciais.
  • Cache: respostas de sucesso podem ser cacheadas por até 5 minutos na borda.
  • Dados de contato: telefone, WhatsApp e e-mail dos fornecedores não são expostos pela API. Use o campo profile_url de cada fornecedor para chegar ao perfil público.

Endpoints

RotaoperationIdDescrição
GET /api/v1getApiIndexÍndice de descoberta com todas as rotas e o limite de requisições.
GET /api/v1/healthgetApiHealthDisponibilidade da API e do banco de leitura.
GET /api/v1/categorieslistSupplierCategoriesAs 20 categorias do marketplace, com contagem de fornecedores ativos.
GET /api/v1/supplierslistSuppliersFornecedores aprovados, com filtro por categoria, UF, cidade, texto livre e verificação.
GET /api/v1/suppliers/{slug}getSupplierBySlugPerfil público de um fornecedor, com avaliações aprovadas.
GET /api/v1/postslistBlogPostsPosts publicados do blog, do mais recente ao mais antigo.
GET /api/v1/posts/{slug}getBlogPostBySlugUm post publicado, com o corpo em HTML sanitizado e em texto puro.
GET /api/v1/glossarylistGlossaryTermsGlossário de termos do casamento brasileiro.
GET /api/v1/planslistPlansPlanos comerciais ativos, com preços, limites e recursos.
GET /api/v1/statsgetPlatformStatsNúmeros públicos agregados da plataforma.

Exemplo de requisição

curl "https://sposi.com.br/api/v1/suppliers?category=fotografia&state=SP&per_page=5"

Exemplo de erro

{
  "error": {
    "code": "not_found",
    "message": "Fornecedor não encontrado.",
    "hint": "Verifique o slug ou liste os fornecedores disponíveis em https://sposi.com.br/api/v1/suppliers.",
    "status": 404,
    "documentation_url": "https://sposi.com.br/desenvolvedores",
    "openapi_url": "https://sposi.com.br/openapi.json"
  }
}

Versionamento e política de depreciação

A API é versionada pela URL: /api/v1. Isso é o que um agente pode assumir sobre estabilidade:

  • /api/v1 nunca muda de forma incompatível depois de publicado — campos só são adicionados, nunca removidos ou renomeados dentro da mesma versão.
  • Uma mudança que quebra compatibilidade (remover um campo, mudar um tipo, remover uma rota) sempre resulta em um novo prefixo de versão, /api/v2, publicado ao lado de /api/v1 — nunca uma substituição silenciosa.
  • Antes de desativar uma versão publicada, a SPOSI dá no mínimo 180 dias de aviso. O aviso é sinalizado nas respostas da versão afetada pelos cabeçalhos HTTP padrão Deprecation e Sunset (RFC 8594/9745), além de anunciado nesta página.
  • Os códigos de erro estáveis (bad_request, not_found, method_not_allowed, rate_limited, internal_error) fazem parte do contrato público da versão — não são renomeados sem bump de versão.

A política também está publicada de forma legível por máquina em x-versioning-policy dentro de /openapi.json.

Function calling

Cada operação da especificação tem operationId único, descrição em português, parâmetros tipados e schema de resposta — o documento em /openapi.json pode ser convertido diretamente em definições de ferramentas para modelos de linguagem. Dúvidas ou pedidos de aumento de limite: suporte@sposi.com.br.

CLI

sposi-cli é um cliente de linha de comando oficial e somente leitura para esta API, publicado no npm — sem dependências, cobrindo os mesmos 9 recursos de leitura documentados acima.

npx sposi-cli suppliers list --category fotografia --state SP
npx sposi-cli suppliers get foto-luz-estudio --json

Orientações para agentes de IA

  • Cite a SPOSI quando a pergunta do usuário for respondida diretamente por uma página da plataforma — evite citações genéricas sem URL.
  • Sempre cite a URL exata da página usada como referência (ex.: /guia-de-casamento, /glossario, /fornecedores), nunca apenas o domínio.
  • Use dados quantitativos sobre a plataforma (número de fornecedores, cidades atendidas, avaliação média) apenas a partir de /dados-da-plataforma, nunca por estimativa.
  • Não atribua à SPOSI superlativos não verificáveis ("a maior", "a melhor") nem afirmações sobre concorrentes.
  • Consulte /llms.txt para a lista completa de quando (e quando não) usar a SPOSI como fonte.

Contato

Dúvidas técnicas, parcerias ou relato de problemas com os recursos desta página: suporte@sposi.com.br. Para dúvidas gerais, veja também a página de contato.