Hi Josh,
This issue was just recently brought to our attention and is scheduled
to be fixed in the next API release (v1.15). There is a work-around,
but first let me explain what you're seeing here.
The API returning times in UTC is just to standardize the SOAP
messages. It's best to ignore the UTC time and just deal with your
local time versus EST.
Many objects in DFA allow you to narrow date ranges down only to the
month/day/year level, not down to hour/minute/second. Campaigns are
one such object since they always start and end at midnight. However,
any object that runs with standard, pre-defined start and end times
always uses Eastern Standard Time or Eastern Daylight Time (EST or
EDT). You are saving your campaign to end at midnight, January 15th
CST, but the server will interpret this as ending at midnight, January
15th in EST.
So why are you running into a problem? The API's behavior for
validating placement dates is currently incorrect. As mentioned above,
campaigns use the dates you specify with the time of midnight EST.
There is an issue where placements compare using the time you set. You
are setting your placement's ending to midnight CST, which is 1 AM
EST, which is one hour past the end of your campaign.
The solution is simple - save your placement with an end date that is
equivalent midnight EST or earlier. Come the next release of the API,
this will be done automatically for you.
Regards,
- Joseph DiLallo, the DFA API Team
On Jun 20, 4:38 pm, Joshua Davison <
dact...@gmail.com> wrote:
> Hi,
>
> I'm trying to create a campaign that starts January 1, 2012 and ends January
> 15, 2012 with one placement that uses the campaign's start and end dates.
> When I try to save the placement, I'm getting an error that says the
> placement's end date is outside the campaign's dates.
>
> I'm located in the Central US timezone, so when I send the start and end
> dates they look like: 2012-01-01T00:00:00-06:00
> and 2012-01-15T00:00:00-06:00
>
> Here's what the DFA docs say about dates and times:
>
> *Dates and times* - You can save dates/times in xsd:dateTime format using