import { Client } from '../client'; import type { Models } from '../models'; import { OrderStatus } from '../enums/order-status'; import { OrderPaymentStatus } from '../enums/order-payment-status'; import { OrderFulfillmentStatus } from '../enums/order-fulfillment-status'; import { OrderCommentVisibility } from '../enums/order-comment-visibility'; export declare class Orders { client: Client; constructor(client: Client); /** * * @param {OrderStatus} params.status - Filter by order status (exact match). * @param {OrderPaymentStatus} params.paymentStatus - Filter by payment status (exact match). * @param {OrderFulfillmentStatus} params.fulfillmentStatus - Filter by fulfillment status (exact match). * @param {string} params.contactId - Filter to one ordering contact. * @param {string} params.organizationId - Filter to one B2B organization. * @param {string} params.channelId - Filter to one sales channel. * @param {string} params.number - Filter by exact order number. * @param {number} params.limit - Page size (default 50, max 200). * @param {number} params.offset - Row offset for pagination (default 0). * @param {string} params.order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'. * @throws {RevenexxException} * @returns {Promise<{}>} */ ordersList(params?: { status?: OrderStatus; paymentStatus?: OrderPaymentStatus; fulfillmentStatus?: OrderFulfillmentStatus; contactId?: string; organizationId?: string; channelId?: string; number?: string; limit?: number; offset?: number; order?: string; }): Promise<{}>; /** * * @param {OrderStatus} status - Filter by order status (exact match). * @param {OrderPaymentStatus} paymentStatus - Filter by payment status (exact match). * @param {OrderFulfillmentStatus} fulfillmentStatus - Filter by fulfillment status (exact match). * @param {string} contactId - Filter to one ordering contact. * @param {string} organizationId - Filter to one B2B organization. * @param {string} channelId - Filter to one sales channel. * @param {string} number - Filter by exact order number. * @param {number} limit - Page size (default 50, max 200). * @param {number} offset - Row offset for pagination (default 0). * @param {string} order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'. * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ ordersList(status?: OrderStatus, paymentStatus?: OrderPaymentStatus, fulfillmentStatus?: OrderFulfillmentStatus, contactId?: string, organizationId?: string, channelId?: string, number?: string, limit?: number, offset?: number, order?: string): Promise<{}>; /** * * @param {number} params.limit - Page size (default 50, max 200). * @param {number} params.offset - Row offset for pagination (default 0). * @param {string} params.order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'. * @throws {RevenexxException} * @returns {Promise<{}>} */ ordersNumberRangesList(params?: { limit?: number; offset?: number; order?: string; }): Promise<{}>; /** * * @param {number} limit - Page size (default 50, max 200). * @param {number} offset - Row offset for pagination (default 0). * @param {string} order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'. * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ ordersNumberRangesList(limit?: number, offset?: number, order?: string): Promise<{}>; /** * * @param {string} params.code - Range key drawn by the app ('order', 'delivery', 'return') — unique per tenant. * @param {string} params.channelId - * @param {number} params.counter - Current counter value (default 0) — the next number draws counter+step. * @param {object} params.metadata - Free-form metadata. * @param {number} params.padding - Zero-padding width of the counter (default 6). * @param {number} params.positionStep - Position numbering increment for order items (default 10). * @param {string} params.prefix - Default ''. * @param {number} params.step - Counter increment per drawn number (default 1). * @param {string} params.suffix - Default ''. * @throws {RevenexxException} * @returns {Promise} */ ordersNumberRangesCreate(params: { code: string; channelId?: string; counter?: number; metadata?: object; padding?: number; positionStep?: number; prefix?: string; step?: number; suffix?: string; }): Promise; /** * * @param {string} code - Range key drawn by the app ('order', 'delivery', 'return') — unique per tenant. * @param {string} channelId - * @param {number} counter - Current counter value (default 0) — the next number draws counter+step. * @param {object} metadata - Free-form metadata. * @param {number} padding - Zero-padding width of the counter (default 6). * @param {number} positionStep - Position numbering increment for order items (default 10). * @param {string} prefix - Default ''. * @param {number} step - Counter increment per drawn number (default 1). * @param {string} suffix - Default ''. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersNumberRangesCreate(code: string, channelId?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string): Promise; /** * * @throws {RevenexxException} * @returns {Promise<{}>} */ ordersNumberRangesDefaults(): Promise<{}>; /** * * @param {string} params.id - * @throws {RevenexxException} * @returns {Promise<{}>} */ ordersNumberRangesDelete(params: { id: string; }): Promise<{}>; /** * * @param {string} id - * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ ordersNumberRangesDelete(id: string): Promise<{}>; /** * * @param {string} params.id - * @throws {RevenexxException} * @returns {Promise} */ ordersNumberRangesGet(params: { id: string; }): Promise; /** * * @param {string} id - * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersNumberRangesGet(id: string): Promise; /** * * @param {string} params.id - * @param {string} params.channelId - * @param {string} params.code - Range key drawn by the app ('order', 'delivery', 'return') — unique per tenant. * @param {number} params.counter - Current counter value (default 0) — the next number draws counter+step. * @param {object} params.metadata - Free-form metadata. * @param {number} params.padding - Zero-padding width of the counter (default 6). * @param {number} params.positionStep - Position numbering increment for order items (default 10). * @param {string} params.prefix - Default ''. * @param {number} params.step - Counter increment per drawn number (default 1). * @param {string} params.suffix - Default ''. * @throws {RevenexxException} * @returns {Promise} */ ordersNumberRangesUpdate(params: { id: string; channelId?: string; code?: string; counter?: number; metadata?: object; padding?: number; positionStep?: number; prefix?: string; step?: number; suffix?: string; }): Promise; /** * * @param {string} id - * @param {string} channelId - * @param {string} code - Range key drawn by the app ('order', 'delivery', 'return') — unique per tenant. * @param {number} counter - Current counter value (default 0) — the next number draws counter+step. * @param {object} metadata - Free-form metadata. * @param {number} padding - Zero-padding width of the counter (default 6). * @param {number} positionStep - Position numbering increment for order items (default 10). * @param {string} prefix - Default ''. * @param {number} step - Counter increment per drawn number (default 1). * @param {string} suffix - Default ''. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersNumberRangesUpdate(id: string, channelId?: string, code?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string): Promise; /** * * @param {Models.OrderItemCreateRequest[]} params.items - The order positions (at most 500). * @param {object} params.billingAddress - Frozen billing address. * @param {object} params.buyer - Frozen buyer snapshot (name, email, …). * @param {string} params.cartId - Source cart (the carts.order hand-over). * @param {string} params.channelId - * @param {string} params.contactId - Ordering customer contact. * @param {string} params.currency - ISO 4217 code (default EUR). * @param {string} params.customerOrderNumber - The buyer's own order/PO number. * @param {number} params.grandTotal - Override — computed as subtotal + shipping + tax when omitted. * @param {object} params.metadata - Free-form metadata. * @param {string} params.organizationId - B2B organization. * @param {object} params.payment - Frozen payment snapshot — a known 'payment.status' seeds payment_status (otherwise 'open'). * @param {object} params.shipping - Frozen shipping snapshot — 'shipping.price' seeds shipping_total. * @param {object} params.shippingAddress - Frozen shipping address. * @param {number} params.shippingTotal - Shipping total (fallback when 'shipping.price' is absent). * @param {object} params.userData - Free-form user data. * @throws {RevenexxException} * @returns {Promise} */ ordersPlace(params: { items: Models.OrderItemCreateRequest[]; billingAddress?: object; buyer?: object; cartId?: string; channelId?: string; contactId?: string; currency?: string; customerOrderNumber?: string; grandTotal?: number; metadata?: object; organizationId?: string; payment?: object; shipping?: object; shippingAddress?: object; shippingTotal?: number; userData?: object; }): Promise; /** * * @param {Models.OrderItemCreateRequest[]} items - The order positions (at most 500). * @param {object} billingAddress - Frozen billing address. * @param {object} buyer - Frozen buyer snapshot (name, email, …). * @param {string} cartId - Source cart (the carts.order hand-over). * @param {string} channelId - * @param {string} contactId - Ordering customer contact. * @param {string} currency - ISO 4217 code (default EUR). * @param {string} customerOrderNumber - The buyer's own order/PO number. * @param {number} grandTotal - Override — computed as subtotal + shipping + tax when omitted. * @param {object} metadata - Free-form metadata. * @param {string} organizationId - B2B organization. * @param {object} payment - Frozen payment snapshot — a known 'payment.status' seeds payment_status (otherwise 'open'). * @param {object} shipping - Frozen shipping snapshot — 'shipping.price' seeds shipping_total. * @param {object} shippingAddress - Frozen shipping address. * @param {number} shippingTotal - Shipping total (fallback when 'shipping.price' is absent). * @param {object} userData - Free-form user data. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersPlace(items: Models.OrderItemCreateRequest[], billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, grandTotal?: number, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, userData?: object): Promise; /** * * @param {string} params.id - * @throws {RevenexxException} * @returns {Promise} */ ordersGet(params: { id: string; }): Promise; /** * * @param {string} id - * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersGet(id: string): Promise; /** * * @param {string} params.id - * @param {object} params.billingAddress - * @param {object} params.buyer - * @param {string} params.customerOrderNumber - * @param {object} params.metadata - Free-form metadata. * @param {object} params.shippingAddress - * @param {object} params.userData - Free-form user data. * @throws {RevenexxException} * @returns {Promise} */ ordersUpdate(params: { id: string; billingAddress?: object; buyer?: object; customerOrderNumber?: string; metadata?: object; shippingAddress?: object; userData?: object; }): Promise; /** * * @param {string} id - * @param {object} billingAddress - * @param {object} buyer - * @param {string} customerOrderNumber - * @param {object} metadata - Free-form metadata. * @param {object} shippingAddress - * @param {object} userData - Free-form user data. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersUpdate(id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object): Promise; /** * * @param {string} params.id - * @param {string} params.externalRef - The fulfilling system's order reference (e.g. the ERP order number). * @throws {RevenexxException} * @returns {Promise} */ ordersAcknowledge(params: { id: string; externalRef?: string; }): Promise; /** * * @param {string} id - * @param {string} externalRef - The fulfilling system's order reference (e.g. the ERP order number). * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersAcknowledge(id: string, externalRef?: string): Promise; /** * * @param {string} params.id - * @param {string} params.cancelledBy - Acting user/system. * @param {string} params.reason - * @throws {RevenexxException} * @returns {Promise} */ ordersCancel(params: { id: string; cancelledBy?: string; reason?: string; }): Promise; /** * * @param {string} id - * @param {string} cancelledBy - Acting user/system. * @param {string} reason - * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersCancel(id: string, cancelledBy?: string, reason?: string): Promise; /** * * @param {string} params.id - * @throws {RevenexxException} * @returns {Promise<{}>} */ ordersCommentsList(params: { id: string; }): Promise<{}>; /** * * @param {string} id - * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ ordersCommentsList(id: string): Promise<{}>; /** * * @param {string} params.id - * @param {string} params.body - * @param {string} params.author - * @param {OrderCommentVisibility} params.visibility - Default 'internal'. * @throws {RevenexxException} * @returns {Promise} */ ordersCommentsCreate(params: { id: string; body: string; author?: string; visibility?: OrderCommentVisibility; }): Promise; /** * * @param {string} id - * @param {string} body - * @param {string} author - * @param {OrderCommentVisibility} visibility - Default 'internal'. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersCommentsCreate(id: string, body: string, author?: string, visibility?: OrderCommentVisibility): Promise; /** * * @param {string} params.id - * @throws {RevenexxException} * @returns {Promise<{}>} */ ordersEventsList(params: { id: string; }): Promise<{}>; /** * * @param {string} id - * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ ordersEventsList(id: string): Promise<{}>; /** * * @param {string} params.id - * @param {string} params.reason - Why the order is blocked (shown on the shipping guard). * @throws {RevenexxException} * @returns {Promise} */ ordersHold(params: { id: string; reason?: string; }): Promise; /** * * @param {string} id - * @param {string} reason - Why the order is blocked (shown on the shipping guard). * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersHold(id: string, reason?: string): Promise; /** * * @param {string} params.id - * @param {Models.OrderCancelPosition[]} params.positions - * @param {string} params.cancelledBy - Acting user/system. * @param {string} params.reason - * @throws {RevenexxException} * @returns {Promise} */ ordersItemsCancel(params: { id: string; positions: Models.OrderCancelPosition[]; cancelledBy?: string; reason?: string; }): Promise; /** * * @param {string} id - * @param {Models.OrderCancelPosition[]} positions - * @param {string} cancelledBy - Acting user/system. * @param {string} reason - * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersItemsCancel(id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string): Promise; /** * * @param {string} params.id - * @param {OrderPaymentStatus} params.status - The new payment dimension value. * @param {string} params.paymentId - Reference into the payment system — merged into the order's payment snapshot. * @throws {RevenexxException} * @returns {Promise} */ ordersPaymentStatusUpdate(params: { id: string; status: OrderPaymentStatus; paymentId?: string; }): Promise; /** * * @param {string} id - * @param {OrderPaymentStatus} status - The new payment dimension value. * @param {string} paymentId - Reference into the payment system — merged into the order's payment snapshot. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersPaymentStatusUpdate(id: string, status: OrderPaymentStatus, paymentId?: string): Promise; /** * * @param {string} params.id - * @param {Models.OrderReturnPosition[]} params.positions - * @param {object} params.metadata - Free-form metadata. * @param {string} params.reason - * @throws {RevenexxException} * @returns {Promise} */ ordersReturn(params: { id: string; positions: Models.OrderReturnPosition[]; metadata?: object; reason?: string; }): Promise; /** * * @param {string} id - * @param {Models.OrderReturnPosition[]} positions - * @param {object} metadata - Free-form metadata. * @param {string} reason - * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersReturn(id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string): Promise; /** * * @param {string} params.id - * @param {string} params.rid - * @param {string} params.resolution - How the return was settled (refund, replacement, …). * @throws {RevenexxException} * @returns {Promise} */ ordersReturnsComplete(params: { id: string; rid: string; resolution?: string; }): Promise; /** * * @param {string} id - * @param {string} rid - * @param {string} resolution - How the return was settled (refund, replacement, …). * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersReturnsComplete(id: string, rid: string, resolution?: string): Promise; /** * * @param {string} params.id - * @param {string} params.rid - * @param {object} params.data - Request body * @throws {RevenexxException} * @returns {Promise} */ ordersReturnsReceive(params: { id: string; rid: string; data: object; }): Promise; /** * * @param {string} id - * @param {string} rid - * @param {object} data - Request body * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersReturnsReceive(id: string, rid: string, data: object): Promise; /** * * @param {string} params.id - * @param {string} params.rid - * @param {string} params.reason - Fallback for 'resolution'. * @param {string} params.resolution - Why the return was rejected. * @throws {RevenexxException} * @returns {Promise} */ ordersReturnsReject(params: { id: string; rid: string; reason?: string; resolution?: string; }): Promise; /** * * @param {string} id - * @param {string} rid - * @param {string} reason - Fallback for 'resolution'. * @param {string} resolution - Why the return was rejected. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersReturnsReject(id: string, rid: string, reason?: string, resolution?: string): Promise; /** * * @param {string} params.id - * @param {string} params.carrier - * @param {object} params.metadata - Free-form metadata. * @param {string} params.number - Delivery note number — drawn from the 'delivery' range when omitted. * @param {Models.OrderShipmentPosition[]} params.positions - Omitted = every position with open quantity, in full. * @param {string} params.shippedAt - Defaults to now. * @param {string} params.trackingCode - * @param {string} params.trackingUrl - * @throws {RevenexxException} * @returns {Promise<{}>} */ ordersShip(params: { id: string; carrier?: string; metadata?: object; number?: string; positions?: Models.OrderShipmentPosition[]; shippedAt?: string; trackingCode?: string; trackingUrl?: string; }): Promise<{}>; /** * * @param {string} id - * @param {string} carrier - * @param {object} metadata - Free-form metadata. * @param {string} number - Delivery note number — drawn from the 'delivery' range when omitted. * @param {Models.OrderShipmentPosition[]} positions - Omitted = every position with open quantity, in full. * @param {string} shippedAt - Defaults to now. * @param {string} trackingCode - * @param {string} trackingUrl - * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ ordersShip(id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string): Promise<{}>; /** * * @param {string} params.id - * @param {object} params.data - Request body * @throws {RevenexxException} * @returns {Promise} */ ordersUnhold(params: { id: string; data: object; }): Promise; /** * * @param {string} id - * @param {object} data - Request body * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ ordersUnhold(id: string, data: object): Promise; }