OpenAPI 3.0
Genera SDKs en 8 lenguajes desde la spec
La spec OpenAPI 3.0 de la API de MultiMensajes esta disponible. Sirve para generar clientes tipados, validar requests en tests, o explorar la API visualmente con Swagger UI o Stoplight.
Visualizar la spec
3 opcionesGenerar SDKs automaticamente
8 lenguajes
Con la spec OpenAPI puedes generar clientes tipados en tu lenguaje favorito en segundos.
Todos los generadores siguientes leen el archivo openapi.json descargado.
JavaScript / TypeScript
npm install -g openapi-typescript-codegen
openapi-typescript-codegen --input openapi.json --output ./cliente-js
Python
pip install openapi-python-client
openapi-python-client generate --path openapi.json --output-path ./cliente-python
PHP
composer require openapi-tools/openapi-generator
npx @openapitools/openapi-generator-cli generate \\n -i openapi.json \\n -g php \\n -o ./cliente-php
Go
go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@latest
oapi-codegen --package cliente openapi.json > cliente.go
Java
curl -O https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/bin/utils/openapi-generator-cli.sh
chmod +x openapi-generator-cli.sh
./openapi-generator-cli.sh generate \\n -i openapi.json \\n -g java \\n --library okhttp4 \\n -o ./cliente-java
Ruby
gem install openapi-generator
openapi-generator-cli generate -i openapi.json -g ruby -o ./cliente-ruby
C#
dotnet tool install --global AutoRest.Cli
autorest --input-file=openapi.json --csharp --output-folder=./cliente-csharp
Rust
cargo install openapi-codegen
openapi-codegen openapi.json > ./cliente-rs.rs
Validar el contrato en tus tests
Si quieres asegurarte de que tus requests cumplen el contrato, valida contra la spec en CI:
Python (schemathesis)
import schemathesis
schema = schemathesis.from_path("openapi.json")
@schema.parametrize()
def test_api(case):
case.call_and_validate()
JavaScript (jest-openapi)
const jestOpenAPI = require('jest-openapi').default;
jestOpenAPI('openapi.json');
test('POST /mensaje_enviar_texto', async () => {
const res = await fetch(/* ... */);
expect(res).toSatisfyApiSpec();
});
PHP (openapi-validator)
use League\OpenAPIValidator\PSR7\ValidatorBuilder;
$validator = (new ValidatorBuilder())
->fromYamlFile('openapi.yaml')
->getServerRequestValidator();
$validator->validate($request);
Go (kin-openapi)
loader := openapi3.NewLoader()
doc, _ := loader.LoadFromFile("openapi.yaml")
router, _ := gorillamux.NewRouter(doc)
http.Handle("/", router)
log.Fatal(http.ListenAndServe(":8080", nil))
Importar en otras herramientas
- Postman: Import → Upload files → selecciona
openapi.json - Insomnia: Create → Import from → URL or File
- Hoppscotch: Open workspace → REST → Import OpenAPI
- Bruno: Import Collection → OpenAPI
- VSCode (REST Client): convierte la spec a
.httpconnpx openapi-to-http