Add project files.
This commit is contained in:
87
GoogleApi/Models/OperationPayloads.cs
Normal file
87
GoogleApi/Models/OperationPayloads.cs
Normal file
@@ -0,0 +1,87 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace GoogleApi.Models;
|
||||
|
||||
#region Campaign Payloads
|
||||
|
||||
public sealed class CreateCampaignPayload
|
||||
{
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public CampaignType Type { get; set; } = CampaignType.Search;
|
||||
public long BudgetMicros { get; set; }
|
||||
public BiddingStrategy BiddingStrategy { get; set; } = BiddingStrategy.MaximizeClicks;
|
||||
public string? StartDate { get; set; }
|
||||
public string? EndDate { get; set; }
|
||||
}
|
||||
|
||||
public sealed class GetCampaignPayload
|
||||
{
|
||||
public string CampaignId { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public sealed class UpdateCampaignPayload
|
||||
{
|
||||
public string CampaignId { get; set; } = string.Empty;
|
||||
public string? Name { get; set; }
|
||||
public long? BudgetMicros { get; set; }
|
||||
public CampaignStatus? Status { get; set; }
|
||||
}
|
||||
|
||||
public sealed class ListCampaignsPayload
|
||||
{
|
||||
public CampaignStatus? StatusFilter { get; set; }
|
||||
public int PageSize { get; set; } = 50;
|
||||
public string? PageToken { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Reporting Payloads
|
||||
|
||||
public sealed class CampaignStatsPayload
|
||||
{
|
||||
public string CampaignId { get; set; } = string.Empty;
|
||||
public string? StartDate { get; set; }
|
||||
public string? EndDate { get; set; }
|
||||
}
|
||||
|
||||
public sealed class AccountStatsPayload
|
||||
{
|
||||
public string? StartDate { get; set; }
|
||||
public string? EndDate { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Enums
|
||||
|
||||
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
public enum CampaignStatus
|
||||
{
|
||||
Unknown = 0,
|
||||
Enabled = 1,
|
||||
Paused = 2,
|
||||
Removed = 3
|
||||
}
|
||||
|
||||
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
public enum CampaignType
|
||||
{
|
||||
Search = 0,
|
||||
Display = 1,
|
||||
Shopping = 2,
|
||||
Video = 3,
|
||||
PerformanceMax = 4
|
||||
}
|
||||
|
||||
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
public enum BiddingStrategy
|
||||
{
|
||||
ManualCpc = 0,
|
||||
MaximizeClicks = 1,
|
||||
MaximizeConversions = 2,
|
||||
TargetCpa = 3,
|
||||
TargetRoas = 4
|
||||
}
|
||||
|
||||
#endregion
|
||||
Reference in New Issue
Block a user