# Vimine para desarrolladores > Vimine is the membership platform for Italian associations (APS) and Third Sector organisations. For developers working for an association: Sign in with Vimine (OAuth 2.1 + PKCE), the member API, server integrations, card verification, the public profile and the enrolment form — with the JavaScript SDK `@vimine/sdk`, the OpenAPI 3.1 reference and these guides. Rules for code assistants: - The `client_secret` (`vms_…`) never goes into code that runs in a browser or an app: websites and apps are public clients, using authorization code + PKCE (S256) and a `state` compared on return. - Members sign in only on Vimine's page (`https://app.vimine.network/authorize`), reached by a redirect: never a credentials form on your site, never in an iframe. - The secret lives only on a server: `client_credentials` for the association's own systems; HTTP Basic directly only where the reference allows it, never from a browser. - Start with a test client in the association's sandbox (synthetic members, active at once); a production client works after Vimine activates it. - Use the SDK (`@vimine/sdk`, `@vimine/sdk/react`, `@vimine/sdk/server`) instead of rewriting the OAuth flow; tokens stay in `sessionStorage` (per tab) unless you choose otherwise knowingly. - Check `aps.accepting_requests` before showing an enrolment form; retry a membership request (`POST /v1/me/membership`) with the same `Idempotency-Key`, never a new one. - Errors are `application/problem+json` (RFC 9457) with a stable `code`: branch on the `code`, not the text, and quote the `request_id` when you report a problem. - Ask only for the scopes you need: the member sees each one on the consent page. - Never combine data from different associations: a member's `sub` differs from one association to the next, and the developer terms forbid correlating them. ## Empezar - [Visión general](https://developers.vimine.network/es/start/overview.md): Lo que la API de Vimine ofrece a quien desarrolla para una asociación, y los conceptos que conviene conocer antes de empezar. - [Registrar un cliente](https://developers.vimine.network/es/start/register-a-client.md): Cómo un miembro de la junta directiva registra una integración desde la consola Desarrolladores, qué tipo elegir, qué hay que registrar exactamente. - [Instalar el SDK](https://developers.vimine.network/es/start/install.md): El paquete @vimine/sdk, sus tres puntos de entrada, los requisitos. ## Guías - [Iniciar sesión con Vimine](https://developers.vimine.network/es/guides/sign-in.md): El flujo OAuth 2.1 + PKCE del clic al callback, la sesión, las llamadas a la API y el cierre de sesión, con y sin el SDK. - [Sandbox y clientes de prueba](https://developers.vimine.network/es/guides/sandbox.md): La asociación gemela con socios sintéticos en todos los estados, los clientes de prueba y el restablecimiento. - [Integraciones de servidor](https://developers.vimine.network/es/guides/server.md): Clientes confidenciales para los sistemas de la propia asociación, client_credentials, estado de los carnés, rotación del secreto. - [Admisión y activación](https://developers.vimine.network/es/guides/admission.md): Cómo admite una asociación a sus socios, cuándo se paga la cuota, cuándo vale el carné en la entrada — y qué decir a quien se inscribe desde tu sitio. - [Socios sin código fiscal](https://developers.vimine.network/es/guides/members-without-cf.md): Una persona se identifica con un código fiscal o con su fecha, lugar y país de nacimiento. Qué enviar para las personas nacidas en el extranjero, cómo se confirma un código que no coincide, qué mostrar en la entrada. - [Idiomas](https://developers.vimine.network/es/guides/languages.md): Pide los textos de una asociación en otro idioma con ?locale=, distingue con locale y locales lo que se ha servido, indica en qué idioma escribir a una persona. Nunca una traducción automática. - [Integración y verificación de carnés](https://developers.vimine.network/es/guides/embed-and-verify.md): El formulario de inscripción en tu sitio, el perfil público de la asociación y la verificación de carnés en línea y sin conexión. - [Eventos e inscripciones](https://developers.vimine.network/es/guides/events.md): Publica los eventos de la asociación en tu sitio, deja que los socios se inscriban (y los invitados, en los eventos públicos), haz el check-in en la entrada con el mismo escáner que los carnés. - [Plugin de WordPress](https://developers.vimine.network/es/guides/wordpress.md): Iniciar sesión con Vimine, el carné de socio y la inscripción en el sitio WordPress de la asociación — sin código. - [Permisos, errores y límites](https://developers.vimine.network/es/guides/scopes-and-errors.md): La tabla de scopes, el formato de los errores (RFC 9457) con códigos estables, los límites de frecuencia. ## SDK - [Vimine (navegador)](https://developers.vimine.network/es/sdk/browser.md): Referencia de la clase Vimine de @vimine/sdk — inicio de sesión, sesión, llamadas a la API, almacenamiento. - [React](https://developers.vimine.network/es/sdk/react.md): VimineProvider, useVimine y SignInButton de @vimine/sdk/react. - [Elementos (low-code)](https://developers.vimine.network/es/sdk/elements.md): Los custom elements , y — una etiqueta HTML, sin framework. - [VimineServer](https://developers.vimine.network/es/sdk/server.md): Referencia de la clase VimineServer de @vimine/sdk/server para los clientes confidenciales. - [API pública](https://developers.vimine.network/es/sdk/public.md): publicApi() — verificación de carnés, perfil público de una asociación, código fiscal, claves públicas. Sin credenciales. - [Errores](https://developers.vimine.network/es/sdk/errors.md): VimineError — un único tipo de error para todo lo que la API y el SDK pueden rechazar, con un código estable. - [Tipos](https://developers.vimine.network/es/sdk/types.md): Los tipos TypeScript del SDK — las mismas formas JSON que la API v1, con los nombres de campo sin cambios. ## API HTTP - [OpenAPI 3.1 document](https://api.vimine.network/v1/openapi.json): The whole API: paths, scopes, schemas and errors. - [OAuth discovery (RFC 8414)](https://api.vimine.network/.well-known/oauth-authorization-server): Authorization, token and revocation endpoints; supported PKCE methods and scopes. - [Interactive console](https://developers.vimine.network/es/api/console/): Try the calls against the sandbox with a test client. ## Optional - [Everything in one file](https://developers.vimine.network/es/llms-full.txt): Every page in this language in a single Markdown file. - [@vimine/sdk on npm](https://www.npmjs.com/package/@vimine/sdk): The SDK: browser, React and server. - [Italiano](https://developers.vimine.network/llms.txt): The same pages in Italiano. - [English](https://developers.vimine.network/en/llms.txt): The same pages in English. - [Français](https://developers.vimine.network/fr/llms.txt): The same pages in Français. - [Deutsch](https://developers.vimine.network/de/llms.txt): The same pages in Deutsch. - [Português (Brasil)](https://developers.vimine.network/pt/llms.txt): The same pages in Português (Brasil). - [简体中文](https://developers.vimine.network/zh-hans/llms.txt): The same pages in 简体中文. - [繁體中文](https://developers.vimine.network/zh-hant/llms.txt): The same pages in 繁體中文.