Trillboards Campaign Planner

Plan and book out-of-home, CTV, video, audio and display campaigns, paid through Stripe.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
89%
Calidad de los nombres
93%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~6,991Tokens (definiciones de herramientas)
~8.1 KBTamaño de respuesta típico
Impacto significativo en la atención (5.46% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "planner": {
      "url": "https://api.trillboards.com/mcp/advertiser"
    }
  }
}

Puntos de conexión remotos

https://api.trillboards.com/mcp/advertiserstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_ad_inventory(query, city, state, radius, source, ...)

Find local digital out-of-home screens and available CTV, video, audio and display products for an agency client. Uses the advertiser portal inventory and prices.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Screen or venue text filter. Use geographic radius for a neighborhood; a text match is not a location search."
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Native city filter. For neighborhoods such as Manhattan, use radius around the requested area instead."
    },
    "state": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "radius": {
      "type": "object",
      "properties": {
        "lat": {
          "type": "number",
          "minimum": -90,
          "maximum": 90
        },
        "lng": {
          "type": "number",
          "minimum": -180,
          "maximum": 180
        },
        "miles": {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 500
        }
      },
      "required": [
        "lat",
        "lng",
        "miles"
      ],
      "additionalProperties": false,
      "description": "Geographic inventory search around the client location. Use this for neighborhoods and nearby screens, without an additional neighborhood text or city filter."
    },
    "source": {
      "type": "string",
      "enum": [
        "owned",
        "vistar",
        "mixed"
      ],
      "default": "mixed"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "channels": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "ctv",
          "video",
          "audio",
          "display"
        ]
      },
      "maxItems": 4
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "inventory",
        "plan",
        "campaign",
        "proposal",
        "checkout",
        "delivery"
      ]
    },
    "advertisementId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢preview_campaign_plan(advertisementId, campaignName, clientName, landingUrl, screenIds, ...)

Preview native campaign pricing and audience estimates for selected screens and channels. This does not reserve inventory or charge the advertiser.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "advertisementId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "campaignName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "clientName": {
      "type": "string",
      "maxLength": 160
    },
    "landingUrl": {
      "type": "string",
      "format": "uri",
      "maxLength": 2000,
      "description": "Client business or campaign landing page URL."
    },
    "screenIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 1000,
      "default": []
    },
    "source": {
      "type": "string",
      "enum": [
        "owned",
        "vistar",
        "mixed"
      ],
      "default": "mixed"
    },
    "impressions": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "budgetUsd": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "ownedBudgetUsd": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "partnerBudgetUsd": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "ownedImpressions": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "partnerImpressions": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "quoteId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "quoteIds": {
      "type": "object",
      "properties": {
        "owned": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "partner": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      },
      "additionalProperties": false
    },
    "flightStart": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Local calendar date, YYYY-MM-DD."
    },
    "flightEnd": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Local calendar date, YYYY-MM-DD."
    },
    "startTime": {
      "type": "string",
      "default": "00:00"
    },
    "endTime": {
      "type": "string",
      "default": "23:59"
    },
    "timezone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "IANA timezone for the local flight."
    },
    "providerPlan": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "advertisementId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "geography": {
              "type": "object",
              "properties": {
                "latitude": {
                  "type": "number",
                  "minimum": -90,
                  "maximum": 90
                },
                "longitude": {
                  "type": "number",
                  "minimum": -180,
                  "maximum": 180
                },
                "radius": {
                  "type": "object",
                  "properties": {
                    "center": {
                      "type": "object",
                      "properties": {
                        "lat": {
                          "type": "number",
                          "minimum": -90,
                          "maximum": 90
                        },
                        "lng": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        }
                      },
                      "required": [
                        "lat",
                        "lng"
                      ],
                      "additionalProperties": false
                    },
                    "miles": {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "maximum": 500
                    }
                  },
                  "required": [
                    "center",
                    "miles"
                  ],
                  "additionalProperties": false
                },
                "markets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "country": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 2
                      },
                      "code": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      }
                    },
                    "required": [
                      "country",
                      "code"
                    ],
                    "additionalProperties": false
                  },
                  "maxItems": 50
                },
                "postalCodes": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 200
                },
                "countryCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 2
                },
                "polygon": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "lat": {
                        "type": "number",
                        "minimum": -90,
                        "maximum": 90
                      },
                      "lng": {
                        "type": "number",
                        "minimum": -180,
                        "maximum": 180
                      }
                    },
                    "required": [
                      "lat",
                      "lng"
                    ],
                    "additionalProperties": false
                  },
                  "minItems": 3,
                  "maxItems": 100
                }
              },
              "additionalProperties": false
            },
            "budgetUsd": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "flightStart": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "description": "Local calendar date, YYYY-MM-DD."
            },
            "flightEnd": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "description": "Local calendar date, YYYY-MM-DD."
            },
            "channels": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "ctv",
                  "video",
                  "audio",
                  "display"
                ]
              },
              "minItems": 1,
              "maxItems": 4
            },
            "selectedProductIds": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 100
            },
            "personaIds": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 50
            },
            "intuiziSegmentIds": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 50
            },
            "packageAudienceLens": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "contextualTargeting": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 100
            },
            "contextualAvoidance": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 100
            },
            "audience": {
              "type": "object",
              "properties": {
                "age_range": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "type": "number"
                  }
                },
                "income_range": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "type": "number"
                  }
                },
                "culture": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "white",
                      "black",
                      "asian",
                      "american_indian",
                      "hispanic"
                    ]
                  },
                  "minItems": 1
                },
                "education": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "hs_or_less",
                      "some_college",
                      "bachelors",
                      "graduate"
                    ]
                  },
                  "minItems": 1
                },
                "gender": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "male",
                      "female"
                    ]
                  },
                  "minItems": 1
                },
                "language": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "english_only",
                      "spanish",
                      "other_indo_european",
                      "asian_pacific",
                      "other"
                    ]
                  },
                  "minItems": 1
                },
                "life_stage": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "new_movers",
                      "settled",
                      "long_tenured",
                      "married",
                      "singles",
                      "new_parents",
                      "empty_nesters"
                    ]
                  },
                  "minItems": 1
                },
                "household": {
                  "type": "boolean"
                },
                "lifestyle": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "propertyNames": {
                    "minLength": 1
                  }
                },
                "interests": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "minItems": 1
                },
                "intent": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "minItems": 1
                },
                "place": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "minItems": 1
                },
                "venue_concept": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "minItems": 1
                    },
                    {
                      "type": "object",
                      "additionalProperties": {
                        "type": "number",
                        "exclusiveMinimum": 0,
                        "maximum": 100
                      },
                      "propertyNames": {
                        "minLength": 1
                      }
                    }
                  ]
                },
                "hard": {
                  "type": "boolean"
                },
                "min_fit": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                }
              },
              "additionalProperties": false
            },
            "targeting": {
              "type": "object",
              "properties": {
                "personaIds": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 50
                },
                "intuiziSegmentIds": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 50
                },
                "packageAudienceLens": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "contextualTargeting": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 100
                },
                "contextualAvoidance": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 100
                },
                "audience": {
                  "type": "object",
                  "properties": {
                    "age_range": {
                      "type": "array",
                      "minItems": 2,
                      "maxItems": 2,
                      "items": {
                        "type": "number"
                      }
                    },
                    "income_range": {
                      "type": "array",
                      "minItems": 2,
                      "maxItems": 2,
                      "items": {
                        "type": "number"
                      }
                    },
                    "culture": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "white",
                          "black",
                          "asian",
                          "american_indian",
                          "hispanic"
                        ]
                      },
                      "minItems": 1
                    },
                    "education": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "hs_or_less",
                          "some_college",
                          "bachelors",
                          "graduate"
                        ]
                      },
                      "minItems": 1
                    },
                    "gender": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "male",
                          "female"
                        ]
                      },
                      "minItems": 1
                    },
                    "language": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "english_only",
                          "spanish",
                          "other_indo_european",
                          "asian_pacific",
                          "other"
                        ]
                      },
                      "minItems": 1
                    },
                    "life_stage": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "new_movers",
                          "settled",
                          "long_tenured",
                          "married",
                          "singles",
                          "new_parents",
                          "empty_nesters"
                        ]
                      },
                      "minItems": 1
                    },
                    "household": {
                      "type": "boolean"
                    },
                    "lifestyle": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "propertyNames": {
                        "minLength": 1
                      }
                    },
                    "interests": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "minItems": 1
                    },
                    "intent": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "minItems": 1
                    },
                    "place": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "minItems": 1
                    },
                    "venue_concept": {
                      "anyOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1
                          },
                          "minItems": 1
                        },
                        {
                          "type": "object",
                          "additionalProperties": {
                            "type": "number",
                            "exclusiveMinimum": 0,
                            "maximum": 100
                          },
                          "propertyNames": {
                            "minLength": 1
                          }
                        }
                      ]
                    },
                    "hard": {
                      "type": "boolean"
                    },
                    "min_fit": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          },
          "required": [
            "budgetUsd",
            "flightStart",
            "flightEnd",
            "channels"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "flightStart",
    "flightEnd"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "inventory",
        "plan",
        "campaign",
        "proposal",
        "checkout",
        "delivery"
      ]
    },
    "advertisementId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴save_campaign_draft(advertisementId, campaignName, clientName, landingUrl, screenIds, ...)

Save or update an agency-owned campaign and selected inventory in the advertiser portal. The agency remains the owner and payer; clientName labels the client brief.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "advertisementId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "campaignName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "clientName": {
      "type": "string",
      "maxLength": 160
    },
    "landingUrl": {
      "type": "string",
      "format": "uri",
      "maxLength": 2000,
      "description": "Client business or campaign landing page URL."
    },
    "screenIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 1000,
      "default": []
    },
    "source": {
      "type": "string",
      "enum": [
        "owned",
        "vistar",
        "mixed"
      ],
      "default": "mixed"
    },
    "impressions": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "budgetUsd": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "ownedBudgetUsd": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "partnerBudgetUsd": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "ownedImpressions": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "partnerImpressions": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "quoteId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "quoteIds": {
      "type": "object",
      "properties": {
        "owned": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "partner": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      },
      "additionalProperties": false
    },
    "flightStart": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Local calendar date, YYYY-MM-DD."
    },
    "flightEnd": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Local calendar date, YYYY-MM-DD."
    },
    "startTime": {
      "type": "string",
      "default": "00:00"
    },
    "endTime": {
      "type": "string",
      "default": "23:59"
    },
    "timezone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "IANA timezone for the local flight."
    },
    "providerPlan": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "advertisementId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "geography": {
              "type": "object",
              "properties": {
                "latitude": {
                  "type": "number",
                  "minimum": -90,
                  "maximum": 90
                },
                "longitude": {
                  "type": "number",
                  "minimum": -180,
                  "maximum": 180
                },
                "radius": {
                  "type": "object",
                  "properties": {
                    "center": {
                      "type": "object",
                      "properties": {
                        "lat": {
                          "type": "number",
                          "minimum": -90,
                          "maximum": 90
                        },
                        "lng": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        }
                      },
                      "required": [
                        "lat",
                        "lng"
                      ],
                      "additionalProperties": false
                    },
                    "miles": {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "maximum": 500
                    }
                  },
                  "required": [
                    "center",
                    "miles"
                  ],
                  "additionalProperties": false
                },
                "markets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "country": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 2
                      },
                      "code": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      }
                    },
                    "required": [
                      "country",
                      "code"
                    ],
                    "additionalProperties": false
                  },
                  "maxItems": 50
                },
                "postalCodes": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 200
                },
                "countryCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 2
                },
                "polygon": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "lat": {
                        "type": "number",
                        "minimum": -90,
                        "maximum": 90
                      },
                      "lng": {
                        "type": "number",
                        "minimum": -180,
                        "maximum": 180
                      }
                    },
                    "required": [
                      "lat",
                      "lng"
                    ],
                    "additionalProperties": false
                  },
                  "minItems": 3,
                  "maxItems": 100
                }
              },
              "additionalProperties": false
            },
            "budgetUsd": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "flightStart": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "description": "Local calendar date, YYYY-MM-DD."
            },
            "flightEnd": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "description": "Local calendar date, YYYY-MM-DD."
            },
            "channels": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "ctv",
                  "video",
                  "audio",
                  "display"
                ]
              },
              "minItems": 1,
              "maxItems": 4
            },
            "selectedProductIds": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 100
            },
            "personaIds": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 50
            },
            "intuiziSegmentIds": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 50
            },
            "packageAudienceLens": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "contextualTargeting": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 100
            },
            "contextualAvoidance": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "maxItems": 100
            },
            "audience": {
              "type": "object",
              "properties": {
                "age_range": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "type": "number"
                  }
                },
                "income_range": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "type": "number"
                  }
                },
                "culture": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "white",
                      "black",
                      "asian",
                      "american_indian",
                      "hispanic"
                    ]
                  },
                  "minItems": 1
                },
                "education": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "hs_or_less",
                      "some_college",
                      "bachelors",
                      "graduate"
                    ]
                  },
                  "minItems": 1
                },
                "gender": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "male",
                      "female"
                    ]
                  },
                  "minItems": 1
                },
                "language": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "english_only",
                      "spanish",
                      "other_indo_european",
                      "asian_pacific",
                      "other"
                    ]
                  },
                  "minItems": 1
                },
                "life_stage": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "new_movers",
                      "settled",
                      "long_tenured",
                      "married",
                      "singles",
                      "new_parents",
                      "empty_nesters"
                    ]
                  },
                  "minItems": 1
                },
                "household": {
                  "type": "boolean"
                },
                "lifestyle": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "propertyNames": {
                    "minLength": 1
                  }
                },
                "interests": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "minItems": 1
                },
                "intent": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "minItems": 1
                },
                "place": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "minItems": 1
                },
                "venue_concept": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "minItems": 1
                    },
                    {
                      "type": "object",
                      "additionalProperties": {
                        "type": "number",
                        "exclusiveMinimum": 0,
                        "maximum": 100
                      },
                      "propertyNames": {
                        "minLength": 1
                      }
                    }
                  ]
                },
                "hard": {
                  "type": "boolean"
                },
                "min_fit": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                }
              },
              "additionalProperties": false
            },
            "targeting": {
              "type": "object",
              "properties": {
                "personaIds": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 50
                },
                "intuiziSegmentIds": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 50
                },
                "packageAudienceLens": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "contextualTargeting": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 100
                },
                "contextualAvoidance": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "maxItems": 100
                },
                "audience": {
                  "type": "object",
                  "properties": {
                    "age_range": {
                      "type": "array",
                      "minItems": 2,
                      "maxItems": 2,
                      "items": {
                        "type": "number"
                      }
                    },
                    "income_range": {
                      "type": "array",
                      "minItems": 2,
                      "maxItems": 2,
                      "items": {
                        "type": "number"
                      }
                    },
                    "culture": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "white",
                          "black",
                          "asian",
                          "american_indian",
                          "hispanic"
                        ]
                      },
                      "minItems": 1
                    },
                    "education": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "hs_or_less",
                          "some_college",
                          "bachelors",
                          "graduate"
                        ]
                      },
                      "minItems": 1
                    },
                    "gender": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "male",
                          "female"
                        ]
                      },
                      "minItems": 1
                    },
                    "language": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "english_only",
                          "spanish",
                          "other_indo_european",
                          "asian_pacific",
                          "other"
                        ]
                      },
                      "minItems": 1
                    },
                    "life_stage": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "new_movers",
                          "settled",
                          "long_tenured",
                          "married",
                          "singles",
                          "new_parents",
                          "empty_nesters"
                        ]
                      },
                      "minItems": 1
                    },
                    "household": {
                      "type": "boolean"
                    },
                    "lifestyle": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "propertyNames": {
                        "minLength": 1
                      }
                    },
                    "interests": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "minItems": 1
                    },
                    "intent": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "minItems": 1
                    },
                    "place": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "minItems": 1
                    },
                    "venue_concept": {
                      "anyOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1
                          },
                          "minItems": 1
                        },
                        {
                          "type": "object",
                          "additionalProperties": {
                            "type": "number",
                            "exclusiveMinimum": 0,
                            "maximum": 100
                          },
                          "propertyNames": {
                            "minLength": 1
                          }
                        }
                      ]
                    },
                    "hard": {
                      "type": "boolean"
                    },
                    "min_fit": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          },
          "required": [
            "budgetUsd",
            "flightStart",
            "flightEnd",
            "channels"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Stable unique key for this action. Reuse this key and unchanged arguments when retrying."
    }
  },
  "required": [
    "flightStart",
    "flightEnd",
    "idempotency_key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "inventory",
        "plan",
        "campaign",
        "proposal",
        "checkout",
        "delivery"
      ]
    },
    "advertisementId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴attach_campaign_creative(advertisementId, idempotency_key, creativeFile)

Copy a user-selected creative file into the native campaign asset and moderation flow. Attach artwork before booking. Existing live artwork changes follow the portal replacement workflow.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "advertisementId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Native campaign ID returned by save_campaign_draft."
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Stable unique key for this action. Reuse this key and unchanged arguments when retrying."
    },
    "creativeFile": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string",
          "format": "uri"
        },
        "file_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "mime_type": {
          "type": "string",
          "maxLength": 100
        },
        "file_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "advertisementId",
    "idempotency_key",
    "creativeFile"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "inventory",
        "plan",
        "campaign",
        "proposal",
        "checkout",
        "delivery"
      ]
    },
    "advertisementId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢prepare_campaign_booking(advertisementId, bookingIds, providerLineIds, quoteId, quoteIds)

Read the exact current campaign selections, total, currency and creative readiness for the buyer to review before payment.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "advertisementId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Native campaign ID returned by save_campaign_draft."
    },
    "bookingIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 1000,
      "default": []
    },
    "providerLineIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 100,
      "default": []
    },
    "quoteId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "quoteIds": {
      "type": "object",
      "properties": {
        "owned": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "partner": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "advertisementId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "inventory",
        "plan",
        "campaign",
        "proposal",
        "checkout",
        "delivery"
      ]
    },
    "advertisementId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_campaign_checkout(advertisementId, bookingIds, providerLineIds, quoteId, quoteIds, ...)

Create a Stripe checkout for the exact campaign and total the buyer reviewed. Open the returned checkoutUrl to complete payment. The campaign is booked after the verified native Stripe payment webhook.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "advertisementId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Native campaign ID returned by save_campaign_draft."
    },
    "bookingIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 1000,
      "default": []
    },
    "providerLineIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 100,
      "default": []
    },
    "quoteId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "quoteIds": {
      "type": "object",
      "properties": {
        "owned": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "partner": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      },
      "additionalProperties": false
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Stable unique key for this action. Reuse this key and unchanged arguments when retrying."
    },
    "reviewedSubtotalUsd": {
      "type": "number",
      "minimum": 0
    },
    "reviewedAmount": {
      "type": "integer",
      "minimum": 0,
      "description": "Exact amountMinor from prepare_campaign_booking, in the currency minor unit."
    },
    "reviewedCurrency": {
      "type": "string",
      "minLength": 3,
      "maxLength": 3,
      "description": "Exact currency from prepare_campaign_booking."
    },
    "reviewedSelection": {
      "type": "string",
      "pattern": "^v1:[a-f0-9]{64}$",
      "description": "Exact native reviewedSelection from prepare_campaign_booking; binds the reviewed inventory, flight, quantities and targeting."
    }
  },
  "required": [
    "advertisementId",
    "idempotency_key",
    "reviewedSubtotalUsd",
    "reviewedAmount",
    "reviewedCurrency",
    "reviewedSelection"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "inventory",
        "plan",
        "campaign",
        "proposal",
        "checkout",
        "delivery"
      ]
    },
    "advertisementId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_campaign_status(advertisementId)

Read the campaign and booking progress from the same order records as the advertiser portal, including creative review, scheduled dates and live fulfillment.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "advertisementId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Native campaign ID returned by save_campaign_draft."
    }
  },
  "required": [
    "advertisementId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "inventory",
        "plan",
        "campaign",
        "proposal",
        "checkout",
        "delivery"
      ]
    },
    "advertisementId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_campaign_delivery(advertisementId, limit)

Read measured campaign delivery and screen performance from the native campaign reporting services.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "advertisementId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Native campaign ID returned by save_campaign_draft."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    }
  },
  "required": [
    "advertisementId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "inventory",
        "plan",
        "campaign",
        "proposal",
        "checkout",
        "delivery"
      ]
    },
    "advertisementId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪rebook_campaign(advertisementId, idempotency_key, flightStart, flightEnd)

Copy a previous campaign into a new unpaid campaign for new dates, preserving native creative lineage and obtaining fresh prices. Rebooking requires a new review and payment.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "advertisementId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Native campaign ID returned by save_campaign_draft."
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Stable unique key for this action. Reuse this key and unchanged arguments when retrying."
    },
    "flightStart": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Local calendar date, YYYY-MM-DD."
    },
    "flightEnd": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Local calendar date, YYYY-MM-DD."
    }
  },
  "required": [
    "advertisementId",
    "idempotency_key",
    "flightStart",
    "flightEnd"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "inventory",
        "plan",
        "campaign",
        "proposal",
        "checkout",
        "delivery"
      ]
    },
    "advertisementId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas