twitter4jads.api.TwitterAdsCampaignApi Maven / Gradle / Ivy
The newest version!
package twitter4jads.api;
import twitter4jads.BaseAdsListResponseIterable;
import twitter4jads.BaseAdsResponse;
import twitter4jads.internal.models4j.TwitterException;
import twitter4jads.models.ads.Campaign;
import twitter4jads.models.ads.EntityStatus;
import twitter4jads.models.ads.sort.CampaignSortByField;
import java.util.Collection;
import java.util.Optional;
/**
*
* Date: 4/7/16
* Time: 12:25 PM
*/
public interface TwitterAdsCampaignApi {
/**
* @param accountId The identifier for the leveraged account.
* @param campaignIds (optional) Scope the response to just the desired campaigns by specifying a comma-separated list of identifiers. Up to 50 ids may be provided.
* @param fundingInstrumentIds (optional) Scope the response to just the desired funding instruments by specifying a comma-separated list of identifiers.
* Up to 50 ids may be provided.
* @param withDeleted Include deleted results in your request. Defaults to false.
* @param count (optional) Specifies the number of campaigns to try and retrieve, up to a maximum of 1000 per distinct request.
* @param cursor (optional) Specify a cursor to retrieve data from a specific page (function automatically handles paging upon iteration when you do not specify cursor value).
* @param q (optional) An query to scope resource by name.
* @return Retrieve details for some or all campaigns associated with the current account.
* @throws TwitterException
* @see https://dev.twitter.com/ads/reference/get/accounts/%3Aaccount_id/campaigns
*/
BaseAdsListResponseIterable getAllCampaigns(String accountId, Optional> campaignIds,
Optional> fundingInstrumentIds, boolean withDeleted, Optional count,
Optional cursor, Optional sortByField, Optional q) throws TwitterException;
/**
* @param accountId The identifier for the leveraged account.
* @param campaignId The identifier for a campaign associated with the current account.
* @param withDeleted Include deleted results in your request. Defaults to false.
* @return Retrieve details for a specific campaign associated with the current account.
* @throws TwitterException
* @see https://dev.twitter.com/ads/reference/get/accounts/%3Aaccount_id/campaigns/%3Acampaign_id
*/
BaseAdsResponse getCampaignById(String accountId, String campaignId, boolean withDeleted) throws TwitterException;
/**
* @param campaign A Campaign object representing the campaign to be created.
* @return created campaign response.
* @throws TwitterException
* @see https://dev.twitter.com/ads/reference/post/accounts/%3Aaccount_id/campaigns
*/
BaseAdsResponse createCampaign(String accountId, Campaign campaign) throws TwitterException;
/**
* @param accountId The identifier for the leveraged account.
* @param campaignId The identifier of campaign to update.
* @param name (optional) Name to update the cmapaign with.
* @param totalBudgetAmountLocalMicro Name to update the cmapaign with.
* @param dailyBudgetAmountLocalMicro (optional) Name to update the cmapaign with.
* @param startTime (optional) Start time to update the cmapaign with.
* @param endTime (optional) End time to update the cmapaign with.
* @param status Status of the campaign
* @param standardDelivery (optional) Update the standard delivery setting of campaign.
* @param frequencyCap (if value passed greater than 0) Update integer representing the number of times for which one user could be delivered an ad to.
* @param durationInDays (if value passed greater than 0) Update integer representing the time period within which the frequency_cap frequency is achieved. Only supports values of: 1, 7 and 30.
* @return updated campaign response.
* @throws TwitterException
* @see https://dev.twitter.com/ads/reference/put/accounts/%3Aaccount_id/campaigns/%3Acampaign_id
*/
BaseAdsResponse updateCampaign(String accountId, String campaignId, Optional name,
Long totalBudgetAmountLocalMicro, Optional dailyBudgetAmountLocalMicro, Optional startTime,
Optional endTime, EntityStatus status,
Optional standardDelivery, int frequencyCap, int durationInDays) throws TwitterException;
/**
* @param accountId The identifier for the leveraged account.
* @param campaignId The identifier of campaign to delete.
* @return Campaign to be deleted with deleted field set to true
* @throws TwitterException
* @see https://dev.twitter.com/ads/reference/delete/accounts/%3Aaccount_id/campaigns/%3Acampaign_id
*/
BaseAdsResponse deleteCampaign(String accountId, String campaignId) throws TwitterException;
}