Post apiv1campaign placements approve
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
Success
Average views of an ordinary post on this channel
OPERATOR, USER NEW, AWAITING_CONTACT_VERIFICATION, IN_PROGRESS, AWAITING_CREATIVE_APPROVAL, PENDING_APPROVAL, APPROVED, PAYMENT_PENDING, PAYMENT_FAILED, PAID, AWAITING_POST, PUBLISHED, VERIFIED, COMPLETED, REJECTED, ESCALATED, CANCELLED, BREACH The campaign's own ad copy, carried here so the card can show the diff on its own
The channel's subscriber count as measured by the matching parser
Average views an ad post collects in its first 24h; null for channels with no measured ad posts
Views one ad post here is expected to reach — avgAdReach24h, or avgReach when it was never measured. The same number the campaign's expected-views total and the per-deal price cap are computed from. Null (never 0) when the channel carries no usable reach at all.
Views this placement's own published post actually collected, as the parser measured it — the measured counterpart of expectedViews, which is only a forecast from the channel's statistics. Null until the post is published and the first snapshot arrives; it then grows towards the figure reached ~48h after publication and stops there.
Reactions the same post collected, measured in the same snapshot. Null until the post is published and a snapshot arrives; there is no forecast counterpart for this one.
Times a link in this placement's own post was followed. Every link in a published post is one of ours, so this is measured directly rather than forecast — there is no counterpart to expectedViews here. Read next to views: views are the people the post reached, clicks are the ones who acted. Null (never 0) while nothing has been clicked.
The same clicks counted one per IP, so clicks minus uniqueClicks is the readers who came back. Null (never 0) while nothing has been clicked.
^-?\d+(\.\d{1,6})?$"125.500000"
The manager's variant awaiting a decision; set only while AWAITING_CREATIVE_APPROVAL. Ad-copy markup, exactly like originalAdCopy: he types plain text into Telegram and the backend writes his formatting back into our syntax, so both texts render in the same editor and the diff is between two texts of one kind.
The manager's variant once approved — the text actually published for this placement, in ad-copy markup like every other ad text