> For the complete documentation index, see [llms.txt](https://knowledgebase.offer18.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://knowledgebase.offer18.com/es/red/api-de-red/api-de-creacion-de-oferta.md).

# API de creación de oferta

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

:link: [<mark style="color:azul;">**Haga clic para probar la API de creación de oferta**</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>action</td><td>Cadena</td><td><strong>Valores permitidos:</strong><br>crear / actualizar / eliminar</td></tr><tr><td>offer_id</td><td>Entero</td><td>Requerido en la actualización y eliminació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 de la campaña externa (si la hay)</td></tr><tr><td>app_id</td><td>Cadena</td><td>ID de la aplicación (si la hay)</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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#currency"><mark style="color:azul;">Ver monedas</mark></a></p></td></tr><tr><td>price_advertiser</td><td>Decimal</td><td>Precio dado por el anunciante para la campaña</td></tr><tr><td>price_affiliate</td><td>Decimal</td><td>Precio dado al afiliado para 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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#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>(YYYY-MM-DD HH:MM:SS) </td></tr><tr><td>end_datetime</td><td>Marca de tiempo UTC</td><td>Fecha / hora de fin<br>(YYYY-MM-DD HH:MM:SS )</td></tr><tr><td>visibility</td><td>Cadena</td><td><strong>Valores permitidos:</strong><br>público, permiso, privado</td></tr><tr><td>status</td><td>Cadena</td><td><strong>Valores permitidos:</strong> aprobado, pendiente</td></tr><tr><td>deep_links</td><td>Entero</td><td>Valores permitidos<br><strong>1:</strong> Para habilitar enlaces profundos en las 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_id_1</td><td>Entero</td><td>En caso de que el usuario quiera actualizar la página de destino existente</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_id_2</td><td>Entero</td><td>En caso de que el usuario quiera actualizar la página de destino existente</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 de la campaña</td></tr><tr><td>fallback</td><td>booleano</td><td>Valores permitidos:<br><strong>1:</strong> Para habilitar el respaldo</td></tr><tr><td>fallback_offer_id</td><td>Entero</td><td>ID de la oferta de respaldo</td></tr><tr><td>fallback_url</td><td>URL</td><td>URL de respaldo</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 referencias 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>Entero</td><td>En caso de que el usuario quiera actualizar la regla de límite existente</td></tr><tr><td>capping[0][capping_rule_name]</td><td>Cadena</td><td>Nombre de la regla de límite </td></tr><tr><td>capping[0][capping_rule_type]</td><td>Cadena</td><td>Tipo de regla de límite <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 del límite</td></tr><tr><td>capping[0][capping_events]</td><td>Cadena</td><td>Eventos del límite</td></tr><tr><td>capping[0][capping_type]</td><td>Cadena</td><td>Tipo de límite<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 del límite<br>1. <strong>diario</strong><br>2. <strong>semanal</strong><br>3. <strong>mensual</strong><br>4. <strong>por hora</strong></td></tr><tr><td>capping[0][capping_value]</td><td>Entero</td><td>Valor del límite</td></tr><tr><td>capping[0][overcap_action]</td><td>Cadena</td><td>Acción al superar el límite<br>1. <strong>detener</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>Cadena</td><td>Correo electrónico de notificación del límite</td></tr><tr><td>capping[0][capping_affiliate_visibility]</td><td>Entero</td><td><strong>1:</strong> Para mostrar la regla de límite al afiliado</td></tr><tr><td>capping[0][capping_affiliate_id]</td><td>Cadena</td><td>IDs de afiliado (separados por comas)</td></tr><tr><td>targeting_rule_id</td><td>Entero</td><td>En caso de que el usuario quiera actualizar la regla de segmentación existente</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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#operating-systems"><mark style="color:azul;">Ver SO</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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#operating-systems"><mark style="color:azul;">Ver SO</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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#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="/pages/f313102252cc579ff67a8ff711cb638376ea9427#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 del evento</td></tr><tr><td>capping_conversion_period</td><td>Cadena</td><td><mark style="color:naranja;"><strong>En desuso</strong></mark></td></tr><tr><td>capping_budget</td><td>Entero</td><td><mark style="color:naranja;"><strong>En desuso</strong></mark></td></tr><tr><td>capping_conversion</td><td>Entero</td><td><mark style="color:naranja;"><strong>En desuso</strong></mark></td></tr><tr><td>capping_budget_period</td><td>Cadena</td><td><mark style="color:naranja;"><strong>En desuso</strong></mark></td></tr></tbody></table>

**Reglas de límite (Instrucciones)**&#x20;

{% hint style="info" %}

1. Si desea establecer múltiples reglas de límite, puede hacerlo asignando las 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 límite existente, debe enviar **capping\_rule\_id** en la solicitud de la API junto con los nuevos datos a **0**número (cero)\
   **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 de API

**Creación de oferta**

<figure><img src="/files/888d57eed40e8194b871ea4379041e686463cb5a" alt=""><figcaption></figcaption></figure>

**Respuesta de la API**

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

**Actualización de oferta**

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

**Respuesta de la API**

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

***

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