# API Pública de Cortecloud

> Qué permite integrar la API Pública de Cortecloud, URLs de los entornos de homologación y producción y primeros pasos.

URL canónica: https://apis.cortecloud.com.br/docs/es/

Cortecloud es la plataforma en la que los **carpinteros**, profesionales que diseñan y arman muebles, encargan piezas cortadas a medida a **centrales de servicio**, las empresas que venden los materiales y producen esas piezas. En este portal, "central" es siempre la central de servicio. Los demás términos están definidos en [Conceptos](https://apis.cortecloud.com.br/docs/es/comecando/conceitos.md).

La API Pública permite integrar el sistema de una central (ERP, sistema de ventas, checkout de pago) con Cortecloud. Con ella, su integración puede:

- mantener el precio, el stock y el estado activo/inactivo de los materiales de la central: tableros, tapacantos y componentes ([Materiales](https://apis.cortecloud.com.br/docs/es/guias/integracao-erp/materiais.md));
- consultar los servicios (pedidos) de la central, asociarlos a los pedidos de su ERP y enviarlos a producción ([Obtener servicios](https://apis.cortecloud.com.br/docs/es/guias/integracao-erp/obter-servicos.md) y [Actualizar servicios](https://apis.cortecloud.com.br/docs/es/guias/integracao-erp/atualizar-servicos.md));
- recibir un aviso en cada cambio de estado de un servicio, sin consultar `GET /services` repetidamente ([Webhooks](https://apis.cortecloud.com.br/docs/es/guias/webhooks.md));
- recibir el pago en línea de un servicio en un checkout de su sistema ([Checkout de pago](https://apis.cortecloud.com.br/docs/es/guias/checkout.md));
- abrir pantallas de Cortecloud ya autenticadas para vendedores y carpinteros, sin que tengan que escribir usuario y contraseña ([Inicio de sesión integrado](https://apis.cortecloud.com.br/docs/es/guias/login-embutido.md)).

Para quienes desarrollan software de diseño de muebles, el portal también documenta el formato del archivo JSON con el que el carpintero importa piezas, perforaciones y mecanizados a un servicio ([Importación por archivo JSON](https://apis.cortecloud.com.br/docs/es/guias/importacao-json.md)). Esa integración se hace por archivo y no usa la API.

## Entornos {#ambientes}

| Entorno | URL base |
| --- | --- |
| Homologación | `https://apis.hml.cortecloud.com.br` |
| Producción | `https://apis.cortecloud.com.br` |

Cada entorno tiene credenciales propias. Los ejemplos usan paths relativos (`/services`, `/materials/boards`): antepóngales la URL base del entorno.

## Primeros pasos {#primeiros-passos}

1. Solicite las credenciales (api key y secret key) a suporte@serrabits.com.br. Indique que usted es integrador, qué central va a integrar y en qué entorno. Si no conoce el [código de la central](https://apis.cortecloud.com.br/docs/es/comecando/conceitos.md#codigo-da-central), solicítelo en el mismo mensaje.
2. Implemente la firma de las solicitudes según [Autenticación](https://apis.cortecloud.com.br/docs/es/comecando/autenticacao.md) y compruebe el resultado con los [valores de validación](https://apis.cortecloud.com.br/docs/es/comecando/autenticacao.md#valide-a-sua-implementacao).
3. Lea [Errores, límites y paginación](https://apis.cortecloud.com.br/docs/es/comecando/erros-limites-paginacao.md) antes de escribir ciclos de sincronización.
4. Siga la guía de su caso de uso, primero en homologación y después en producción.

## Cómo está organizada esta documentación {#como-esta-documentacao-esta-organizada}

- **Guías** (esta parte): conceptos, autenticación y el paso a paso de cada tipo de integración.
- **[Referencia de la API](https://apis.cortecloud.com.br/docs/swagger)**: Swagger con todas las rutas, parámetros, cuerpos y respuestas. Es la fuente de verdad sobre el formato de cada ruta; las guías remiten a la operación correspondiente.
- **[Playground](https://apis.cortecloud.com.br/docs/playground.html)**: colección de [Bruno](https://www.usebruno.com/) con una solicitud de ejemplo para cada ruta, en el entorno de homologación. Abierta en Bruno, la colección firma cada solicitud por sí sola. Para usarla:
  1. abra la colección en Bruno con el botón "Open in Bruno";
  2. active el Developer Mode de Bruno (el script de firma usa el módulo `crypto`);
  3. en el environment `HML`, complete `apiKey` y `secretKey` como secrets y `companyInternalCode` con el código de la central.
