Edit this Page

Offer Oluşturma

Offer oluşturmak için Subscreasy panelinden | Teklifler kısmına tıklayarak, +Yeni Teklif Oluştur seçeneğinden kolayca oluşturabilirsiniz. Bunun dışında API kullanarak offer oluşturabilmeniz için bazı parametreler ekleyerek Post request yapmanız gerekiyor:

  • name: Offer için bir isim girmelisiniz.
  • description: Offer için hakkına açıklama ekleyebilirsiniz.
  • price: Offer için bir fiyat belirlemelisiniz.
  • currency: Para birimi olarak "TRY" ya da "USD" seçmelisiniz.
  • openEnded: Offer sone ermez olarak ayarlanabilir.
  • recurrenceCount: Offer için kaç defa yenileme yapacağı belirlenir.
  • recurrence: Offer için süre belirlenir.
    1. recurrenceType: Offer için haftalık, aylık veya yıllık yenileme periyodu seçilir.
    2. length: Offer'ın kaç defa tekrarlayacağı belirtilir. (Örn. Yukarıda ki görselde paket her 12 ayda bir yenileme yaparak 2 defa tekrar ediyor. recurrenceType değerini aylık olarak ayarlayıp, lenght değerini 1 olarak ayarlarsanız, aylık yenileme yapar ve recurrenceCount değerini 12 olarak ayarlarsanız 12 defa tekrar ederek, her ay yenileme yapan yıllık paket oluşturmuş olursunuz.)
  • freemium: Offer'ın ücretsiz olup olmadığını seçebilirsiniz.
  • productType: Oluşturduğunuz paketin fiziksel bir içerik mi olduğunu belirtirsiniz.
  • renewalType: 2 çeşit renewalType vardır. Abonelik başlangıç tarihi temel alınarak ya da şirket profilden ayarlanan faturalama tarihi temel alınarak yenileme yapılabilir. Bunun için renewalType "BILLCYCLE" ya da "START_DATE" olarak belirlemelisiniz.
    • BILLCYCLE
    • START_DATE

Method: POST
Path: /api/offers
Sandbox Url: https://sandbox.subscreasy.com/api/offers

Bu servis, güvenlik açısından, API yetkilendirmesine gerek duyar. API yetkilendirmesi hakkında detay için tıklayınız.

 Örnek Request

Curl

curl --location --request POST 'https://sandbox.subscreasy.com/api/offers' \
--header 'Authorization: Apikey brs-1234567890' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "name3",
    "description": "description",
    "price": 100,
    "currency": "TRY",
    "openEnded": false,
    "recurrenceCount": 2,
    "trialPeriod": 15,
    "recurrence": {
        "recurrenceType": "MONTHLY",
        "length": 12
    },
    "freemium": false,
    "productType": "SERVICE",
    "renewalType": "BILLCYCLE"
}'

C#

var client = new RestClient("https://sandbox.subscreasy.com/api/offers");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Apikey brs-1234567890");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n    \"name\": \"name3\",\n    \"description\": \"description\",\n    \"price\": 100,\n    \"currency\": \"TRY\",\n    \"openEnded\": false,\n    \"recurrenceCount\": 2,\n    \"trialPeriod\": 15,\n    \"recurrence\": {\n        \"recurrenceType\": \"MONTHLY\",\n        \"length\": 12\n    },\n    \"freemium\": false,\n    \"productType\": \"SERVICE\",\n    \"renewalType\": \"BILLCYCLE\"\n}",  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

JSON

{
    "name": "name",
    "description": "description",
    "price": 100,
    "currency": "TRY",
    "openEnded": false,
    "recurrenceCount": 2,
    "trialPeriod": 15,
    "recurrence": {
        "recurrenceType": "MONTHLY",
        "length": 12
    },
    "freemium": false,
    "productType": "SERVICE",
    "renewalType": "BILLCYCLE"
}
 Örnek Response
{
    "company": {
        "id": 1,
        "name": "dtnbilim",
        "siteName": "dtnbilim"
    },
    "id": 2,
    "name": "name",
    "description": "description",
    "price": 1E+2,
    "currency": "TRY",
    "openEnded": false,
    "multiplePurchase": false,
    "recurrenceCount": 2,
    "trialPeriod": 15,
    "recurrence": {
        "recurrenceType": "MONTHLY",
        "length": 12
    },
    "productType": "SERVICE",
    "renewalType": "BILLCYCLE",
    "disablePaymentForm": false,
    "createDate": "2021-06-19T11:32:29.525+03:00",
    "physicalProduct": false,
    "renewalBillcycleBased": true
}