Type Definitions
Type definitions for the Marketfront SDK.
MarketfrontConfig
Configuration object passed to the constructor.
- Web
- iOS
- Android
interface MarketfrontConfig {
// Authentication (required)
sessionToken: string;
// Event callbacks
onReady?: () => void;
onError?: (error: MarketfrontError) => void;
onStoreSelected?: (store: StoreEvent) => void;
onItemAdded?: (item: ItemAddedEvent) => void;
onCheckoutStarted?: (checkout: CheckoutStartedEvent) => void;
onOrderComplete?: (order: Order) => void;
onOrderFailed?: (error: OrderFailedEvent) => void;
}
struct MarketfrontConfig {
// Authentication (required)
let sessionToken: String
}
// Events are handled via MarketfrontDelegate protocol
protocol MarketfrontDelegate: AnyObject {
func marketfrontDidBecomeReady(_ marketfront: MarketfrontView)
func marketfront(_ marketfront: MarketfrontView, didFailWithError error: MarketfrontError)
func marketfront(_ marketfront: MarketfrontView, didSelectStore store: Store)
func marketfront(_ marketfront: MarketfrontView, didAddItem item: CartItem)
func marketfront(_ marketfront: MarketfrontView, didStartCheckout checkout: Checkout)
func marketfront(_ marketfront: MarketfrontView, didCompleteOrder order: Order)
func marketfront(_ marketfront: MarketfrontView, orderDidFail error: OrderError)
}
data class MarketfrontConfig(
// Authentication (required)
val sessionToken: String
)
// Events are handled via MarketfrontListener interface
interface MarketfrontListener {
fun onReady()
fun onError(error: MarketfrontError)
fun onStoreSelected(store: Store)
fun onItemAdded(item: CartItem)
fun onCheckoutStarted(checkout: Checkout)
fun onOrderComplete(order: Order)
fun onOrderFailed(error: OrderError)
}
Configuration
Theme, UI options, payment settings, localization, fulfillment modes, and store filtering are configured via the Partner Dashboard. See the Feature Comparison for what's configurable.
Address
Delivery address structure.
- Web
- iOS
- Android
interface Address {
address1: string;
address2?: string;
locality: string; // City
region: string; // State/province
postalCode: string;
country?: string; // ISO 3166-1 alpha-2
}
struct Address {
let address1: String
var address2: String?
let locality: String
let region: String
let postalCode: String
var country: String?
}
data class Address(
val address1: String,
val address2: String? = null,
val locality: String,
val region: String,
val postalCode: String,
val country: String? = null
)
Order
Completed order data.
- Web
- iOS
- Android
interface Order {
id: string;
storeId: string;
storeName: string;
total: number;
fulfillmentType: 'DeliveryByMerchant' | 'PickUp';
estimatedTime?: string;
items: Array<{
name: string;
quantity: number;
price: number;
}>;
}
struct Order {
let id: String
let storeId: String
let storeName: String
let total: Decimal
let fulfillmentType: FulfillmentType
let estimatedTime: String?
let items: [OrderItem]
}
struct OrderItem {
let name: String
let quantity: Int
let price: Decimal
}
data class Order(
val id: String,
val storeId: String,
val storeName: String,
val total: BigDecimal,
val fulfillmentType: FulfillmentType,
val estimatedTime: String?,
val items: List<OrderItem>
)
data class OrderItem(
val name: String,
val quantity: Int,
val price: BigDecimal
)
Cart
Current cart state.
- Web
- iOS
- Android
interface Cart {
itemCount: number;
subtotal: number;
items: Array<{
lineItemId: string;
name: string;
quantity: number;
price: number;
}>;
}
struct Cart {
let itemCount: Int
let subtotal: Decimal
let items: [CartItem]
}
struct CartItem {
let lineItemId: String
let name: String
let quantity: Int
let price: Decimal
}
data class Cart(
val itemCount: Int,
val subtotal: BigDecimal,
val items: List<CartItem>
)
data class CartItem(
val lineItemId: String,
val name: String,
val quantity: Int,
val price: BigDecimal
)
Import Types
Import all types for full IntelliSense:
- Web
- iOS
- Android
import type {
MarketfrontClient,
MarketfrontConfig,
Address,
Order,
Cart,
Store,
MarketfrontError,
} from '@gett/marketfront';
import GettMarketfront
// All types are available in the GettMarketfront module
import com.gett.marketfront.*
// All types are available in the com.gett.marketfront package