# Como usar a API Interna com ou sem uma VPN

Na Digibee Integration Platform, você pode publicar seus pipelines para uso interno ou externo:

* **Uso interno:** A API fica disponível apenas no gateway interno do seu cluster, permitindo o acesso por outros pipelines do seu realm ou por meio de uma VPN.
* **Uso externo:** A API pode ser acessada pela internet, possibilitando a interação com aplicações e serviços externos.

Você pode usar os seguintes triggers para configurar sua API: [**HTTP**](/documentation/connectors-and-triggers/pt-br/triggers/web-protocols/http.md), [**HTTP File**](/documentation/connectors-and-triggers/pt-br/triggers/web-protocols/http-file.md) e [**REST**](/documentation/connectors-and-triggers/pt-br/triggers/web-protocols/rest.md)**.**

Siga os passos abaixo para ativar e usar uma **API Interna**.

{% stepper %}
{% step %}

## **Solicite acesso à API Interna**

Para ativar a API Interna no seu realm, entre em contato com o [Suporte da Digibee](/documentation/troubleshooting/pt-br/help-and-faq/support.md).

A equipe configurará:

* **Hostname:** `{{realmname}}.digibee.internal`
* **Portas:**
  * `7070` (Produção)
  * `9090` (Teste)

{% hint style="info" %}
No modelo de **SaaS Dedicado**, as portas podem ter **valores diferentes**.
{% endhint %}
{% endstep %}

{% step %}

## **Configure um pipeline para acesso à API Interna**

Para configurar o pipeline para usar a API Interna:

1. Escolha um trigger compatível: [**HTTP**](/documentation/connectors-and-triggers/pt-br/triggers/web-protocols/http.md), [**HTTP File**](/documentation/connectors-and-triggers/pt-br/triggers/web-protocols/http-file.md) e [**REST**](/documentation/connectors-and-triggers/pt-br/triggers/web-protocols/rest.md)**.**
2. Ative **Internal API** e **API Key** no formulário de configuração do trigger.
3. Associe o pipeline a uma [API Key](/documentation/developer-guide/pt-br/platform-administration/settings/api-keys-consumers.md).
4. [Implante o pipeline](/documentation/developer-guide/pt-br/development-cycle/overview/deployment/deployments.md) na página **Run**.
5. Abra o cartão do pipeline sobre **Detalhes da implantação** e expanda a seção de configuração do trigger para encontrar o endpoint no seguinte formato:

{% code overflow="wrap" %}

```
https://{substitua-pelo-host-interno-Digibee}/pipeline/realm/v1/{{pipeline-name}}
```

{% endcode %}

### **Exemplo de configuração**

#### **Configuração do realm**

* **Realm:** `dgb-support-lab`
* **Host:** `dgb-support-lab.digibee.internal`
* **Porta:**
  * **Teste:** `9090`
  * **Produção:** `7070`

#### **Configuração do pipeline**

* **Nome do pipeline:** `test-api-internal`
* **Trigger utilizado:** [REST Trigger](/documentation/connectors-and-triggers/pt-br/triggers/web-protocols/rest.md)
* **Método:** `GET`
* **API Interna:** `Ativada`
* **API Key:** `Ativada`

Após a implantação do pipeline no ambiente de **Teste**, o seguinte endpoint estará disponível na página **Run**:

{% code overflow="wrap" %}

```
https://{replace with Digibee internal host}/pipeline/dgb-support-lab/v1/test-api-internal
```

{% endcode %}
{% endstep %}

{% step %}

## **Consuma o endpoint**

Após a implantação do pipeline e a disponibilização do endpoint, você pode consumi-lo de duas formas:

1. **Usando uma** [**VPN**](/documentation/developer-guide/pt-br/connectivity-management/vpn.md)
2. **Localmente, a partir de outros pipelines (sem VPN)**

{% hint style="warning" %}
Por padrão, **não** é possível consumir o endpoint localmente de outros pipelines (sem uma VPN) no modelo de **SaaS Dedicado**.
{% endhint %}

### **Consumindo o endpoint via VPN**

Para consumir um endpoint por meio de uma VPN, certifique-se de que a **Fase 2 da Digibee** está devidamente configurada na sua rede. O serviço que faz a requisição deve estar dentro da faixa de IPs mapeada para a Fase 2 da Digibee.

<figure><img src="/files/nelllo8NBvtj8gkVmZZ4" alt=""><figcaption></figcaption></figure>

#### **Requisitos de configuração**

Antes de fazer a requisição, verifique se:

* A **Fase 2 da Digibee** está declarada na sua rede.
* A **faixa de IPs do consumidor da API** está mapeada na Fase 2 da Digibee.

#### **Chamando o endpoint**

Após a configuração da Fase 2, use o seguinte formato para chamar o endpoint:

```
http://10.255.0.2:9090/pipeline/dgb-support-lab/v1/test-api-internal
```

{% hint style="danger" %}
Use **HTTP** em vez de HTTPS.
{% endhint %}

#### **Checklist de resolução de problemas**

Se houver problemas ao chamar o endpoint, verifique:

* Se a **API Interna** está disponível no seu realm.
* Se o mapeamento da **Fase 2** na Digibee está configurado corretamente.
* Se a **Fase 2 da Digibee** foi declarada na sua rede.
* Se você está usando **HTTP** em vez de HTTPS.

### **Consumindo o endpoint localmente (sem VPN)**

{% hint style="warning" %}
Por padrão, **não** é possível consumir o endpoint localmente de outros pipelines (sem uma VPN) no modelo de **SaaS Dedicado**.
{% endhint %}

Para consumir este endpoint localmente, substitua esse trecho: `{replace with Digibee internal host}` pelo host e porta internos adequados. Veja este exemplo:

* **Host:** `dgb-support-lab.digibee.internal`
* **Porta (Teste):** `9090`

A URL a ser utilizada para acessar o endpoint é:

{% code overflow="wrap" %}

```
http://dgb-support-lab.digibee.internal:9090/pipeline/dgb-support-lab/v1/test-api-internal
```

{% endcode %}

{% hint style="danger" %}
Use **HTTP** em vez de HTTPS.
{% endhint %}

#### **Usando uma API Interna dentro de um pipeline**

Você pode acionar esse endpoint dentro de um pipeline usando um dos seguintes conectores:

* [**REST**](/documentation/connectors-and-triggers/connectors/web-protocols/rest-v2.md)
* [**Pipeline Executor**](/documentation/connectors-and-triggers/pt-br/connectors/tools/pipeline-executor.md)

Além disso, uma aplicação externa pode acessá-lo caso tenha uma conexão VPN estabelecida com seu realm.

**Exemplo: Usando o conector REST**

Aqui está um exemplo de configuração do conector **REST** para chamar essa API interna:

**Configuração do conector:**

<figure><img src="/files/yI3kupb8hv4zzdaj1bSL" alt=""><figcaption></figcaption></figure>

**Saída:**

```json
{
  "status": 200,
  "statusMessage": "OK",
  "body": {
    "success": true
  },
  "headers": {
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Expose-Headers": "Authorization",
    "Connection": "keep-alive",
    "Content-Type": "application/json",
    "X-Digibee-Trace-Id": "d8e14b0b-fade-425d-b1f0-ed1cef66c8df"
  }
}
```

{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digibee.com/documentation/troubleshooting/pt-br/connectivity-guides/use-internal-api-with-and-without-a-vpn.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
