# API de creación de oferta

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

:link: [<mark style="color:azul;">**Haga clic para probar la API de creación de ofertas**</mark>](https://offer18.readme.io/reference/offers-api)

### Parámetros comunes

| **Consulta** | **Tipo** | **Descripción**         |
| ------------ | -------- | ----------------------- |
| mid          | Entero   | ID de cuenta de la red  |
| api-key      | Cadena   | Clave API de la red     |
| secret-key   | Cadena   | Clave secreta de la red |

**Acción**

<table data-header-hidden><thead><tr><th width="207.16379474883627"></th><th width="194.99924751175493"></th><th></th></tr></thead><tbody><tr><td><strong>Consulta</strong></td><td><strong>Tipo</strong></td><td><strong>Descripción</strong></td></tr><tr><td>type</td><td>Cadena</td><td><strong>Valores permitidos:</strong><br>create / update</td></tr><tr><td>oid</td><td>Entero</td><td>Requerido en la actualización de la 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>Cuerpo</strong></td><td><strong>Tipo</strong></td><td><strong>Descripción</strong></td></tr><tr><td>offer_name</td><td>Cadena</td><td>Nombre de la campaña</td></tr><tr><td>advertiser_id</td><td>Entero</td><td>ID del anunciante </td></tr><tr><td>offer_url</td><td>URL</td><td>URL de la campaña</td></tr><tr><td>external_offer_id</td><td>Cadena</td><td>ID externo de la campaña (si corresponde)</td></tr><tr><td>app_id</td><td>Cadena</td><td>ID de la aplicación (si corresponde)</td></tr><tr><td>logo</td><td>URL</td><td>URL del logotipo de la campaña</td></tr><tr><td>category</td><td>Cadena</td><td>Categoría de la campaña</td></tr><tr><td>preview_url</td><td>URL</td><td>URL de vista previa de la campaña</td></tr><tr><td>currency</td><td>Cadena</td><td><p>Moneda de la oferta</p><p><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comunes#currency"><mark style="color:azul;">Ver monedas</mark></a></p></td></tr><tr><td>price_advertiser</td><td>Decimal</td><td>Precio otorgado por el anunciante para la campaña</td></tr><tr><td>price_affiliate</td><td>Decimal</td><td>Precio otorgado al afiliado por la campaña</td></tr><tr><td>model_advertiser</td><td>Cadena</td><td>Modelo de anunciante de la campaña<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comunes#models"><mark style="color:azul;">Ver modelos</mark></a></td></tr><tr><td>model_affiliate</td><td>Cadena</td><td>Modelo de anunciante de la campaña<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comunes#models"><mark style="color:azul;">Ver modelos</mark> </a></td></tr><tr><td>hide_affiliate_payout</td><td>Entero</td><td>Valores permitidos <br><strong>1:</strong> Para ocultar el pago al afiliado</td></tr><tr><td>start_datetime</td><td>Marca de tiempo UTC</td><td>Fecha/hora de inicio<br>(AAAA-MM-DD HH:MM:SS) </td></tr><tr><td>end_datetime</td><td>Marca de tiempo UTC</td><td>Fecha/hora de finalización<br>(AAAA-MM-DD HH:MM:SS )</td></tr><tr><td>visibility</td><td>Cadena</td><td><strong>Valores permitidos:</strong><br>public, permission, private</td></tr><tr><td>status</td><td>Cadena</td><td><strong>Valores permitidos:</strong> approve, pending</td></tr><tr><td>deep_links</td><td>Entero</td><td>Valores permitidos<br><strong>1:</strong> Para habilitar deeplinks en ofertas</td></tr><tr><td>offer_terms</td><td>Cadena</td><td>Términos de la campaña</td></tr><tr><td>offer_kpi</td><td>Cadena</td><td>Términos KPI de la campaña</td></tr><tr><td>private_note</td><td>Cadena</td><td>Notas privadas en la campaña</td></tr><tr><td>imps_url</td><td>URL</td><td>URL de impresión</td></tr><tr><td>landing_page_name_1</td><td>Cadena</td><td>Nombre de la primera página de destino </td></tr><tr><td>landing_page_url_1</td><td>URL</td><td>URL de la primera página de destino de la campaña</td></tr><tr><td>landing_page_name_2</td><td>Cadena</td><td>Nombre de la segunda página de destino</td></tr><tr><td>landing_page_url_2</td><td>URL</td><td>URL de la segunda página de destino de la campaña</td></tr><tr><td>creatives</td><td>URL</td><td>URL de los creativos para la campaña</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>Entero</td><td>ID de la oferta de fallback</td></tr><tr><td>fallback_url</td><td>URL</td><td>URL de la alternativa</td></tr><tr><td>fraud_conv_speed</td><td>Entero</td><td>Tiempo en segundos</td></tr><tr><td>proxy_block</td><td>Entero</td><td>Valores permitidos:<br><strong>1:</strong> Para bloquear proxies</td></tr><tr><td>blank_ref_block</td><td>Entero</td><td>Valores permitidos:<br><strong>1:</strong> Para bloquear referencia en blanco</td></tr><tr><td>hide_referral</td><td>Entero</td><td>Valores permitidos:<br><strong>1:</strong> Para ocultar la referencia</td></tr><tr><td>assign_affiliates</td><td>Entero</td><td>Asignar afiliados a esta campaña<br>(Valores separados por comas)</td></tr><tr><td>capping_rule_id</td><td>Cadena</td><td>En caso de que el usuario quiera actualizar una regla de limitación existente</td></tr><tr><td>capping[0][capping_rule_name]</td><td>Cadena</td><td>Nombre de la regla de limitación </td></tr><tr><td>capping[0][capping_rule_type]</td><td>Cadena</td><td>Tipo de regla de limitación <br>1. <strong>advertiser_capping</strong><br>2. <strong>affiliate_capping</strong></td></tr><tr><td>capping[0][capping_timezone]</td><td>Marca de tiempo</td><td>Zona horaria de la limitación</td></tr><tr><td>capping[0][capping_events]</td><td>Cadena</td><td>Eventos de limitación</td></tr><tr><td>capping[0][capping_type]</td><td>Cadena</td><td>Tipo de limitación<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>Cadena</td><td>Periodo de limitación<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>Entero</td><td>Valor de la limitación</td></tr><tr><td>capping[0][overcap_action]</td><td>Cadena</td><td>Acción por sobrepaso<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>Correo electrónico de notificación de limitación</td></tr><tr><td>capping[0][capping_affiliate_visibility]</td><td>Entero</td><td><strong>1:</strong> Mostrar la regla de limitación al afiliado</td></tr><tr><td>capping[0][capping_affiliate_id]</td><td>Stirng</td><td>IDs de afiliados (separados por comas)</td></tr><tr><td>target_country</td><td>Cadena</td><td>Permitir país específico <br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comunes#countries"><mark style="color:azul;">Ver países</mark></a></td></tr><tr><td>block_country</td><td>Cadena</td><td>Bloquear país específico <br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comunes#countries"><mark style="color:azul;">Ver países</mark></a></td></tr><tr><td>target_os</td><td>Cadena</td><td>Permitir sistema operativo específico<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comunes#operating-systems"><mark style="color:azul;">Ver sistemas operativos</mark></a></td></tr><tr><td>block_os</td><td>Cadena</td><td>Bloquear sistema operativo específico<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comunes#operating-systems"><mark style="color:azul;">Ver sistemas operativos</mark></a></td></tr><tr><td>target_device</td><td>Cadena</td><td>Permitir dispositivos específicos<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span><a href="../../../universal/valores-comunes#devices"> <mark style="color:azul;">Ver dispositivos</mark></a></td></tr><tr><td>block_device</td><td>Cadena</td><td>Bloquear dispositivos específicos<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span><a href="../../../universal/valores-comunes#devices"> <mark style="color:azul;">Ver dispositivos</mark></a></td></tr><tr><td>target_browser</td><td>Cadena</td><td>Permitir navegador específico<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comunes#browsers"><mark style="color:azul;">Ver navegadores</mark></a></td></tr><tr><td>block_browser</td><td>Cadena</td><td>Bloquear navegador específico<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="../../../universal/valores-comunes#browsers"><mark style="color:azul;">Ver navegadores</mark></a></td></tr><tr><td>target_isp</td><td>Cadena</td><td>Permitir ISP específico</td></tr><tr><td>block_isp</td><td>Cadena</td><td>Bloquear ISP específico</td></tr><tr><td>events[0][event_name]</td><td>Cadena</td><td>Nombre del evento </td></tr><tr><td>events[0][event_token]</td><td>Cadena</td><td>Token para el evento</td></tr><tr><td>capping_conversion_period</td><td>Cadena</td><td><mark style="color:naranja;"><strong>Obsoleto</strong></mark></td></tr><tr><td>capping_budget</td><td>Entero</td><td><mark style="color:naranja;"><strong>Obsoleto</strong></mark></td></tr><tr><td>capping_conversion</td><td>Entero</td><td><mark style="color:naranja;"><strong>Obsoleto</strong></mark></td></tr><tr><td>capping_budget_period</td><td>Cadena</td><td><mark style="color:naranja;"><strong>Obsoleto</strong></mark></td></tr></tbody></table>

**Reglas de limitación (Instrucciones)**&#x20;

{% hint style="info" %}

1. Si desea establecer múltiples reglas de limitación, puede hacerlo asignando reglas a diferentes números\
   **Ejemplo 1:** \
   &#x20; capping\[**1**]\[capping\_rule\_name] \
   &#x20; capping\[**1**]\[capping\_rule\_type]\
   **Ejemplo 2:**\
   &#x20; capping\[**2**]\[capping\_rule\_name] \
   &#x20; capping\[**2**]\[capping\_rule\_type]
2. Si desea actualizar una regla de limitación existente, debe publicar **capping\_rule\_id** en Solicitud API junto con los nuevos datos a **0**(Cero) número\
   **Ejemplo:**\
   &#x20; capping\[**0**]\[capping\_rule\_name] \
   &#x20; capping\[**0**]\[capping\_rule\_type]
   {% endhint %}

**Eventos (Instrucciones)**&#x20;

{% hint style="info" %}

1. Si desea crear múltiples eventos, puede hacerlo asignando eventos a diferentes números\
   **Ejemplo 1:** \
   &#x20; events\[1]\[event\_name] \
   &#x20; events\[1]\[event\_token]\
   **Ejemplo 2:**\
   &#x20; events\[2]\[event\_name] \
   &#x20; events\[2]\[event\_token]
   {% endhint %}

***

### Ejemplo de solicitud API

**Creación de oferta**

![](https://497363578-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)

**Respuesta de la API**

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

**Actualización de oferta**

![](https://497363578-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)

**Respuesta de la API**

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

***

{% hint style="info" %}
**Para interacciones seguras, siempre llame a la API desde el lado del servidor.**
{% endhint %}
