mozaik.geliver: Geliver ile kargo
Kendi Geliver hesabınla etiket oluştur, kargo fiyatlarını karşılaştır ve takibi otomatik al.
- version 1.2.0 · publisher
mozaik· runtimeplatform· listed: true - provider kind:
cargo· methodIdgeliver - capabilities:
rateShopping,labelFormats: PDF/JPG,tracking: both,cod,returnLabel,cancel,testMode,senderProfile - scopes:
orders:write - PII: name, phone, address, city: Kargo etiketi oluşturmak için alıcı adı, telefonu ve teslimat adresi Geliver'e iletilir.
- admin panels:
order.detail.ship· actions:sender-address
Secrets
| key | label (TR) | required | sandbox prefix |
|---|---|---|---|
cargo.geliver.api_token | Geliver API Anahtarı | yes |
Secrets are write-only and owner-entered: see Tokens.
Provider-driven inbound
Webhooks and jobs are the platform's to ingest and schedule: never callable by agents.
| kind | name | note |
|---|---|---|
| webhook | cargo (/v1/ext/mozaik.geliver/wh/cargo/{storeId}) | provider-driven ingestion (cargo_events); not callable by agents |
| job | track_poll | hourly platform job; not callable by agents |
Config schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"mode": {
"default": "test",
"type": "string",
"const": "test"
},
"senderAddressId": {
"type": "string",
"maxLength": 64
},
"defaultPackage": {
"default": {
"weightGr": 1000,
"lengthCm": 20,
"widthCm": 15,
"heightCm": 10
},
"type": "object",
"properties": {
"weightGr": {
"default": 1000,
"type": "integer",
"minimum": 100,
"maximum": 50000
},
"lengthCm": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 150
},
"widthCm": {
"default": 15,
"type": "integer",
"minimum": 1,
"maximum": 150
},
"heightCm": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 150
}
},
"additionalProperties": false
},
"offerPolicy": {
"default": "merchant_picks",
"type": "string",
"enum": [
"merchant_picks",
"cheapest"
]
},
"labelFormat": {
"default": "PDF",
"type": "string",
"enum": [
"PDF",
"JPG"
]
},
"webhookId": {
"type": "string",
"maxLength": 64
}
},
"additionalProperties": false
}
Storefront (themes)
Rendered through the active theme's kit as kit-trees; placed by the owner (design.zone.place / design.extpage.add). Exposed own-config pointers ($ext.*): none.
Block teslimat: Teslimat tahmini
Ürün sayfasında tahmini teslimat süresini gösterir.
- zones:
product.below-buybox,product.after-description,cart.top - config schema:
{
"type": "object",
"properties": {
"minGun": {
"type": "integer",
"minimum": 0,
"maximum": 30,
"default": 2
},
"maxGun": {
"type": "integer",
"minimum": 1,
"maximum": 60,
"default": 4
},
"not": {
"type": "string",
"maxLength": 120,
"default": "Kargoya aynı gün verilir."
}
}
}
- tree:
{
"el": "Stack",
"props": {
"direction": "row",
"gap": "s",
"align": "center"
},
"children": [
{
"el": "Icon",
"props": {
"name": "truck",
"size": "m"
}
},
{
"el": "Stack",
"props": {
"gap": "none"
},
"children": [
{
"el": "Text",
"props": {
"size": "s",
"weight": "medium"
},
"children": [
"Tahmini teslimat: ",
{
"$bind": "$config.minGun"
},
"-",
{
"$bind": "$config.maxGun"
},
" iş günü"
]
},
{
"el": "Text",
"props": {
"size": "xs",
"tone": "muted"
},
"children": [
{
"$bind": "$config.not"
}
],
"if": "$config.not"
}
]
}
]
}
For agents
Cargo through the merchant's Geliver account: quote offers, book shipments, fetch labels, track. The sender address must be registered at Geliver before the first booking.
Setup
- Install:
extension.installwith{"extensionId": "mozaik.geliver"}and the consent block. Consent includes buyer name/phone/address flowing to Geliver for labels. - Secret: the owner enters
cargo.geliver.api_tokenin the admin panel (agents cannot set secrets). Owner-entered; test-mode tokens only until the platform unlocks live cargo (pre-launch gate). - Action: run op
sender-addressviaext.cargo.sender. Register the pickup/sender profile: agents call the sender-address op, owners use the admin dialog. - Enable:
extension.enable. - Verify: run op
offersviaorders.cargo.offers. Quote offers on a test order; a carrier list proves the token + sender profile.
Operations
| op | via | effects | proposal-only | requires |
|---|---|---|---|---|
book | orders.cargo.book | external | ✓ | enabled · capability rateShopping |
label | orders.shipment.label | external | enabled · capability labelFormats | |
offers | orders.cargo.offers | external | enabled · capability rateShopping | |
place-block-teslimat | design.zone.place | write | ✓ | installed (enable not required) |
sender-address | ext.cargo.sender | external | ✓ | installed (enable not required) · secret cargo.geliver.api_token |
track | orders.shipment.track | external | ✓ | enabled · capability tracking |
extensions.ops.get (GET /v1/extensions/mozaik.geliver/ops) returns this table with live readiness: exactly what blocks each op right now (missing_secret:<key>, missing_config:<pointer>, not_enabled, …).
Lifecycle
extension.install → extension.configure → extension.enable → extension.disable → extension.uninstall