# API de Criação de Oferta

```
POST https://api.offer18.com/api/m/offer_create
```

:link: [<mark style="color:azul;">**Clique para testar a API de criação de oferta**</mark>](https://offer18.readme.io/reference/offers-api)

### Parâmetros Comuns

| **Query**  | **Tipo** | **Descrição**         |
| ---------- | -------- | --------------------- |
| mid        | Inteiro  | ID da Conta da Rede   |
| api-key    | String   | Chave de API da Rede  |
| secret-key | String   | Chave Secreta da Rede |

**Ação**

<table data-header-hidden><thead><tr><th width="207.16379474883627"></th><th width="194.99924751175493"></th><th></th></tr></thead><tbody><tr><td><strong>Query</strong></td><td><strong>Tipo</strong></td><td><strong>Descrição</strong></td></tr><tr><td>type</td><td>String</td><td><strong>Valores Permitidos:</strong><br>create / update</td></tr><tr><td>oid</td><td>Inteiro</td><td>Obrigatório na Atualização da Oferta</td></tr></tbody></table>

***

### **Campos**&#x20;

<table data-header-hidden data-full-width="false"><thead><tr><th width="329.1820791993198"> </th><th width="124"> </th><th width="293.1921073532865"> </th></tr></thead><tbody><tr><td><strong>Corpo</strong></td><td><strong>Tipo</strong></td><td><strong>Descrição</strong></td></tr><tr><td>offer_name</td><td>String</td><td>Nome da Campanha</td></tr><tr><td>advertiser_id</td><td>Inteiro</td><td>ID do Anunciante </td></tr><tr><td>offer_url</td><td>URL</td><td>URL da Campanha</td></tr><tr><td>external_offer_id</td><td>String</td><td>ID externo da Campanha (se houver)</td></tr><tr><td>app_id</td><td>String</td><td>ID do app (se houver)</td></tr><tr><td>logo</td><td>URL</td><td>URL do logo da Campanha</td></tr><tr><td>category</td><td>String</td><td>Categoria da Campanha</td></tr><tr><td>preview_url</td><td>URL</td><td>URL de visualização da Campanha</td></tr><tr><td>currency</td><td>String</td><td><p>Moeda da Oferta</p><p><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comuns#currency"><mark style="color:azul;">Ver Moedas</mark></a></p></td></tr><tr><td>price_advertiser</td><td>Decimal</td><td>Preço dado pelo Anunciante pela Campanha</td></tr><tr><td>price_affiliate</td><td>Decimal</td><td>Preço dado ao Afiliado pela Campanha</td></tr><tr><td>model_advertiser</td><td>String</td><td>Modelo do Anunciante da Campanha<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comuns#models"><mark style="color:azul;">Ver Modelos</mark></a></td></tr><tr><td>model_affiliate</td><td>String</td><td>Modelo do Anunciante da Campanha<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comuns#models"><mark style="color:azul;">Ver Modelos</mark> </a></td></tr><tr><td>hide_affiliate_payout</td><td>Inteiro</td><td>Valores permitidos <br><strong>1:</strong> Para ocultar o pagamento ao Afiliado</td></tr><tr><td>start_datetime</td><td>Timestamp UTC</td><td>Data/hora de início<br>(AAAA-MM-DD HH:MM:SS) </td></tr><tr><td>end_datetime</td><td>Timestamp UTC</td><td>Data/hora de término<br>(AAAA-MM-DD HH:MM:SS )</td></tr><tr><td>visibility</td><td>String</td><td><strong>Valores permitidos:</strong><br>public, permission, private</td></tr><tr><td>status</td><td>String</td><td><strong>Valores permitidos:</strong> approve, pending</td></tr><tr><td>deep_links</td><td>Inteiro</td><td>Valores permitidos<br><strong>1:</strong> Para habilitar deeplinks nas Ofertas</td></tr><tr><td>offer_terms</td><td>String</td><td>Termos da Campanha</td></tr><tr><td>offer_kpi</td><td>String</td><td>Termos de KPI da Campanha</td></tr><tr><td>private_note</td><td>String</td><td>Notas privadas na Campanha</td></tr><tr><td>imps_url</td><td>URL</td><td>URL de Impressão</td></tr><tr><td>landing_page_name_1</td><td>String</td><td>Nome da primeira landing page </td></tr><tr><td>landing_page_url_1</td><td>URL</td><td>URL da primeira landing page da Campanha</td></tr><tr><td>landing_page_name_2</td><td>String</td><td>Nome da segunda landing page</td></tr><tr><td>landing_page_url_2</td><td>URL</td><td>URL da segunda landing page da Campanha</td></tr><tr><td>creatives</td><td>URL</td><td>URL dos Criativos da Campanha</td></tr><tr><td>fallback</td><td>boolean</td><td>Valores permitidos:<br><strong>1:</strong> Para habilitar Fallback</td></tr><tr><td>fallback_offer_id</td><td>Inteiro</td><td>ID da Oferta de Fallback</td></tr><tr><td>fallback_url</td><td>URL</td><td>URL do Fallback</td></tr><tr><td>fraud_conv_speed</td><td>Inteiro</td><td>Tempo em segundos</td></tr><tr><td>proxy_block</td><td>Inteiro</td><td>Valores permitidos:<br><strong>1:</strong> Para bloquear proxies</td></tr><tr><td>blank_ref_block</td><td>Inteiro</td><td>Valores permitidos:<br><strong>1:</strong> Para bloquear Referência em branco</td></tr><tr><td>hide_referral</td><td>Inteiro</td><td>Valores permitidos:<br><strong>1:</strong> Para ocultar indicação</td></tr><tr><td>assign_affiliates</td><td>Inteiro</td><td>Atribuir Afiliados a esta Campanha<br>(Valores separados por vírgula)</td></tr><tr><td>capping_rule_id</td><td>String</td><td>Caso o usuário queira Atualizar regra de capping existente</td></tr><tr><td>capping[0][capping_rule_name]</td><td>String</td><td>Nome da Regra de Capping </td></tr><tr><td>capping[0][capping_rule_type]</td><td>String</td><td>Tipo de regra de capping <br>1. <strong>advertiser_capping</strong><br>2. <strong>affiliate_capping</strong></td></tr><tr><td>capping[0][capping_timezone]</td><td>Timestamp</td><td>Fuso horário do Capping</td></tr><tr><td>capping[0][capping_events]</td><td>String</td><td>Eventos de Capping</td></tr><tr><td>capping[0][capping_type]</td><td>String</td><td>Tipo de capping<br>1. <strong>gross_conversions</strong><br>2. <strong>approved_conversions</strong><br>3. <strong>gross_revenue</strong><br>4. <strong>approved_revenue</strong><br>5. <strong>gross_payout</strong><br>6. <strong>approved_payout</strong><br>7. <strong>gross_clicks</strong><br>8. <strong>approved_clicks</strong></td></tr><tr><td>capping[0][capping_period]</td><td>String</td><td>Período de capping<br>1. <strong>daily</strong><br>2. <strong>weekly</strong><br>3. <strong>monthly</strong><br>4. <strong>hourly</strong></td></tr><tr><td>capping[0][capping_value]</td><td>Inteiro</td><td>Valor de Capping</td></tr><tr><td>capping[0][overcap_action]</td><td>String</td><td>Ação de Overcap<br>1. <strong>stop</strong><br>2. <strong>fallback</strong><br>3. <strong>fallback_conversion_accept</strong><br>4. <strong>conversion_accept</strong><br>5. <strong>conversion_reject</strong><br>6. <strong>conversion_pending</strong></td></tr><tr><td>capping[0][capping_notification_email]</td><td>Stirng</td><td>Email de Notificação de Capping</td></tr><tr><td>capping[0][capping_affiliate_visibility]</td><td>Inteiro</td><td><strong>1:</strong> Mostrar Regra de Capping para o afiliado</td></tr><tr><td>capping[0][capping_affiliate_id]</td><td>Stirng</td><td>IDs de Afiliado (separados por vírgula)</td></tr><tr><td>target_country</td><td>String</td><td>Permitir País específico <br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comuns#countries"><mark style="color:azul;">Ver Países</mark></a></td></tr><tr><td>block_country</td><td>String</td><td>Bloquear País específico <br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comuns#countries"><mark style="color:azul;">Ver Países</mark></a></td></tr><tr><td>target_os</td><td>String</td><td>Permitir sistema operacional específico<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comuns#operating-systems"><mark style="color:azul;">Ver SO</mark></a></td></tr><tr><td>block_os</td><td>String</td><td>Bloquear sistema operacional específico<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comuns#operating-systems"><mark style="color:azul;">Ver SO</mark></a></td></tr><tr><td>target_device</td><td>String</td><td>Permitir Dispositivos específicos<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span><a href="../../../universal/valores-comuns#devices"> <mark style="color:azul;">Ver Dispositivos</mark></a></td></tr><tr><td>block_device</td><td>String</td><td>Bloquear Dispositivos específicos<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span><a href="../../../universal/valores-comuns#devices"> <mark style="color:azul;">Ver Dispositivos</mark></a></td></tr><tr><td>target_browser</td><td>String</td><td>Permitir Navegador específico<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comuns#browsers"><mark style="color:azul;">Ver Navegadores</mark></a></td></tr><tr><td>block_browser</td><td>String</td><td>Bloquear Navegador específico<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comuns#browsers"><mark style="color:azul;">Ver Navegadores</mark></a></td></tr><tr><td>target_isp</td><td>String</td><td>Permitir ISP específico</td></tr><tr><td>block_isp</td><td>String</td><td>Bloquear ISP específico</td></tr><tr><td>events[0][event_name]</td><td>String</td><td>Nome do evento </td></tr><tr><td>events[0][event_token]</td><td>String</td><td>Token para o evento</td></tr><tr><td>capping_conversion_period</td><td>String</td><td><mark style="color:laranja;"><strong>Depreciado</strong></mark></td></tr><tr><td>capping_budget</td><td>Inteiro</td><td><mark style="color:laranja;"><strong>Depreciado</strong></mark></td></tr><tr><td>capping_conversion</td><td>Inteiro</td><td><mark style="color:laranja;"><strong>Depreciado</strong></mark></td></tr><tr><td>capping_budget_period</td><td>String</td><td><mark style="color:laranja;"><strong>Depreciado</strong></mark></td></tr></tbody></table>

**Regras de Capping (Instruções)**&#x20;

{% hint style="info" %}

1. Se você quiser definir várias regras de capping, pode fazê-lo atribuindo regras a números diferentes\
   **Exemplo 1:** \
   &#x20; capping\[**1**]\[capping\_rule\_name] \
   &#x20; capping\[**1**]\[capping\_rule\_type]\
   **Exemplo 2:**\
   &#x20; capping\[**2**]\[capping\_rule\_name] \
   &#x20; capping\[**2**]\[capping\_rule\_type]
2. Se você quiser atualizar uma regra de capping existente, você deve postar **capping\_rule\_id** em Solicitação de API junto com novos dados para **0**(Zero) número\
   **Exemplo:**\
   &#x20; capping\[**0**]\[capping\_rule\_name] \
   &#x20; capping\[**0**]\[capping\_rule\_type]
   {% endhint %}

**Eventos (Instruções)**&#x20;

{% hint style="info" %}

1. Se você quiser criar múltiplos eventos, pode fazê-lo atribuindo eventos a números diferentes\
   **Exemplo 1:** \
   &#x20; events\[1]\[event\_name] \
   &#x20; events\[1]\[event\_token]\
   **Exemplo 2:**\
   &#x20; events\[2]\[event\_name] \
   &#x20; events\[2]\[event\_token]
   {% endhint %}

***

### Exemplo de Requisição API

**Criação de Oferta**

![](https://4294454144-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F41f2EboJipeUA6flsLGK%2Fuploads%2Fdx5QTRNVdSSn89Lmib9O%2Fimage.png?alt=media\&token=855f8e50-bbf1-4c8d-998d-2a0bf3133d67)

**Resposta da API**

```
{
    "status": "200",
    "response": "offer_created_successfully",
    "offer_id": 000012    
}
```

**Atualização de Oferta**

![](https://4294454144-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F41f2EboJipeUA6flsLGK%2Fuploads%2Fp9ZW5G3rU3gMmESmYWwY%2Fimage.png?alt=media\&token=ba10f54b-9203-4576-b029-139456429b94)

**Resposta da API**

```
{
    "status": "200",
    "response": "offer_updated_successfully",
    "offer_id": "000001"
}
```

***

{% hint style="info" %}
**Para interações seguras, sempre chame a API a partir do lado do servidor.**
{% endhint %}
