# Como criar um pipeline usando uma especificação OpenAPI

Na Digibee Integration Platform, você pode criar a estrutura (scaffold) de um pipeline a partir de uma especificação OpenAPI. Isso permite que as rotas e parte do fluxo sejam pré-configurados, acelerando a criação de pipelines enquanto garante a adesão às melhores práticas de fluxo de dados.

## **Como importar uma especificação OpenAPI**

1. Na página **Build**, clique em **Criar novo** e selecione **Pipeline com OpenAPI**.
2. Na janela pop-up, carregue um arquivo **YAML** ou **JSON**. Você pode arrastar e soltar o arquivo ou selecioná-lo do seu computador.
3. Na próxima página, você verá uma pré-visualização da lista de rotas. Revise as informações para garantir que estão corretas. Se algo estiver incorreto, clique em **Carregar outro arquivo** para selecionar um novo arquivo com a configuração correta.
4. Quando estiver satisfeito com a configuração, clique em **Confirmar**.

{% hint style="info" %}
Após a confirmação, você não poderá carregar outro arquivo. No entanto, é possível editar manualmente as rotas no formulário de configuração do [**API Trigger**](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/triggers/web-protocols/api) dentro do pipeline.
{% endhint %}

<figure><img src="https://2518718503-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcO0A6g1dOsu8BiHYqO67%2Fuploads%2Fy9vBDW92uhW5pdpnVe7D%2Fcriar-openapi.gif?alt=media&#x26;token=29603032-436c-4142-b9dd-2ace48225b61" alt=""><figcaption></figcaption></figure>

## **Pipeline gerado**

Após importar o arquivo com a especificação OpenAPI, o scaffold do pipeline incluirá os seguintes elementos:

* O [**API Trigger**](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/triggers/web-protocols/api), que serve como o ponto inicial do pipeline.
* Uma representação visual das rotas, cada uma conectada a um **Router** para gerenciar diferentes caminhos.
* Conectores [**Block Execution**](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/connectors/logic/block-execution) ao final de cada rota, organizando logicamente o pipeline em subfluxos para facilitar o gerenciamento e melhorar a clareza.
* Gerenciamento de respostas dentro dos subfluxos [**OnProcess**](https://docs.digibee.com/documentation/developer-guide/pt-br/development-cycle/build-overview/subpipelines#onprocess) e [**OnException**](https://docs.digibee.com/documentation/developer-guide/pt-br/development-cycle/build-overview/subpipelines#onexception) de cada **Block Execution**, permitindo um controle de processos e erros mais estruturados.

### **Criando o fluxo a partir do pipeline gerado**

#### **Configurando o trigger**

No pipeline estruturado, o trigger é pré-configurado com as rotas necessárias. No entanto, configurações adicionais devem ser feitas manualmente para garantir que o trigger funcione conforme suas necessidades. Para instruções detalhadas sobre como configurar o trigger, consulte a documentação do [**API Trigger**](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/triggers/web-protocols/api).

#### **Configurando os subfluxos**

Embora parte do fluxo já esteja estruturada, você precisará continuar implementando a lógica da sua integração configurando os subfluxos nos conectores [**Block Execution**](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/connectors/logic/block-execution) no final de cada rota. Essa abordagem assegura que sua integração siga as boas práticas enquanto permanece gerenciável.

#### **Editando as rotas**

Você pode editar as rotas a qualquer momento por meio do formulário de configuração do trigger. Assim que salvar o trigger, qualquer alteração será refletida imediatamente no pipeline.

{% hint style="warning" %}
Se você alterar o [**API Trigger**](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/triggers/web-protocols/api) para outro tipo de trigger, o **Router** será convertido em um conector **Choice**, e as rotas configuradas anteriormente serão conectadas ao [**Choice**](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/connectors/logic/choice). Você pode copiar os conectores dentro de cada [**Block Execution**](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/connectors/logic/block-execution) e colá-los em outro lugar no pipeline conforme necessário.
{% endhint %}
