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:
| Recurso | Descrição |
|---|---|
| /openapi.json | Especificação OpenAPI 3.1 da API pública da SPOSI — pronta para uso como definição de ferramentas em function calling. |
| /api/openapi.yaml | A 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.txt | Resumo estruturado da plataforma em markdown, com seção explícita de quando usar a SPOSI e como acessar o site. |
| /llms-full.txt | Documentação institucional completa em markdown: funcionalidades, planos, stack, conformidade e glossário. |
| /sitemap.xml | Mapa do site com todas as URLs públicas indexáveis, gerado dinamicamente a partir do banco de dados. |
| /robots.txt | Regras de rastreamento por agente, incluindo permissões explícitas para crawlers de IA (GPTBot, ClaudeBot, PerplexityBot e outros). |
| npx sposi-cli | CLI 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/sobreAs 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-ReseteRateLimit-Policy(mais os equivalentesX-RateLimit-*para compatibilidade), para que um agente ajuste seu ritmo em tempo real; um 429 também trazRetry-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_urlde cada fornecedor para chegar ao perfil público.
Endpoints
| Rota | operationId | Descrição |
|---|---|---|
| GET /api/v1 | getApiIndex | Índice de descoberta com todas as rotas e o limite de requisições. |
| GET /api/v1/health | getApiHealth | Disponibilidade da API e do banco de leitura. |
| GET /api/v1/categories | listSupplierCategories | As 20 categorias do marketplace, com contagem de fornecedores ativos. |
| GET /api/v1/suppliers | listSuppliers | Fornecedores aprovados, com filtro por categoria, UF, cidade, texto livre e verificação. |
| GET /api/v1/suppliers/{slug} | getSupplierBySlug | Perfil público de um fornecedor, com avaliações aprovadas. |
| GET /api/v1/posts | listBlogPosts | Posts publicados do blog, do mais recente ao mais antigo. |
| GET /api/v1/posts/{slug} | getBlogPostBySlug | Um post publicado, com o corpo em HTML sanitizado e em texto puro. |
| GET /api/v1/glossary | listGlossaryTerms | Glossário de termos do casamento brasileiro. |
| GET /api/v1/plans | listPlans | Planos comerciais ativos, com preços, limites e recursos. |
| GET /api/v1/stats | getPlatformStats | Nú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/v1nunca 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
DeprecationeSunset(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 --jsonOrientaçõ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.