---
title: Kampanyalar ve çekilişler
description: Eski headless tema altyapısındaki (@ikas/storefront) ürün kampanyaları, kampanya teklifleri (campaign offer) ve çekiliş (raffle) modelleri.
---

<Callout type="warn" title="Eski altyapı">
Bu sayfa, ikas Studio öncesindeki headless tema altyapısının (`@ikas/storefront`) referansıdır. Yeni temalar için [ikas Studio](https://builders.ikas.com/docs/ikas-studio) dokümantasyonunu kullanın.
</Callout>

Ürün kampanyaları, kampanya teklifleri (campaign offer) ve çekiliş (raffle) modelleri. Her başlık, `@ikas/storefront` paketindeki bir modelin field'larını ve metotlarını listeler.

## IkasProductCampaign [#ikas-product-campaign]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `campaign` | `IkasProductCampaignData` | Bkz. [IkasProductCampaignData](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-product-campaign-data). |
| `variantIds` | `string[]` | - |

## IkasCampaignOffer extends IkasBaseModel [#ikas-campaign-offer]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `availableSalesChannelIds` | `string[]` | - |
| `endDate` | `number \| null` | - |
| `followUpActionType` | `IkasCampaignOfferFollowUpActionType` | Bkz. [IkasCampaignOfferFollowUpActionType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-offer-follow-up-action-type). |
| `minimumRequiredCartAmount` | `number \| null` | - |
| `name` | `string` | - |
| `offers` | `IkasCampaignOfferProduct[]` | Bkz. [IkasCampaignOfferProduct](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-campaign-offer-product). |
| `startDate` | `number \| null` | - |
| `targetPageTypes` | `IkasCampaignOfferTargetPageType[]` | Bkz. [IkasCampaignOfferTargetPageType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-offer-target-page-type). |
| `triggerSettings` | `IkasCampaignOfferTriggerSettings` | Bkz. [IkasCampaignOfferTriggerSettings](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-campaign-offer-trigger-settings). |
| `type` | `IkasCampaignOfferType` | Bkz. [IkasCampaignOfferType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-offer-type). |

## IkasRaffle extends IkasBaseModel [#ikas-raffle]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `dateRange` | `IkasRaffleDateRangeField \| null` | Bkz. [IkasRaffleDateRangeField](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-raffle-date-range-field). |
| `metadata` | `IkasRaffleMetaData \| null` | Bkz. [IkasRaffleMetaData](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-raffle-meta-data). |
| `name` | `string` | - |
| `requiredCustomerAccount` | `boolean` | - |
| `status` | `boolean` | - |
| `variants` | `IkasRaffleAppliedProduct[] \| null` | Bkz. [IkasRaffleAppliedProduct](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-raffle-applied-product). |
| `verificationType` | `IkasRaffleVerificationType` | Bkz. [IkasRaffleVerificationType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-raffle-verification-type). |
| `products` | `IkasProduct[]` | Bkz. [IkasProduct](https://builders.ikas.com/docs/headless-theme/api/products#ikas-product). |
| `isRaffleAvailable` | `boolean \| 0 \| null \| undefined` | - |

## IkasCampaignMinMaxRangeField [#ikas-campaign-min-max-range-field]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `min` | `number \| null` | - |
| `max` | `number \| null` | - |

## IkasCampaignOfferProductTranslation [#ikas-campaign-offer-product-translation]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `description` | `string \| null` | - |
| `locale` | `string` | - |
| `title` | `string` | - |

## IkasCampaignOfferProduct [#ikas-campaign-offer-product]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `id` | `string` | - |
| `countdownMinutes` | `number \| null` | - |
| `description` | `string \| null` | - |
| `discountAmount` | `number \| null` | - |
| `discountType` | `IkasAmountType \| null` | Bkz. [IkasAmountType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-amount-type). |
| `excludedVariantIdList` | `string[] \| null` | - |
| `order` | `number` | - |
| `productId` | `string` | - |
| `showCriteria` | `IkasCampaignOfferProductShowCriteria \| null` | Bkz. [IkasCampaignOfferProductShowCriteria](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-offer-product-show-criteria). |
| `skipOfferIfProductExistsInCart` | `boolean \| null` | - |
| `title` | `string` | - |
| `translations` | `IkasCampaignOfferProductTranslation[] \| null` | Bkz. [IkasCampaignOfferProductTranslation](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-campaign-offer-product-translation). |

## IkasCampaignOfferTriggerSettings [#ikas-campaign-offer-trigger-settings]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `filterType` | `IkasCampaignOfferTriggerFilterType` | Bkz. [IkasCampaignOfferTriggerFilterType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-offer-trigger-filter-type). |
| `valueList` | `string[]` | - |

## IkasCartCampaignOffer extends IkasBaseModel [#ikas-cart-campaign-offer]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `appliedOrderLineId` | `string \| null` | - |
| `campaignOfferId` | `string` | - |
| `campaignOffer` | `IkasCampaignOffer \| null` | Bkz. [IkasCampaignOffer](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-campaign-offer). |
| `campaignOfferProductId` | `string \| null` | - |
| `offerEndDate` | `number \| null` | - |
| `offerStartDate` | `number` | - |
| `status` | `IkasCartCampaignOfferStatus` | Bkz. [IkasCartCampaignOfferStatus](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-cart-campaign-offer-status). |
| `targetPageTypes` | `IkasCampaignOfferTargetPageType[]` | Bkz. [IkasCampaignOfferTargetPageType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-offer-target-page-type). |
| `triggerSourceOrderLineId` | `string` | - |

## IkasProductBuyXThenGetY [#ikas-product-buyx-then-gety]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `buyX` | `IkasProductBuyX` | Bkz. [IkasProductBuyX](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-product-buyx). |
| `getY` | `IkasProductGetY` | Bkz. [IkasProductGetY](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-product-gety). |
| `maxUsagePerOrder` | `number` | - |

## IkasProductBuyX [#ikas-product-buyx]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `amount` | `number` | - |
| `applyByQuantity` | `boolean` | - |
| `filter` | `IkasProductCampaignFilter` | Bkz. [IkasProductCampaignFilter](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-product-campaign-filter). |

## IkasProductCampaignData [#ikas-product-campaign-data]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `id` | `string` | - |
| `applicableCustomerGroupIds` | `string[] \| null` | - |
| `applicableCustomerIds` | `string[] \| null` | - |
| `applicablePrice` | `IkasCampaignApplicablePrice` | Bkz. [IkasCampaignApplicablePrice](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-applicable-price). |
| `buyXThenGetY` | `IkasProductBuyXThenGetY` | Bkz. [IkasProductBuyXThenGetY](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-product-buyx-then-gety). |
| `canCombineWithOtherCampaigns` | `boolean` | - |
| `createdFor` | `IkasCampaignCreatedFor \| null` | Bkz. [IkasCampaignCreatedFor](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-created-for). |
| `currencyCodes` | `[string] \| null` | - |
| `dateRange` | `IkasProductCampaignDateRangeField \| null` | Bkz. [IkasProductCampaignDateRangeField](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-product-campaign-date-range-field). |
| `deleted` | `boolean` | - |
| `fixedDiscount` | `IkasProductFixedDiscount \| null` | Bkz. [IkasProductFixedDiscount](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-product-fixed-discount). |
| `hasCoupon` | `boolean` | - |
| `includeDiscountedProducts` | `boolean \| null` | - |
| `salesChannelIds` | `string[] \| null` | - |
| `title` | `string` | - |
| `type` | `IkasCampaignType` | Bkz. [IkasCampaignType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-type). |
| `usageCount` | `number` | - |
| `usageLimit` | `number \| null` | - |
| `usageLimitPerCustomer` | `number \| null` | - |

## IkasProductCampaignDateRangeField [#ikas-product-campaign-date-range-field]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `start` | `number \| null` | - |
| `end` | `number \| null` | - |

## IkasProductCampaignFilter [#ikas-product-campaign-filter]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `idList` | `string[]` | - |
| `type` | `IkasCampaignFilterType` | Bkz. [IkasCampaignFilterType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-campaign-filter-type). |

## IkasProductFixedDiscount [#ikas-product-fixed-discount]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `amount` | `number \| null` | - |
| `filters` | `IkasProductCampaignFilter \| null` | Bkz. [IkasProductCampaignFilter](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-product-campaign-filter). |
| `lineItemQuantityRange` | `IkasCampaignMinMaxRangeField \| null` | Bkz. [IkasCampaignMinMaxRangeField](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-campaign-min-max-range-field). |
| `priceRange` | `IkasCampaignMinMaxRangeField \| null` | Bkz. [IkasCampaignMinMaxRangeField](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-campaign-min-max-range-field). |

## IkasProductGetY [#ikas-product-gety]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `amount` | `number` | - |
| `discountRatio` | `number` | - |
| `filter` | `IkasProductCampaignFilter` | Bkz. [IkasProductCampaignFilter](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-product-campaign-filter). |

## IkasRaffleAppliedProduct [#ikas-raffle-applied-product]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `productId` | `string` | - |
| `variantId` | `string` | - |

## IkasRaffleDateRangeField [#ikas-raffle-date-range-field]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `start` | `number \| null` | - |
| `end` | `number \| null` | - |

## IkasRaffleList [#ikas-raffle-list]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `data` | `IkasRaffle[]` | Bkz. [IkasRaffle](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-raffle). |
| `limit` | `number` | - |
| `page` | `number` | - |
| `count` | `number` | - |
| `pageCount` | `number` | - |
| `isInitialized` | `boolean` | - |
| `hasPrev` | `boolean` | - |
| `hasNext` | `boolean` | - |
| `isLoading` | `boolean` | - |
| `minPage` | `number` | - |

**Metotlar**

**`getPrev`**

```typescript
function getPrev(): Promise<void>
```

**`getNext`**

```typescript
function getNext(): Promise<void>
```

**`getPage`**

```typescript
function getPage(page: number): Promise<void>
```

| Parametre | Tip |
| --- | --- |
| `page` | `number` |

**`toJSON`**

```typescript
function toJSON(): { data: IkasRaffle[]; limit: number; page: number; count: number; initialized: boolean; minPage: number | null | undefined;}
```

## IkasRaffleMetaData extends IkasBaseModel [#ikas-raffle-meta-data]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `description` | `string \| null` | - |
| `pageTitle` | `string \| null` | - |
| `slug` | `string` | - |
| `targetId` | `string \| null` | - |
| `targetType` | `IkasRaffleMetadataTargetType \| null` | Bkz. [IkasRaffleMetadataTargetType](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-raffle-metadata-target-type). |
| `canonicals` | `string[] \| null` | - |
| `disableIndex` | `boolean \| null` | - |

## IkasRaffleParticipant extends IkasBaseModel [#ikas-raffle-participant]

| Field | Tip | Açıklama |
| --- | --- | --- |
| `customerId` | `string \| null` | - |
| `raffleId` | `string` | - |
| `firstName` | `string` | - |
| `lastName` | `string` | - |
| `fullName` | `string \| null` | - |
| `email` | `string` | - |
| `applicationDate` | `number` | - |
| `phone` | `string \| null` | - |
| `isDeliveredCargo` | `boolean \| null` | - |
| `raffle` | `IkasRaffle \| null` | Bkz. [IkasRaffle](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-raffle). |
| `status` | `IkasRaffleParticipantStatus \| null` | Bkz. [IkasRaffleParticipantStatus](https://builders.ikas.com/docs/headless-theme/api/enums#ikas-raffle-participant-status). |
| `extraData` | `Record<string, any> \| null` | - |
| `appliedProduct` | `IkasRaffleAppliedProduct` | Bkz. [IkasRaffleAppliedProduct](https://builders.ikas.com/docs/headless-theme/api/campaigns-and-raffles#ikas-raffle-applied-product). |
