# CampaignDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

A campaign as read back over the API and rendered in the administrative grid.

## Fields
- `extraProperties` (object): (nullable, read only)
- `id` (string(uuid))
- `creationTime` (string(date-time)): The date and time when this entity was created.
- `creatorId` (string(uuid)): The ID of the user who created this entity. (nullable)
- `lastModificationTime` (string(date-time)): The date and time when this entity was last modified. (nullable)
- `lastModifierId` (string(uuid)): The ID of the user who last modified this entity. (nullable)
- `isDeleted` (boolean): Indicates whether this entity has been deleted.
- `deleterId` (string(uuid)): The ID of the user who deleted this entity, if it is deleted. (nullable)
- `deletionTime` (string(date-time)): The date and time when this entity was deleted, if it is deleted. (nullable)
- `merchantId` (string(uuid)): The merchant that owns this campaign.
- `name` (string): Operator-facing campaign name. (nullable)
- `description` (string): Free-text description of the campaign. (nullable)
- `status` ([CampaignStatus](https://devportal.demo.winkpg.io/docs/api/models/CampaignStatus.md)): The campaign's status right now. A running campaign whose scheduled end has already passed  reads as `Ended` here, without anything having been written to it.
  Values:
  - `Draft`: Being prepared, and not yet running.
  - `Active`: Running. The campaign admits member links, subject to its schedule and to their own status.
  - `Paused`: Suspended by the merchant, and resumable back to Active.
  - `Ended`: Finished. Terminal, though the campaign stays editable and reportable.
  - `Archived`: Retired from the working set. No page or payment link may join it.
- `endedReason` ([CampaignEndedReason](https://devportal.demo.winkpg.io/docs/api/models/CampaignEndedReason.md)): Why the campaign ended, or `null` while it has not ended. A campaign that ended only  because its window closed reports `Schedule`. (nullable)
  Values:
  - `Manual`: A merchant user ended it explicitly.
  - `Schedule`: Its scheduled window closed.
  - `CompletionCap`: Its configured completion count was reached.
  - `AmountCap`: Its configured collected-amount ceiling was reached.
- `endedAtUtc` (string(date-time)): UTC moment the campaign was ended or archived out of a running state, or `null` while it  has not been. A campaign that reads as ended only because its window closed carries none: its  `endsAtUtc` is its end. (nullable)
- `isAcceptingPayments` (boolean): Whether member payment links may transact through this campaign right now. False before the  scheduled start, and for any status other than active.
- `startsAtUtc` (string(date-time)): UTC moment the campaign starts accepting payments. (nullable)
- `endsAtUtc` (string(date-time)): UTC moment the campaign stops accepting payments. (nullable)
- `inactiveMessage` (string): Payer-facing message shown while the campaign is not accepting payments. (nullable)
- `externalReference` (string): The merchant's own identifier for this campaign. (nullable)
- `overrides` ([CampaignOverridesDto](https://devportal.demo.winkpg.io/docs/api/models/CampaignOverridesDto.md)): Branding and text laid over every hosted page and payment link in the campaign when it  renders. A member that is `null` inherits each member page's own value.
  Fields:
  - `panelBackColor` (string): Panel background color, for example `#ffffff`. (nullable, max length 20)
  - `panelBorderColor` (string): Panel border color. (nullable, max length 20)
  - `buttonColor` (string): Process button color. (nullable, max length 20)
  - `buttonBorderColor` (string): Process button border color. (nullable, max length 20)
  - `inputFieldBorderColor` (string): Input field border color. (nullable, max length 20)
  - `inputFieldBackgroundColor` (string): Input field background color. (nullable, max length 20)
  - `inputFieldFontSize` (integer(int32)): Input field font size, in pixels. (nullable, min 1, max 72)
  - `inputFieldFontColor` (string): Input field font color. (nullable, max length 20)
  - `inputFieldBackgroundFocusColor` (string): Input field background color while the field has focus. (nullable, max length 20)
  - `backColor` (string): Page background color. (nullable, max length 20)
  - `fontColor` (string): Body font color. (nullable, max length 20)
  - `font` (string): Body font family. (nullable, max length 50)
  - `fontSize` (integer(int32)): Body font size, in pixels. (nullable, min 1, max 72)
  - `headerFont` (string): Header font family. (nullable, max length 50)
  - `headerFontColor` (string): Header font color. (nullable, max length 20)
  - `headerFontSize` (integer(int32)): Header font size, in pixels. (nullable, min 1, max 72)
  - `headerBackColor` (string): Header background color. (nullable, max length 20)
  - `headerBorderColor` (string): Header border color. (nullable, max length 20)
  - `customCSS` (string): Custom CSS added after each member page's own custom CSS, so a campaign rule wins over a page  rule of equal specificity and the page's other rules keep applying. (nullable, max length 3000)
  - `headerText` (string): Text shown at the top of each member page. (nullable, max length 100)
  - `promoText` (string): Highlighted announcement or promotion text. (nullable, max length 200)
  - `promoLink` (string): HTTPS link the promotion text points at. (nullable, max length 200)
  - `processButtonText` (string): Text on the process button. (nullable, max length 50)
  - `callToActionText` (string): Text on the call-to-action button of a streamlined page. (nullable, max length 50)
  - `bannerImage` (string): Banner image: the filename the portal image uploader returns, for example  `3f2a5b90-7c41-4d2e-9f0a-1b8c6d5e4f21.png`. Not a URL. (nullable, max length 128)
  - `hideBanner` (boolean): Whether the banner is hidden. `true` hides it on every member page, `false` shows it  even on a page that hides its own, and `null` leaves each page's own setting. (nullable)
- `clonedFromCampaignId` (string(uuid)): The campaign this one was cloned from, or `null` for a campaign created from scratch.  The source may have been deleted since; the reference is kept either way. (nullable)
- `maxCompletions` (integer(int32)): The number of approved payments at which the campaign ends on its own, or `null` for no completion cap. (nullable)
- `maxTotalAmount` (number(double)): The net collected amount at which the campaign ends on its own, or `null` for no amount cap. (nullable)
- `goalAmount` (number(double)): The amount the campaign is aiming to collect, or `null` for no goal. (nullable)
- `refundsReduceTotal` (boolean): Whether refunds, voids and reversals reduce the collected total.
- `showProgress` (boolean): Whether the campaign's progress is shown to payers and published anonymously.
- `completedCount` (integer(int32)): Approved payments counted so far. Zero on a campaign that has taken none.
- `approvedTotal` (number(double)): The approved base amount collected so far, before any refund.
- `refundedTotal` (number(double)): The amount refunded, voided or reversed so far.
- `netTotal` (number(double)): The total the caps and the goal are measured against: approved less refunded when refunds  reduce the total, approved otherwise.
- `lastCompletedAtUtc` (string(date-time)): When the most recent approved payment was counted (UTC), or `null` before the first. (nullable)
- `percentOfGoal` (integer(int32)): The net total as a whole percentage of the goal, not capped at 100, or `null` without a goal. (nullable)
- `concurrencyStamp` (string): Optimistic concurrency token. (nullable)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
