POST /api/marketing/campaigns
Crea la campaña en Meta y devuelve el objeto releído. Sin status nace PAUSED. special_ad_categories viaja siempre (vacío si no se declara ninguna) porque Meta lo exige. daily_budget y lifetime_budget son excluyentes: mandar los dos es 400. Los montos van en centavos de la moneda de la cuenta, sin convertir. La combinación válida de objetivo, optimización y facturación la valida Meta del lado del servidor: Neike valida solo que cada valor pertenezca a su enum y devuelve el error de Meta mapeado. Requiere scope marketing:manage.
Field Type Description ad_account_idstring required Cuenta publicitaria de Meta, con prefijo. Example: "act_123". namestring required Example: "Tráfico · septiembre". objectiveAPP_INSTALLS · BRAND_AWARENESS · CONVERSIONS · EVENT_RESPONSES · LEAD_GENERATION · LINK_CLICKS · LOCAL_AWARENESS · MESSAGES · OFFER_CLAIMS · OUTCOME_APP_PROMOTION · OUTCOME_AWARENESS · OUTCOME_ENGAGEMENT · OUTCOME_LEADS · OUTCOME_SALES · OUTCOME_TRAFFIC · PAGE_LIKES · POST_ENGAGEMENT · PRODUCT_CATALOG_SALES · REACH · STORE_VISITS · VIDEO_VIEWSrequired — special_ad_categoriesNONE · EMPLOYMENT · HOUSING · CREDIT · ISSUES_ELECTIONS_POLITICS · ONLINE_GAMBLING_AND_GAMING · FINANCIAL_PRODUCTS_SERVICES[]optional Categorías de anuncio especial. Meta lo exige siempre: si no viene se manda []. Default: []. statusACTIVE · PAUSED · DELETED · ARCHIVEDoptional Si no viene, la campaña se crea PAUSED (nadie empieza a gastar sin pedirlo). Default: "PAUSED". buying_typeAUCTION · RESERVEDoptional — daily_budgetnumber optional Presupuesto diario en centavos. Excluyente con lifetime_budget. Example: 100000. lifetime_budgetnumber optional Presupuesto total en centavos. Excluyente con daily_budget. Example: null. bid_strategyLOWEST_COST_WITHOUT_CAP · LOWEST_COST_WITH_BID_CAP · COST_CAP · LOWEST_COST_WITH_MIN_ROASoptional — spend_capnumber optional Tope de gasto de la campaña, en centavos. start_timestring optional Example: "2026-09-01T00:00:00-0300". stop_timestring optional Example: "2026-09-30T23:59:59-0300".
curl -X POST https://api.neike.dev/api/marketing/campaigns \
-H " x-neike-api-key: whk_live_… " \
-H " Content-Type: application/json " \
"ad_account_id": "act_123",
"name": "Tráfico · septiembre",
"objective": "APP_INSTALLS"
Field Type Description idstring required Example: "120210000000000000". namestring required Example: "Tráfico · septiembre". objectiveAPP_INSTALLS · BRAND_AWARENESS · CONVERSIONS · EVENT_RESPONSES · LEAD_GENERATION · LINK_CLICKS · LOCAL_AWARENESS · MESSAGES · OFFER_CLAIMS · OUTCOME_APP_PROMOTION · OUTCOME_AWARENESS · OUTCOME_ENGAGEMENT · OUTCOME_LEADS · OUTCOME_SALES · OUTCOME_TRAFFIC · PAGE_LIKES · POST_ENGAGEMENT · PRODUCT_CATALOG_SALES · REACH · STORE_VISITS · VIDEO_VIEWSoptional — statusACTIVE · PAUSED · DELETED · ARCHIVEDoptional — effective_statusstring optional Estado efectivo calculado por Meta (incluye los de revisión y los heredados de la cuenta). Es de solo lectura y tiene más valores que status. Example: "PAUSED". special_ad_categoriesNONE · EMPLOYMENT · HOUSING · CREDIT · ISSUES_ELECTIONS_POLITICS · ONLINE_GAMBLING_AND_GAMING · FINANCIAL_PRODUCTS_SERVICES[]optional — buying_typeAUCTION · RESERVEDoptional — daily_budgetstring optional Presupuesto diario en centavos. Example: "100000". lifetime_budgetstring optional Presupuesto total en centavos. Example: "500000". spend_capstring optional Tope de gasto en centavos. Example: "1000000". bid_strategyLOWEST_COST_WITHOUT_CAP · LOWEST_COST_WITH_BID_CAP · COST_CAP · LOWEST_COST_WITH_MIN_ROASoptional — start_timestring optional Example: "2026-09-01T00:00:00-0300". stop_timestring optional Example: "2026-09-30T23:59:59-0300". created_timestring optional — updated_timestring optional —