Otros lenguajes
Ofrecemos SDK oficiales para TypeScript y Python. Para el resto de lenguajes, puedes generar automáticamente un cliente a partir de nuestra especificación OpenAPI o utilizar la API REST directamente.
Especificación OpenAPI
Nuestra especificación completa de la API está disponible en:
https://docs.sharpapi.io/openapi.jsonSe trata de una especificación estándar OpenAPI 3.1.0 con 34 endpoints, 27 esquemas y ejemplos completos de petición/respuesta. Puedes utilizarla con cualquier generador de código compatible con OpenAPI.
Generar un cliente automáticamente
Usando openapi-generator
El generador más popular admite más de 50 lenguajes. Instálalo y genera un cliente con un solo comando:
Go
# Instalación
brew install openapi-generator # macOS
# o: npm install -g @openapitools/openapi-generator-cli
# Generar cliente Go
openapi-generator generate \
-i https://docs.sharpapi.io/openapi.json \
-g go \
-o ./sharpapi-go \
--additional-properties=packageName=sharpapipackage main
import (
"context"
"fmt"
sharpapi "sharpapi"
)
func main() {
cfg := sharpapi.NewConfiguration()
cfg.AddDefaultHeader("X-API-Key", "sk_live_...")
client := sharpapi.NewAPIClient(cfg)
odds, _, err := client.OddsAPI.GetOdds(context.Background()).
League("nba").
Execute()
if err != nil {
panic(err)
}
fmt.Printf("Got %d odds\n", len(odds.Data))
}Usando openapi-fetch (alternativa en TypeScript)
Si prefieres un cliente TypeScript más ligero sin nuestro SDK completo:
npm install openapi-fetch openapi-typescript
npx openapi-typescript https://docs.sharpapi.io/openapi.json -o ./sharpapi.d.tsimport createClient from 'openapi-fetch'
import type { paths } from './sharpapi'
const api = createClient<paths>({
baseUrl: 'https://api.sharpapi.io/api/v1',
headers: { 'X-API-Key': 'sk_live_...' },
})
const { data } = await api.GET('/odds', {
params: { query: { league: 'nba' } },
})API REST sin más
No se necesita ningún SDK: nuestra API es REST estándar con respuestas en JSON. Sirve cualquier cliente HTTP:
curl
curl -H "X-API-Key: sk_live_..." \
"https://api.sharpapi.io/api/v1/odds?league=nba"Streaming SSE
SSE funciona con cualquier lenguaje que admita EventSource o streaming HTTP. Consulta la documentación de streaming para conocer el protocolo de eventos.
Los clientes generados automáticamente no incluyen compatibilidad con streaming SSE. Para streaming en tiempo real, utiliza nuestro SDK de TypeScript o implementa el protocolo SSE directamente: no es más que un GET HTTP de larga duración con el tipo de contenido text/event-stream.