Áskriftir
Þessi síða lýsir eldra áskriftarflæði Áskels, þar sem áskrift er stofnuð út frá
PlanVariant og vistuð sem eldra Subscription líkan. Fyrir nýja vörulista-, pakka- og
áskriftarsamningsnálgunina skal sjá Áskriftarsamningar V2.
Öll köll í áskriftarvefþjónustur má prófa í Swagger skjölun okkar sem finna má hér.
Auðkenning
Eins og aðrar eldri vefþjónustur Áskels krefjast þessar slóðir leynilegs API lykils eða eldri token-auðkenningar.
Authorization: Api-Key your-secret-api-key
Yfirlit yfir helstu slóðir
Slóð |
Lýsing |
|---|---|
|
Sækir lista af eldri áskriftum. |
|
Stofnar eldri áskrift með földuðum gögnum. |
|
Sækir staka eldri áskrift. |
|
Uppfærir takmarkaða reiti á áskrift. |
|
Hættir við virkri áskrift. |
|
Virkjar áskrift sem er ekki virk. |
|
Yfirskrifar gildistíma síðustu innheimtufærslu. |
|
Keyrir innheimtu ef áskrift er komin fram yfir |
|
Sækir áskriftir tiltekins viðskiptavinar. |
|
Stofnar áskrift fyrir tiltekinn viðskiptavin. |
|
Stofnar eða uppfærir viðskiptavin og fleiri en eina áskrift í einu. |
Hvernig eldra flæðið virkar
Eldri áskrift byggir á PlanVariant. PlanVariant skilgreinir meðal annars verð,
endurtökutíðni, gjaldmiðil og mögulegan færsluhirði. Á sjálfri áskriftinni er síðan hægt að
beita yfirskriftum á upphæð með amount eða discount.
Þegar ný eldri áskrift er stofnuð gerist eitt af eftirfarandi:
Ef prufutímabil er í boði verður til færsla fyrir prufutímabil og áskriftin virkjuð án skuldfærslu.
Ef ekki er um prufutímabil að ræða verður til endurnýjunarfærsla í innheimtu og fyrsta skuldfærsla reynd strax, nema fyrsta innheimtudagsetning hafi verið sett fram í tímann.
Ef upphæð er 0 kr. eða gjaldfrjáls vara á við getur áskrift orðið virk án þess að kort sé skuldfært.
Sækja lista af áskriftum
GET /api/subscriptions/ skilar eldri áskriftum sem tilheyra þínum aðgangi.
Styður meðal annars:
leit á
referencesíu á
referencetype=lighttil að fá styttra svarröðun á
active_untilogstart_date
Dæmi:
curl "https://askell.is/api/subscriptions/?type=light&ordering=-start_date" \
-H "Authorization: Api-Key your-secret-api-key"
Athugasemd
ordering og active_until eiga aðeins við um þetta eldra flæði. V2 samningar hafa
hvorki active_from né active_until, og listi þeirra styður ekki ordering. Sjá
Gildistími og uppsögn í Áskriftarsamningar V2.
Í light svörum er meðal annars skilað:
idplancustomer_referencestart_dateactive_untillast_billing_logamountcancelledcancel_datehas_payment_planpayment_plan_info
Sækja staka áskrift
GET /api/subscriptions/{id}/ skilar ítarlegra svari, þar á meðal billing_logs,
delivery_address og földuðum customer og plan gögnum.
Bein stofnun á /api/subscriptions/
POST /api/subscriptions/ notar SubscriptionSerializer og gerir ráð fyrir földuðum
plan og customer gögnum. Þessi slóð er því yfirleitt minna þægileg fyrir einfaldar
samþættingar en viðskiptavinatengda stofnslóðin.
Í reynd velja flestir annaðhvort:
POST /api/customers/{reference}/subscriptions/add/fyrir staka áskriftPOST /api/subscriptions/multi/fyrir margar áskriftir í einu
Stofna áskrift á viðskiptavin
Algengasta eldra stofnflæðið er:
POST /api/customers/{reference}/subscriptions/add/
Beiðnigögn geta meðal annars innihaldið:
Reitur |
Lýsing |
|---|---|
|
Auðkenni á |
|
Tilvísun á áskriftinni. |
|
Frjáls lýsing. |
|
Valkvæð fyrsta innheimtudagsetning eða lok prufutímabils. |
|
Valkvæð yfirskrift á upphæð. |
|
Valkvæður afsláttur 0-100. |
|
Valkvætt afhendingarheimilisfang. |
Ef greiðsla er nauðsynleg þarf viðskiptavinurinn þegar að vera með gildan og staðfestan greiðslumáta. Ef áskriftarverð er hærra en 0 og enginn greiðslumáti er til staðar fæst villa.
Dæmi:
import requests
API_KEY = 'your api key here'
headers = {
"Authorization": f"Api-Key {API_KEY}",
}
data = {
"plan": 12,
"reference": "sub-2026-0001",
"description": "Mánaðaráskrift",
"discount": "10",
}
response = requests.post(
"https://askell.is/api/customers/customer-123/subscriptions/add/",
data=data,
headers=headers,
)
Búa til margar áskriftir í einu
POST /api/subscriptions/multi/ uppfærir eða stofnar viðskiptavin og stofnar síðan fleiri en
eina áskrift í sama kalli.
Þessi slóð tekur yfirleitt þrjá meginhluta í beiðnigögnunum:
customerpayment_methodsubscriptions
customer inniheldur viðskiptavinagögn og getur einnig innihaldið afhendingarheimilisfang.
payment_method getur verið:
{"invoice": true}tímabundið
tokenfrá greiðslumátaflokkihrá kortagögn í eldri samþættingum
tómt gagnasafn ef allar áskriftir eru 0 kr.
Hver færsla í subscriptions getur innihaldið:
planreferencedescriptionamountdiscountstart_date
Dæmi:
{
"customer": {
"customer_reference": "customer-123",
"first_name": "Jón",
"last_name": "Jónsson",
"email": "jon@example.com"
},
"payment_method": {
"token": "temporary-payment-token"
},
"subscriptions": [
{
"plan": 12,
"reference": "sub-magazine",
"description": "Tímarit"
},
{
"plan": 13,
"reference": "sub-donation",
"amount": "500"
}
]
}
Uppfæra áskrift
PATCH /api/subscriptions/{id}/ leyfir ekki frjálsa breytingu á öllum reitum, en styður
helst þessar yfirskriftir:
planamountmetaog aðrir serializer-reitir sem standast staðfestingu
Ef skipt er um plan á virkri áskrift og nýja planið er komið að áskriftarþaki
(subscription limit) fæst villa.
Hætta við, virkja og færa endingardag
Eldri áskriftir styðja eftirfarandi stjórnunarköll:
Slóð |
Lýsing |
|---|---|
|
Hættir við áskrift sem er í virkri stöðu. |
|
Virkjar áskrift aftur ef hún er ekki útrunnin. |
|
Setur nýjan gildistíma á síðustu innheimtufærslu. |
|
Keyrir innheimtu ef |
set_expiry tekur inn reitinn expires og styður bæði:
YYYY-MM-DDYYYY-MM-DDTHH:MM:SS
Á áskrift sem hefur verið flutt yfir í V2 samning hafna öll þessi köll beiðninni, sjá Aðgangar á áskriftarsamningum og fluttar áskriftir.
Aðgangar á áskriftarsamningum og fluttar áskriftir
Þegar áskriftarlíkan aðgangsins er contracts (Eingöngu nýjar áskriftir í stjórnborði)
stofna eldri slóðirnar ekki lengur nýjar eldri áskriftir. Eftirfarandi köll skila þá villu
400 með code legacy_subscriptions_disabled, áður en viðskiptavinur er stofnaður eða
uppfærður og áður en nokkuð er skuldfært:
POST /api/subscriptions/POST /api/subscriptions/multi/POST /api/customers/{reference}/subscriptions/add/POST /api/checkouts/þegarplanfylgir beiðninni. Checkout ánplan, þ.e. meðpayment_processorogcurrencytil að skrá kort eða taka staka upphæð, virkar áfram.
Greiðslusíður sem selja eldri áskriftarleiðir hafna kaupum á sama hátt, með code
legacy_subscriptions_disabled, áður en kort er staðfest eða skuldfært. Áskriftarhnappurinn
(/subscribe-button/{plan_id}/) hafnar líka kaupum áður en viðskiptavinur er stofnaður eða
nokkuð er skuldfært, en svarar með villusíðu (400) fyrir kaupandann en ekki JSON svari með
code. Sjá Greiðslusíður.
Aðgangar með áskriftarlíkanið legacy eða dual stofna eldri áskriftir eins og áður. Á
samningsaðgangi eru nýjar áskriftir stofnaðar með POST /api/v2/subscription-contracts/, sjá
Áskriftarsamningar V2.
{
"error": "This account uses subscription contracts and no longer creates legacy subscriptions. Use POST /api/v2/subscription-contracts/ instead.",
"code": "legacy_subscriptions_disabled",
"v2_endpoint": "/api/v2/subscription-contracts/"
}
POST /api/customers/{reference}/subscriptions/add/ skilar auk þess "status": "error" eins
og aðrar villur þeirrar slóðar.
Þegar eldri áskrift hefur verið flutt yfir í V2 samning sér samningurinn um innheimtuna. Í
svörum áskriftarinnar er billing_managed_by þá subscription_contract og
migrated_to_contract_id vísar á samninginn. Á slíkri áskrift skila eftirfarandi köll villu
400 með code subscription_managed_by_contract og breyta engu, hvert sem
áskriftarlíkan aðgangsins er:
POST /api/subscriptions/{id}/cancel/, óháð stöðu eldri áskriftarinnarPOST /api/subscriptions/{id}/activate/, óháð stöðu eldri áskriftarinnarPOST /api/subscriptions/{id}/execute_billing/PATCH /api/subscriptions/{id}/ogPUT /api/subscriptions/{id}/POST /api/subscriptions/{id}/set_expiry/
GET köllin virka áfram. Ef flutningur er afturkallaður verður billing_managed_by aftur
legacy_subscription og köllin virka eins og áður.
{
"error": "This subscription's billing is managed by subscription contract 123. Cancel it with POST /api/v2/subscription-contracts/123/cancel/ instead.",
"code": "subscription_managed_by_contract",
"migrated_to_contract_id": 123,
"v2_endpoint": "/api/v2/subscription-contracts/123/cancel/"
}
Reitur |
Lýsing |
|---|---|
|
Lýsing á villunni, á ensku. |
|
|
|
Auðkenni V2 samningsins sem sér um innheimtuna. Aðeins með
|
|
V2 slóðin sem á að nota í staðinn: |
Greiðsluáætlanir
Svör frá eldra flæði geta innihaldið upplýsingar um greiðsluáætlun ef slík er virk á áskriftinni:
has_payment_planpayment_plan_info
payment_plan_info getur innihaldið meðal annars:
total_installmentscurrent_installmentremaining_installmentsnext_installment_dateprogress_percentagestatusbilling_period_startbilling_period_end
Algengar villur
Villa |
Lýsing |
|---|---|
|
|
|
Ný áskrift myndi fara yfir skilgreint áskriftarþak. |
|
Greiðsluskyld áskrift var stofnuð án gilds greiðslumáta. |
|
Afsláttur er utan leyfilegs bils. |
|
Reynt var að hætta við áskrift úr rangri stöðu. |
|
Reynt var að virkja útrunna áskrift. |
|
Aðgangurinn er á áskriftarsamningum ( |
|
Áskriftin hefur verið flutt yfir í V2 samning ( |
Athugasemd um nýja líkanið
Eldri áskriftarslóðir halda áfram að virka fyrir eldri samþættingar á aðgöngum með
áskriftarlíkanið legacy eða dual. Á aðgangi sem er eingöngu á áskriftarsamningum hafna
þær stofnun nýrra eldri áskrifta, sjá Aðgangar á áskriftarsamningum og fluttar áskriftir. Fyrir nýjar
samþættingar sem þurfa vörulista, pakka, viðbótarvörur, verðútgáfur, val á færsluhirði
og endurtekningu innheimtulota er mælt með Áskriftarsamningar V2.