From cd2461bc08982441d673307e4cf439755989559c Mon Sep 17 00:00:00 2001 From: Jigar Dafda Date: Fri, 24 Nov 2023 09:26:52 +0000 Subject: [PATCH] [Auto Generated] 1.3.9-beta.1 --- CHANGELOG.md | 851 +++++++++++++++++- FDKClient.podspec | 2 +- .../application/ApplicationAPIClient.swift | 2 +- .../Client/CartApplicationClient.swift | 8 + .../Client/CatalogApplicationClient.swift | 18 +- .../Client/PosCartApplicationClient.swift | 8 + .../Cart/CartCommonConfigCartAppModel.swift | 54 ++ .../Cart/CartDetailCouponCartAppModel.swift | 399 ++++++++ .../Cart/CartDetailResponseCartAppModel.swift | 163 +++- .../Cart/ChargesThresholdCartAppModel.swift | 77 ++ .../DeliveryChargesConfigCartAppModel.swift | 77 ++ .../Models/Catalog/StoreCatalogAppModel.swift | 25 +- .../platform/Client/OrderPlatformClient.swift | 66 +- ...onCreateResponseCatalogPlatformModel.swift | 50 +- ...msReqEmailCommunicationPlatformModel.swift | 50 +- ...msProviderCommunicationPlatformModel.swift | 162 ++++ .../AffiliateMetaOrderPlatformModel.swift | 142 ++- Sources/code/platform/PlatformAPIClient.swift | 2 +- Sources/code/platform/PlatformClient.swift | 225 +++++ Sources/code/public/PublicAPIClient.swift | 2 +- documentation/application/CART.md | 71 +- documentation/application/CATALOG.md | 12 +- documentation/application/POSCART.md | 3 +- documentation/platform/CART.md | 5 +- documentation/platform/CATALOG.md | 1 + documentation/platform/COMMUNICATION.md | 13 + documentation/platform/ORDER.md | 78 +- 27 files changed, 2493 insertions(+), 73 deletions(-) create mode 100644 Sources/code/application/Models/Cart/CartCommonConfigCartAppModel.swift create mode 100644 Sources/code/application/Models/Cart/CartDetailCouponCartAppModel.swift create mode 100644 Sources/code/application/Models/Cart/ChargesThresholdCartAppModel.swift create mode 100644 Sources/code/application/Models/Cart/DeliveryChargesConfigCartAppModel.swift create mode 100644 Sources/code/platform/Models/Communication/SendOtpEmailCommsProviderCommunicationPlatformModel.swift diff --git a/CHANGELOG.md b/CHANGELOG.md index 65378e0269..9967a646ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,836 @@ -# CHANGE LOG (1.3.6-beta.2) - v1.8.5-prerelease-v2 +# CHANGE LOG (1.3.9-beta.1) - v1.8.6-prerelease-v1 + +## Application Client + + + +### Cart + + + +#### getCart + +- ##### What's New + - [Added] property `uid` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `coupon` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `notification` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `success` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cartId` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `commonConfig` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `staffUserId` of schema `CartDetailResponse` in response with status code 200 + + +#### addItems + +- ##### What's New + - [Added] property `cart.uid` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.coupon` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.notification` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.success` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.cartId` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.commonConfig` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.staffUserId` of schema `CartDetailResponse` in response with status code 200 + + +#### updateCart + +- ##### What's New + - [Added] property `cart.uid` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.coupon` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.notification` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.success` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.cartId` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.commonConfig` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cart.staffUserId` of schema `CartDetailResponse` in response with status code 200 + + +#### applyCoupon + +- ##### What's New + - [Added] property `uid` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `coupon` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `notification` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `success` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `cartId` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `commonConfig` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `staffUserId` of schema `CartDetailResponse` in response with status code 201 + + +#### removeCoupon + +- ##### What's New + - [Added] property `uid` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `coupon` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `notification` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `success` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cartId` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `commonConfig` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `staffUserId` of schema `CartDetailResponse` in response with status code 200 + + +#### applyRewardPoints + +- ##### What's New + - [Added] property `uid` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `coupon` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `notification` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `success` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cartId` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `commonConfig` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `staffUserId` of schema `CartDetailResponse` in response with status code 200 + + +#### selectAddress + +- ##### What's New + - [Added] property `uid` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `coupon` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `notification` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `success` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `cartId` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `commonConfig` of schema `CartDetailResponse` in response with status code 201 + - [Added] property `staffUserId` of schema `CartDetailResponse` in response with status code 201 + + +#### selectPaymentMode + +- ##### What's New + - [Added] property `uid` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `coupon` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `notification` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `success` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `cartId` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `commonConfig` of schema `CartDetailResponse` in response with status code 200 + - [Added] property `staffUserId` of schema `CartDetailResponse` in response with status code 200 + + +### Catalog + + + +#### getStores + +- ##### What's New + - [Added] `query` parameter `tags` (type: `string`) + + - [Added] property `items[].tags` of schema `Store` in response with status code 200 + + +## Platform Client + + + +### Catalog + + + +#### createCollection + +- ##### What's New + - [Added] property `uid` of schema `CollectionCreateResponse` in response with status code 200 + + +### Order + + + +#### getShipments + +- ##### What's New + - [Added] `query` parameter `allowInactive` (type: `boolean`) + + - [Added] property `items[].bags[].affiliateBagDetails.affiliateMeta.isSerialNumberRequired` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].bags[].affiliateBagDetails.affiliateMeta.fulfilmentPriority` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].bags[].affiliateBagDetails.affiliateMeta.customerSellingPrice` of schema `AffiliateMeta` in response with status code 200 + + +#### getShipmentById + +- ##### What's New + - [Added] property `shipments[].affiliateDetails.affiliateMeta.isSerialNumberRequired` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `shipments[].affiliateDetails.affiliateMeta.fulfilmentPriority` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `shipments[].affiliateDetails.affiliateMeta.customerSellingPrice` of schema `AffiliateMeta` in response with status code 200 + + +#### getOrderById + +- ##### What's New + - [Added] property `shipments[].affiliateDetails.affiliateMeta.isSerialNumberRequired` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `shipments[].affiliateDetails.affiliateMeta.fulfilmentPriority` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `shipments[].affiliateDetails.affiliateMeta.customerSellingPrice` of schema `AffiliateMeta` in response with status code 200 + + +#### getOrders + +- ##### What's New + - [Added] property `items[].shipments[].affiliateDetails.affiliateMeta.isSerialNumberRequired` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].shipments[].affiliateDetails.affiliateMeta.fulfilmentPriority` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].shipments[].affiliateDetails.affiliateMeta.customerSellingPrice` of schema `AffiliateMeta` in response with status code 200 + + +#### getApplicationShipments + +- ##### What's New + - [Added] property `items[].bags[].affiliateBagDetails.affiliateMeta.isSerialNumberRequired` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].bags[].affiliateBagDetails.affiliateMeta.fulfilmentPriority` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].bags[].affiliateBagDetails.affiliateMeta.customerSellingPrice` of schema `AffiliateMeta` in response with status code 200 + + +#### getBagById + +- ##### What's New + - [Added] property `affiliateBagDetails.affiliateMeta.isSerialNumberRequired` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `affiliateBagDetails.affiliateMeta.fulfilmentPriority` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `affiliateBagDetails.affiliateMeta.customerSellingPrice` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `affiliateDetails.affiliateMeta.isSerialNumberRequired` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `affiliateDetails.affiliateMeta.fulfilmentPriority` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `affiliateDetails.affiliateMeta.customerSellingPrice` of schema `AffiliateMeta` in response with status code 200 + + +#### getBags + +- ##### What's New + - [Added] property `items[].affiliateBagDetails.affiliateMeta.isSerialNumberRequired` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].affiliateBagDetails.affiliateMeta.fulfilmentPriority` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].affiliateBagDetails.affiliateMeta.customerSellingPrice` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].affiliateDetails.affiliateMeta.isSerialNumberRequired` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].affiliateDetails.affiliateMeta.fulfilmentPriority` of schema `AffiliateMeta` in response with status code 200 + - [Added] property `items[].affiliateDetails.affiliateMeta.customerSellingPrice` of schema `AffiliateMeta` in response with status code 200 + + +# CHANGE LOG (1.3.8) - fp-v1.8.5 + +## Application Client + + + +### Cart + + + +#### getCart + +- ##### What's New + - [Added] `query` parameter `c` (type: `boolean`) + + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### addItems + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### updateCart + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### applyCoupon + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 201 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 201 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 201 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 201 + + +#### removeCoupon + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### applyRewardPoints + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### selectAddress + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 201 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 201 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 201 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 201 + + +#### selectPaymentMode + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### getShipments + +- ##### What's New + - [Added] property `shipments[].items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `shipments[].items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `shipments[].items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `shipments[].items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### checkoutCart + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### getCartSharedItems + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 404 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 404 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 404 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 404 + + +#### updateCartWithSharedItems + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### checkoutCartV2 + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +### PosCart + + + +#### getCart + +- ##### What's New + - [Added] `query` parameter `c` (type: `boolean`) + + + +## Platform Client + + + +### Cart + + + +#### getAbandonedCartDetails + +- ##### What's New + - [Added] `query` parameter `c` (type: `boolean`) + + + +### Catalog + + + +#### getAppReturnConfiguration + +- ##### What's New + - [Added] method `getAppReturnConfiguration` + + + +#### createAppReturnConfiguration + +- ##### What's New + - [Added] method `createAppReturnConfiguration` + + + +#### updateAppReturnConfiguration + +- ##### What's New + - [Added] method `updateAppReturnConfiguration` + + + +#### deleteAppCategoryReturnConfiguration + +- ##### What's New + - [Added] method `deleteAppCategoryReturnConfiguration` + + + +#### getAppCategoryReturnConfig + +- ##### What's New + - [Added] method `getAppCategoryReturnConfig` + + + +#### createAppCategoryReturnConfiguration + +- ##### What's New + - [Added] method `createAppCategoryReturnConfiguration` + + + +#### updateAppCategoryReturnConfiguration + +- ##### What's New + - [Added] method `updateAppCategoryReturnConfiguration` + + + +### Communication + + + +#### sendOtp + +- ##### What's New + - [Added] property `email.provider` of schema `SendOtpCommsReqEmail` in request body + + +### Order + + + +#### createOrder + +- ##### What's New + - [Added] property `userInfo.primaryEmail` of schema `UserInfo` in request body + - [Added] property `userInfo.primaryMobileNumber` of schema `UserInfo` in request body + +- ##### What's Deprecated + - [Breaking] [Deleted] property `userInfo.email` of schema `UserInfo` in request body + - [Breaking] [Deleted] property `userInfo.mobile` of schema `UserInfo` in request body + +- ##### What's Changed + - [Breaking] [Changed] Required status of property `userInfo.email` in request body + - [Breaking] [Changed] Required status of property `userInfo.mobile` in request body + + +#### getShipments + +- ##### What's Deprecated + - [Deleted] properties `items[].meta.formatted`, `items[].meta.sla`, `items[].meta.tags`, `items[].meta.external`, `items[].meta.timestamp`, `items[].meta.weight`, `items[].meta.sameStoreAvailable`, `items[].meta.isSelfShip`, `items[].meta.isInternational`, `items[].meta.debugInfo`, `items[].meta.shipmentChargeableWeight`, `items[].meta.pdfMedia`, `items[].meta.existingDpList`, `items[].meta.parentDpId`, `items[].meta.shipmentWeight`, `items[].meta.dpOptions`, `items[].meta.assignDpFromSb`, `items[].meta.shippingZone`, `items[].meta.storeInvoiceUpdatedDate`, `items[].meta.activityComment`, `items[].meta.fulfilmentPriorityText`, `items[].meta.shipmentTags`, `items[].meta.ewaybillInfo`, `items[].meta.lockData`, `items[].meta.orderType`, `items[].meta.shipmentVolumetricWeight`, `items[].meta.dpSortKey`, `items[].meta.packagingName`, `items[].meta.autoTriggerDpAssignmentAcf`, `items[].meta.bagWeight` in response with status code 200 + - [Deleted] Required status from property `items[].meta.auto_trigger_dp_assignment_acf` in response with status code 200 + + +#### getShipmentById + +- ##### What's New + - [Added] property `shipments[].invoice.links` of schema `InvoiceInfo` in response with status code 200 + +- ##### What's Deprecated + - [Deleted] properties `shipments[].bags[].meta.giftCard`, `shipments[].bags[].meta.customMessage`, `shipments[].bags[].meta.docketNumber`, `shipments[].bags[].meta.groupId`, `shipments[].bags[].meta.partialCanRet`, `shipments[].bags[].meta.extraMeta`, `shipments[].bags[].meta.b2BPoDetails`, `shipments[].bags[].meta.customJson` in response with status code 200 + + +#### getOrderById + +- ##### What's New + - [Added] property `shipments[].invoice.links` of schema `InvoiceInfo` in response with status code 200 + +- ##### What's Deprecated + - [Deleted] properties `order.meta.comment`, `order.meta.files`, `order.meta.staff`, `order.meta.platformUserDetails`, `order.meta.companyLogo`, `order.meta.currencySymbol`, `order.meta.extraMeta`, `order.meta.transactionData`, `order.meta.billingStaffDetails`, `order.meta.orderingStore`, `order.meta.paymentType`, `order.meta.mongoCartId`, `order.meta.orderChildEntities`, `order.meta.orderType`, `order.meta.orderPlatform`, `order.meta.employeeId`, `order.meta.orderTags`, `order.meta.customerNote`, `order.meta.cartId`, `order.meta.cartObjectId` in response with status code 200 + - [Deleted] properties `shipments[].bags[].meta.giftCard`, `shipments[].bags[].meta.customMessage`, `shipments[].bags[].meta.docketNumber`, `shipments[].bags[].meta.groupId`, `shipments[].bags[].meta.partialCanRet`, `shipments[].bags[].meta.extraMeta`, `shipments[].bags[].meta.b2BPoDetails`, `shipments[].bags[].meta.customJson` in response with status code 200 + + +#### getOrders + +- ##### What's New + - [Added] property `items[].shipments[].invoice.links` of schema `InvoiceInfo` in response with status code 200 + +- ##### What's Deprecated + - [Deleted] properties `items[].shipments[].bags[].meta.giftCard`, `items[].shipments[].bags[].meta.customMessage`, `items[].shipments[].bags[].meta.docketNumber`, `items[].shipments[].bags[].meta.groupId`, `items[].shipments[].bags[].meta.partialCanRet`, `items[].shipments[].bags[].meta.extraMeta`, `items[].shipments[].bags[].meta.b2BPoDetails`, `items[].shipments[].bags[].meta.customJson` in response with status code 200 + + +#### getShipmentBagReasons + +- ##### What's New + - [Added] method `getShipmentBagReasons` + + + +#### getApplicationShipments + +- ##### What's New + - [Added] method `getApplicationShipments` + + + +# CHANGE LOG (1.3.7) - fp-v1.8.5 + +## Application Client + + + +### Cart + + + +#### getCart + +- ##### What's New + - [Added] `query` parameter `c` (type: `boolean`) + + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### addItems + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### updateCart + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### applyCoupon + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 201 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 201 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 201 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 201 + + +#### removeCoupon + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### applyRewardPoints + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### selectAddress + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 201 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 201 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 201 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 201 + + +#### selectPaymentMode + +- ##### What's New + - [Added] property `items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### getShipments + +- ##### What's New + - [Added] property `shipments[].items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `shipments[].items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `shipments[].items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `shipments[].items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### checkoutCart + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### getCartSharedItems + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 404 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 404 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 404 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 404 + + +#### updateCartWithSharedItems + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +#### checkoutCartV2 + +- ##### What's New + - [Added] property `cart.items[].pricePerUnit.base.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + - [Added] property `cart.items[].pricePerUnit.converted.sellingPrice` of schema `ProductPricePerUnit` in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.base.selling` of schema `ProductPrice` in response with status code 200 + - [Breaking] [Deleted] property `cart.items[].pricePerUnit.converted.selling` of schema `ProductPrice` in response with status code 200 + + +### PosCart + + + +#### getCart + +- ##### What's New + - [Added] `query` parameter `c` (type: `boolean`) + + + +## Platform Client + + + +### Cart + + + +#### getAbandonedCartDetails + +- ##### What's New + - [Added] `query` parameter `c` (type: `boolean`) + + + +### Catalog + + + +#### getAppReturnConfiguration + +- ##### What's New + - [Added] method `getAppReturnConfiguration` + + + +#### createAppReturnConfiguration + +- ##### What's New + - [Added] method `createAppReturnConfiguration` + + + +#### updateAppReturnConfiguration + +- ##### What's New + - [Added] method `updateAppReturnConfiguration` + + + +#### deleteAppCategoryReturnConfiguration + +- ##### What's New + - [Added] method `deleteAppCategoryReturnConfiguration` + + + +#### getAppCategoryReturnConfig + +- ##### What's New + - [Added] method `getAppCategoryReturnConfig` + + + +#### createAppCategoryReturnConfiguration + +- ##### What's New + - [Added] method `createAppCategoryReturnConfiguration` + + + +#### updateAppCategoryReturnConfiguration + +- ##### What's New + - [Added] method `updateAppCategoryReturnConfiguration` + + + +### Communication + + + +#### sendOtp + +- ##### What's New + - [Added] property `email.provider` of schema `SendOtpCommsReqEmail` in request body + + +### Order + + + +#### createOrder + +- ##### What's New + - [Added] property `userInfo.primaryEmail` of schema `UserInfo` in request body + - [Added] property `userInfo.primaryMobileNumber` of schema `UserInfo` in request body + +- ##### What's Deprecated + - [Breaking] [Deleted] property `userInfo.email` of schema `UserInfo` in request body + - [Breaking] [Deleted] property `userInfo.mobile` of schema `UserInfo` in request body + +- ##### What's Changed + - [Breaking] [Changed] Required status of property `userInfo.email` in request body + - [Breaking] [Changed] Required status of property `userInfo.mobile` in request body + + +#### getShipments + +- ##### What's Deprecated + - [Deleted] properties `items[].meta.formatted`, `items[].meta.sla`, `items[].meta.tags`, `items[].meta.external`, `items[].meta.timestamp`, `items[].meta.weight`, `items[].meta.sameStoreAvailable`, `items[].meta.isSelfShip`, `items[].meta.isInternational`, `items[].meta.debugInfo`, `items[].meta.shipmentChargeableWeight`, `items[].meta.pdfMedia`, `items[].meta.existingDpList`, `items[].meta.parentDpId`, `items[].meta.shipmentWeight`, `items[].meta.dpOptions`, `items[].meta.assignDpFromSb`, `items[].meta.shippingZone`, `items[].meta.storeInvoiceUpdatedDate`, `items[].meta.activityComment`, `items[].meta.fulfilmentPriorityText`, `items[].meta.shipmentTags`, `items[].meta.ewaybillInfo`, `items[].meta.lockData`, `items[].meta.orderType`, `items[].meta.shipmentVolumetricWeight`, `items[].meta.dpSortKey`, `items[].meta.packagingName`, `items[].meta.autoTriggerDpAssignmentAcf`, `items[].meta.bagWeight` in response with status code 200 + - [Deleted] Required status from property `items[].meta.auto_trigger_dp_assignment_acf` in response with status code 200 + + +#### getShipmentById + +- ##### What's New + - [Added] property `shipments[].invoice.links` of schema `InvoiceInfo` in response with status code 200 + +- ##### What's Deprecated + - [Deleted] properties `shipments[].bags[].meta.giftCard`, `shipments[].bags[].meta.customMessage`, `shipments[].bags[].meta.docketNumber`, `shipments[].bags[].meta.groupId`, `shipments[].bags[].meta.partialCanRet`, `shipments[].bags[].meta.extraMeta`, `shipments[].bags[].meta.b2BPoDetails`, `shipments[].bags[].meta.customJson` in response with status code 200 + + +#### getOrderById + +- ##### What's New + - [Added] property `shipments[].invoice.links` of schema `InvoiceInfo` in response with status code 200 + +- ##### What's Deprecated + - [Deleted] properties `order.meta.comment`, `order.meta.files`, `order.meta.staff`, `order.meta.platformUserDetails`, `order.meta.companyLogo`, `order.meta.currencySymbol`, `order.meta.extraMeta`, `order.meta.transactionData`, `order.meta.billingStaffDetails`, `order.meta.orderingStore`, `order.meta.paymentType`, `order.meta.mongoCartId`, `order.meta.orderChildEntities`, `order.meta.orderType`, `order.meta.orderPlatform`, `order.meta.employeeId`, `order.meta.orderTags`, `order.meta.customerNote`, `order.meta.cartId`, `order.meta.cartObjectId` in response with status code 200 + - [Deleted] properties `shipments[].bags[].meta.giftCard`, `shipments[].bags[].meta.customMessage`, `shipments[].bags[].meta.docketNumber`, `shipments[].bags[].meta.groupId`, `shipments[].bags[].meta.partialCanRet`, `shipments[].bags[].meta.extraMeta`, `shipments[].bags[].meta.b2BPoDetails`, `shipments[].bags[].meta.customJson` in response with status code 200 + + +#### getOrders + +- ##### What's New + - [Added] property `items[].shipments[].invoice.links` of schema `InvoiceInfo` in response with status code 200 + +- ##### What's Deprecated + - [Deleted] properties `items[].shipments[].bags[].meta.giftCard`, `items[].shipments[].bags[].meta.customMessage`, `items[].shipments[].bags[].meta.docketNumber`, `items[].shipments[].bags[].meta.groupId`, `items[].shipments[].bags[].meta.partialCanRet`, `items[].shipments[].bags[].meta.extraMeta`, `items[].shipments[].bags[].meta.b2BPoDetails`, `items[].shipments[].bags[].meta.customJson` in response with status code 200 + + +#### getShipmentBagReasons + +- ##### What's New + - [Added] method `getShipmentBagReasons` + + + +#### getApplicationShipments + +- ##### What's New + - [Added] method `getApplicationShipments` + + + +# CHANGE LOG (1.3.6) - fp-v1.8.5 ## Application Client @@ -212,6 +1044,16 @@ +### Communication + + + +#### sendOtp + +- ##### What's New + - [Added] property `email.provider` of schema `SendOtpCommsReqEmail` in request body + + ### Order @@ -273,6 +1115,13 @@ +#### getApplicationShipments + +- ##### What's New + - [Added] method `getApplicationShipments` + + + # CHANGE LOG (1.3.5) - fp-v1.8.4 ## Application Client diff --git a/FDKClient.podspec b/FDKClient.podspec index 9a6ec8ac09..7024f91e9e 100644 --- a/FDKClient.podspec +++ b/FDKClient.podspec @@ -5,7 +5,7 @@ Pod::Spec.new do |s| s.name = 'FDKClient' - s.version = '1.3.6-beta.2' + s.version = '1.3.9-beta.1' s.summary = 'FDK Client SDK for Swift language' s.description = 'FDK Client SDK for Swift language that can be used to make Apps or extensions.' diff --git a/Sources/code/application/ApplicationAPIClient.swift b/Sources/code/application/ApplicationAPIClient.swift index cadcdabd4f..b366662f2f 100644 --- a/Sources/code/application/ApplicationAPIClient.swift +++ b/Sources/code/application/ApplicationAPIClient.swift @@ -13,7 +13,7 @@ class ApplicationAPIClient { var headers = [ (key: "Authorization", value: "Bearer " + "\(config.applicationId):\(config.applicationToken)".asBase64) ] - headers.append((key: "x-fp-sdk-version", value: "1.3.6-beta.2")) + headers.append((key: "x-fp-sdk-version", value: "1.3.9-beta.1")) headers.append(contentsOf: extraHeaders) headers.append(contentsOf: config.extraHeaders) if let userAgent = config.userAgent { diff --git a/Sources/code/application/Client/CartApplicationClient.swift b/Sources/code/application/Client/CartApplicationClient.swift index 759ffe3cce..afccc02109 100644 --- a/Sources/code/application/Client/CartApplicationClient.swift +++ b/Sources/code/application/Client/CartApplicationClient.swift @@ -86,6 +86,7 @@ extension ApplicationClient { id: String?, i: Bool?, b: Bool?, + c: Bool?, assignCardId: Int?, areaCode: String?, buyNow: Bool?, @@ -116,6 +117,13 @@ if let value = b { } +if let value = c { + + xQuery["c"] = value + +} + + if let value = assignCardId { xQuery["assign_card_id"] = value diff --git a/Sources/code/application/Client/CatalogApplicationClient.swift b/Sources/code/application/Client/CatalogApplicationClient.swift index 4fe6a3b2c5..1321429a3a 100644 --- a/Sources/code/application/Client/CatalogApplicationClient.swift +++ b/Sources/code/application/Client/CatalogApplicationClient.swift @@ -2084,6 +2084,7 @@ if let value = collectionType { range: Int?, latitude: Double?, longitude: Double?, + tags: String?, onResponse: @escaping (_ response: StoreListingResponse?, _ error: FDKError?) -> Void ) { @@ -2139,6 +2140,13 @@ if let value = longitude { } +if let value = tags { + + xQuery["tags"] = value + +} + + @@ -2203,6 +2211,10 @@ if let value = longitude { + + + + @@ -2219,7 +2231,8 @@ if let value = longitude { city: String?, range: Int?, latitude: Double?, - longitude: Double? + longitude: Double?, + tags: String? ) -> Paginator { let pageSize = pageSize ?? 20 @@ -2235,7 +2248,8 @@ if let value = longitude { city: city, range: range, latitude: latitude, - longitude: longitude + longitude: longitude, + tags: tags ) { response, error in if let response = response { paginator.hasNext = response.page.hasNext ?? false diff --git a/Sources/code/application/Client/PosCartApplicationClient.swift b/Sources/code/application/Client/PosCartApplicationClient.swift index 52f067efe5..bc169380db 100644 --- a/Sources/code/application/Client/PosCartApplicationClient.swift +++ b/Sources/code/application/Client/PosCartApplicationClient.swift @@ -84,6 +84,7 @@ extension ApplicationClient { id: String?, i: Bool?, b: Bool?, + c: Bool?, assignCardId: Int?, areaCode: String?, buyNow: Bool?, @@ -114,6 +115,13 @@ if let value = b { } +if let value = c { + + xQuery["c"] = value + +} + + if let value = assignCardId { xQuery["assign_card_id"] = value diff --git a/Sources/code/application/Models/Cart/CartCommonConfigCartAppModel.swift b/Sources/code/application/Models/Cart/CartCommonConfigCartAppModel.swift new file mode 100644 index 0000000000..c850c3298a --- /dev/null +++ b/Sources/code/application/Models/Cart/CartCommonConfigCartAppModel.swift @@ -0,0 +1,54 @@ + + +import Foundation +public extension ApplicationClient.Cart { + /* + Model: CartCommonConfig + Used By: Cart + */ + class CartCommonConfig: Codable { + + public var deliveryChargesConfig: DeliveryChargesConfig? + + + public enum CodingKeys: String, CodingKey { + + case deliveryChargesConfig = "delivery_charges_config" + + } + + public init(deliveryChargesConfig: DeliveryChargesConfig? = nil) { + + self.deliveryChargesConfig = deliveryChargesConfig + + } + + required public init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + + + do { + deliveryChargesConfig = try container.decode(DeliveryChargesConfig.self, forKey: .deliveryChargesConfig) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + + + + try? container.encodeIfPresent(deliveryChargesConfig, forKey: .deliveryChargesConfig) + + + } + + } +} diff --git a/Sources/code/application/Models/Cart/CartDetailCouponCartAppModel.swift b/Sources/code/application/Models/Cart/CartDetailCouponCartAppModel.swift new file mode 100644 index 0000000000..9dbe905314 --- /dev/null +++ b/Sources/code/application/Models/Cart/CartDetailCouponCartAppModel.swift @@ -0,0 +1,399 @@ + + +import Foundation +public extension ApplicationClient.Cart { + /* + Model: CartDetailCoupon + Used By: Cart + */ + class CartDetailCoupon: Codable { + + public var cashbackAmount: Double? + + public var cashbackMessagePrimary: String? + + public var cashbackMessageSecondary: String? + + public var couponCode: String? + + public var couponDescription: String? + + public var couponId: String? + + public var couponSubtitle: String? + + public var couponTitle: String? + + public var couponType: String? + + public var couponValue: Double? + + public var discount: Double? + + public var isApplied: Bool? + + public var isValid: Bool? + + public var maximumDiscountValue: Double? + + public var message: String? + + public var minimumCartValue: Double? + + + public enum CodingKeys: String, CodingKey { + + case cashbackAmount = "cashback_amount" + + case cashbackMessagePrimary = "cashback_message_primary" + + case cashbackMessageSecondary = "cashback_message_secondary" + + case couponCode = "coupon_code" + + case couponDescription = "coupon_description" + + case couponId = "coupon_id" + + case couponSubtitle = "coupon_subtitle" + + case couponTitle = "coupon_title" + + case couponType = "coupon_type" + + case couponValue = "coupon_value" + + case discount = "discount" + + case isApplied = "is_applied" + + case isValid = "is_valid" + + case maximumDiscountValue = "maximum_discount_value" + + case message = "message" + + case minimumCartValue = "minimum_cart_value" + + } + + public init(cashbackAmount: Double? = nil, cashbackMessagePrimary: String? = nil, cashbackMessageSecondary: String? = nil, couponCode: String? = nil, couponDescription: String? = nil, couponId: String? = nil, couponSubtitle: String? = nil, couponTitle: String? = nil, couponType: String? = nil, couponValue: Double? = nil, discount: Double? = nil, isApplied: Bool? = nil, isValid: Bool? = nil, maximumDiscountValue: Double? = nil, message: String? = nil, minimumCartValue: Double? = nil) { + + self.cashbackAmount = cashbackAmount + + self.cashbackMessagePrimary = cashbackMessagePrimary + + self.cashbackMessageSecondary = cashbackMessageSecondary + + self.couponCode = couponCode + + self.couponDescription = couponDescription + + self.couponId = couponId + + self.couponSubtitle = couponSubtitle + + self.couponTitle = couponTitle + + self.couponType = couponType + + self.couponValue = couponValue + + self.discount = discount + + self.isApplied = isApplied + + self.isValid = isValid + + self.maximumDiscountValue = maximumDiscountValue + + self.message = message + + self.minimumCartValue = minimumCartValue + + } + + required public init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + + + do { + cashbackAmount = try container.decode(Double.self, forKey: .cashbackAmount) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + cashbackMessagePrimary = try container.decode(String.self, forKey: .cashbackMessagePrimary) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + cashbackMessageSecondary = try container.decode(String.self, forKey: .cashbackMessageSecondary) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + couponCode = try container.decode(String.self, forKey: .couponCode) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + couponDescription = try container.decode(String.self, forKey: .couponDescription) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + couponId = try container.decode(String.self, forKey: .couponId) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + couponSubtitle = try container.decode(String.self, forKey: .couponSubtitle) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + couponTitle = try container.decode(String.self, forKey: .couponTitle) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + couponType = try container.decode(String.self, forKey: .couponType) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + couponValue = try container.decode(Double.self, forKey: .couponValue) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + discount = try container.decode(Double.self, forKey: .discount) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + isApplied = try container.decode(Bool.self, forKey: .isApplied) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + isValid = try container.decode(Bool.self, forKey: .isValid) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + maximumDiscountValue = try container.decode(Double.self, forKey: .maximumDiscountValue) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + message = try container.decode(String.self, forKey: .message) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + minimumCartValue = try container.decode(Double.self, forKey: .minimumCartValue) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + + + + try? container.encodeIfPresent(cashbackAmount, forKey: .cashbackAmount) + + + + + try? container.encodeIfPresent(cashbackMessagePrimary, forKey: .cashbackMessagePrimary) + + + + + try? container.encodeIfPresent(cashbackMessageSecondary, forKey: .cashbackMessageSecondary) + + + + + try? container.encodeIfPresent(couponCode, forKey: .couponCode) + + + + + try? container.encodeIfPresent(couponDescription, forKey: .couponDescription) + + + + + try? container.encodeIfPresent(couponId, forKey: .couponId) + + + + + try? container.encodeIfPresent(couponSubtitle, forKey: .couponSubtitle) + + + + + try? container.encodeIfPresent(couponTitle, forKey: .couponTitle) + + + + + try? container.encodeIfPresent(couponType, forKey: .couponType) + + + + + try? container.encodeIfPresent(couponValue, forKey: .couponValue) + + + + + try? container.encodeIfPresent(discount, forKey: .discount) + + + + + try? container.encodeIfPresent(isApplied, forKey: .isApplied) + + + + + try? container.encodeIfPresent(isValid, forKey: .isValid) + + + + + try? container.encodeIfPresent(maximumDiscountValue, forKey: .maximumDiscountValue) + + + + + try? container.encodeIfPresent(message, forKey: .message) + + + + + try? container.encodeIfPresent(minimumCartValue, forKey: .minimumCartValue) + + + } + + } +} diff --git a/Sources/code/application/Models/Cart/CartDetailResponseCartAppModel.swift b/Sources/code/application/Models/Cart/CartDetailResponseCartAppModel.swift index a5b12178ab..05c3a8c71e 100644 --- a/Sources/code/application/Models/Cart/CartDetailResponseCartAppModel.swift +++ b/Sources/code/application/Models/Cart/CartDetailResponseCartAppModel.swift @@ -8,6 +8,10 @@ public extension ApplicationClient.Cart { */ class CartDetailResponse: Codable { + public var cartId: Int? + + public var uid: String? + public var appliedPromoDetails: [AppliedPromotion]? public var checkoutMode: String? @@ -28,8 +32,18 @@ public extension ApplicationClient.Cart { public var deliveryChargeInfo: String? + public var commonConfig: CartCommonConfig? + + public var coupon: CartDetailCoupon? + public var message: String? + public var notification: [String: Any]? + + public var staffUserId: String? + + public var success: Bool? + public var gstin: String? public var restrictCheckout: Bool? @@ -49,6 +63,10 @@ public extension ApplicationClient.Cart { public enum CodingKeys: String, CodingKey { + case cartId = "cart_id" + + case uid = "uid" + case appliedPromoDetails = "applied_promo_details" case checkoutMode = "checkout_mode" @@ -69,8 +87,18 @@ public extension ApplicationClient.Cart { case deliveryChargeInfo = "delivery_charge_info" + case commonConfig = "common_config" + + case coupon = "coupon" + case message = "message" + case notification = "notification" + + case staffUserId = "staff_user_id" + + case success = "success" + case gstin = "gstin" case restrictCheckout = "restrict_checkout" @@ -89,7 +117,11 @@ public extension ApplicationClient.Cart { } - public init(appliedPromoDetails: [AppliedPromotion]? = nil, breakupValues: CartBreakup? = nil, buyNow: Bool? = nil, checkoutMode: String? = nil, comment: String? = nil, couponText: String? = nil, currency: CartCurrency? = nil, deliveryChargeInfo: String? = nil, deliveryPromise: ShipmentPromise? = nil, gstin: String? = nil, id: String? = nil, isValid: Bool? = nil, items: [CartProductInfo]? = nil, lastModified: String? = nil, message: String? = nil, panConfig: [String: Any]? = nil, panNo: String? = nil, paymentSelectionLock: PaymentSelectionLock? = nil, restrictCheckout: Bool? = nil) { + public init(appliedPromoDetails: [AppliedPromotion]? = nil, breakupValues: CartBreakup? = nil, buyNow: Bool? = nil, cartId: Int? = nil, checkoutMode: String? = nil, comment: String? = nil, commonConfig: CartCommonConfig? = nil, coupon: CartDetailCoupon? = nil, couponText: String? = nil, currency: CartCurrency? = nil, deliveryChargeInfo: String? = nil, deliveryPromise: ShipmentPromise? = nil, gstin: String? = nil, id: String? = nil, isValid: Bool? = nil, items: [CartProductInfo]? = nil, lastModified: String? = nil, message: String? = nil, notification: [String: Any]? = nil, panConfig: [String: Any]? = nil, panNo: String? = nil, paymentSelectionLock: PaymentSelectionLock? = nil, restrictCheckout: Bool? = nil, staffUserId: String? = nil, success: Bool? = nil, uid: String? = nil) { + + self.cartId = cartId + + self.uid = uid self.appliedPromoDetails = appliedPromoDetails @@ -111,8 +143,18 @@ public extension ApplicationClient.Cart { self.deliveryChargeInfo = deliveryChargeInfo + self.commonConfig = commonConfig + + self.coupon = coupon + self.message = message + self.notification = notification + + self.staffUserId = staffUserId + + self.success = success + self.gstin = gstin self.restrictCheckout = restrictCheckout @@ -135,6 +177,30 @@ public extension ApplicationClient.Cart { let container = try decoder.container(keyedBy: CodingKeys.self) + do { + cartId = try container.decode(Int.self, forKey: .cartId) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + uid = try container.decode(String.self, forKey: .uid) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + do { appliedPromoDetails = try container.decode([AppliedPromotion].self, forKey: .appliedPromoDetails) @@ -255,6 +321,30 @@ public extension ApplicationClient.Cart { + do { + commonConfig = try container.decode(CartCommonConfig.self, forKey: .commonConfig) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + coupon = try container.decode(CartDetailCoupon.self, forKey: .coupon) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + do { message = try container.decode(String.self, forKey: .message) @@ -267,6 +357,42 @@ public extension ApplicationClient.Cart { + do { + notification = try container.decode([String: Any].self, forKey: .notification) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + staffUserId = try container.decode(String.self, forKey: .staffUserId) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + success = try container.decode(Bool.self, forKey: .success) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + do { gstin = try container.decode(String.self, forKey: .gstin) @@ -369,6 +495,16 @@ public extension ApplicationClient.Cart { + try? container.encodeIfPresent(cartId, forKey: .cartId) + + + + + try? container.encodeIfPresent(uid, forKey: .uid) + + + + try? container.encodeIfPresent(appliedPromoDetails, forKey: .appliedPromoDetails) @@ -419,11 +555,36 @@ public extension ApplicationClient.Cart { + try? container.encodeIfPresent(commonConfig, forKey: .commonConfig) + + + + + try? container.encodeIfPresent(coupon, forKey: .coupon) + + + + try? container.encodeIfPresent(message, forKey: .message) + try? container.encodeIfPresent(notification, forKey: .notification) + + + + + try? container.encodeIfPresent(staffUserId, forKey: .staffUserId) + + + + + try? container.encodeIfPresent(success, forKey: .success) + + + + try? container.encodeIfPresent(gstin, forKey: .gstin) diff --git a/Sources/code/application/Models/Cart/ChargesThresholdCartAppModel.swift b/Sources/code/application/Models/Cart/ChargesThresholdCartAppModel.swift new file mode 100644 index 0000000000..e22fd89547 --- /dev/null +++ b/Sources/code/application/Models/Cart/ChargesThresholdCartAppModel.swift @@ -0,0 +1,77 @@ + + +import Foundation +public extension ApplicationClient.Cart { + /* + Model: ChargesThreshold + Used By: Cart + */ + class ChargesThreshold: Codable { + + public var charges: Double? + + public var threshold: Double? + + + public enum CodingKeys: String, CodingKey { + + case charges = "charges" + + case threshold = "threshold" + + } + + public init(charges: Double? = nil, threshold: Double? = nil) { + + self.charges = charges + + self.threshold = threshold + + } + + required public init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + + + do { + charges = try container.decode(Double.self, forKey: .charges) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + threshold = try container.decode(Double.self, forKey: .threshold) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + + + + try? container.encodeIfPresent(charges, forKey: .charges) + + + + + try? container.encodeIfPresent(threshold, forKey: .threshold) + + + } + + } +} diff --git a/Sources/code/application/Models/Cart/DeliveryChargesConfigCartAppModel.swift b/Sources/code/application/Models/Cart/DeliveryChargesConfigCartAppModel.swift new file mode 100644 index 0000000000..f4645e155d --- /dev/null +++ b/Sources/code/application/Models/Cart/DeliveryChargesConfigCartAppModel.swift @@ -0,0 +1,77 @@ + + +import Foundation +public extension ApplicationClient.Cart { + /* + Model: DeliveryChargesConfig + Used By: Cart + */ + class DeliveryChargesConfig: Codable { + + public var enabled: Bool? + + public var charges: [ChargesThreshold]? + + + public enum CodingKeys: String, CodingKey { + + case enabled = "enabled" + + case charges = "charges" + + } + + public init(charges: [ChargesThreshold]? = nil, enabled: Bool? = nil) { + + self.enabled = enabled + + self.charges = charges + + } + + required public init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + + + do { + enabled = try container.decode(Bool.self, forKey: .enabled) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + charges = try container.decode([ChargesThreshold].self, forKey: .charges) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + + + + try? container.encodeIfPresent(enabled, forKey: .enabled) + + + + + try? container.encodeIfPresent(charges, forKey: .charges) + + + } + + } +} diff --git a/Sources/code/application/Models/Catalog/StoreCatalogAppModel.swift b/Sources/code/application/Models/Catalog/StoreCatalogAppModel.swift index d27e1708ed..65de0ef1fb 100644 --- a/Sources/code/application/Models/Catalog/StoreCatalogAppModel.swift +++ b/Sources/code/application/Models/Catalog/StoreCatalogAppModel.swift @@ -28,6 +28,8 @@ public extension ApplicationClient.Catalog { public var name: String? + public var tags: [String]? + public enum CodingKeys: String, CodingKey { @@ -51,9 +53,11 @@ public extension ApplicationClient.Catalog { case name = "name" + case tags = "tags" + } - public init(address: String? = nil, city: String? = nil, country: String? = nil, latLong: LatLong? = nil, name: String? = nil, pincode: Int? = nil, state: String? = nil, storeCode: String? = nil, storeEmail: String? = nil, uid: Int? = nil) { + public init(address: String? = nil, city: String? = nil, country: String? = nil, latLong: LatLong? = nil, name: String? = nil, pincode: Int? = nil, state: String? = nil, storeCode: String? = nil, storeEmail: String? = nil, tags: [String]? = nil, uid: Int? = nil) { self.uid = uid @@ -75,6 +79,8 @@ public extension ApplicationClient.Catalog { self.name = name + self.tags = tags + } required public init(from decoder: Decoder) throws { @@ -200,6 +206,18 @@ public extension ApplicationClient.Catalog { } + + do { + tags = try container.decode([String].self, forKey: .tags) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + } public func encode(to encoder: Encoder) throws { @@ -255,6 +273,11 @@ public extension ApplicationClient.Catalog { try? container.encodeIfPresent(name, forKey: .name) + + + try? container.encodeIfPresent(tags, forKey: .tags) + + } } diff --git a/Sources/code/platform/Client/OrderPlatformClient.swift b/Sources/code/platform/Client/OrderPlatformClient.swift index bd6b1164fe..815a2b8337 100644 --- a/Sources/code/platform/Client/OrderPlatformClient.swift +++ b/Sources/code/platform/Client/OrderPlatformClient.swift @@ -1697,55 +1697,6 @@ if let value = pageSize { - /** - * - * Summary: Get reasons behind full or partial cancellation of a shipment - * Description: Use this API to retrieve the issues that led to the cancellation of bags within a shipment. - **/ - public func getShipmentBagReasons( - shipmentId: String, - lineNumber: Int, - - onResponse: @escaping (_ response: ShipmentBagReasons?, _ error: FDKError?) -> Void - ) { - - - - - - - PlatformAPIClient.execute( - config: config, - method: "GET", - url: "/service/platform/order/v1.0/company/\(companyId)/application//orders/shipments//line_number//reasons", - query: nil, - body: nil, - headers: [], - responseType: "application/json", - onResponse: { (responseData, error, responseCode) in - if let _ = error, let data = responseData { - var err = Utility.decode(FDKError.self, from: data) - if err?.status == nil { - err?.status = responseCode - } - onResponse(nil, err) - } else if let data = responseData { - - let response = Utility.decode(ShipmentBagReasons.self, from: data) - - onResponse(response, nil) - } else { - let userInfo: [String: Any] = [ NSLocalizedDescriptionKey : NSLocalizedString("Unidentified", value: "Please try after sometime", comment: "") , - NSLocalizedFailureReasonErrorKey : NSLocalizedString("Unidentified", value: "Something went wrong", comment: "")] - let err = FDKError(message: "Something went wrong", status: 502, code: "Unidentified", exception: nil, info: "Please try after sometime", requestID: nil, stackTrace: nil, meta: userInfo) - onResponse(nil, err) - } - }); - } - - - - /** * @@ -1767,6 +1718,7 @@ if let value = pageSize { pageNo: Int?, pageSize: Int?, fetchActiveShipment: Bool?, + allowInactive: Bool?, excludeLockedShipments: Bool?, paymentMethods: String?, channelShipmentId: String?, @@ -1885,6 +1837,13 @@ if let value = fetchActiveShipment { } +if let value = allowInactive { + + xQuery["allow_inactive"] = value + +} + + if let value = excludeLockedShipments { xQuery["exclude_locked_shipments"] = value @@ -2187,6 +2146,12 @@ if let value = orderType { + + + + + + @@ -2213,6 +2178,7 @@ if let value = orderType { salesChannels: String?, pageSize: Int?, fetchActiveShipment: Bool?, + allowInactive: Bool?, excludeLockedShipments: Bool?, paymentMethods: String?, channelShipmentId: String?, @@ -2250,6 +2216,7 @@ if let value = orderType { pageSize: paginator.pageSize , fetchActiveShipment: fetchActiveShipment, + allowInactive: allowInactive, excludeLockedShipments: excludeLockedShipments, paymentMethods: paymentMethods, channelShipmentId: channelShipmentId, @@ -2992,6 +2959,7 @@ if let value = orderType { + /** * * Summary: diff --git a/Sources/code/platform/Models/Catalog/CollectionCreateResponseCatalogPlatformModel.swift b/Sources/code/platform/Models/Catalog/CollectionCreateResponseCatalogPlatformModel.swift index c2213f3e79..7b1e74dc4c 100644 --- a/Sources/code/platform/Models/Catalog/CollectionCreateResponseCatalogPlatformModel.swift +++ b/Sources/code/platform/Models/Catalog/CollectionCreateResponseCatalogPlatformModel.swift @@ -12,6 +12,8 @@ public extension PlatformClient.Catalog { class CollectionCreateResponse: Codable { + public var uid: String? + public var schedule: [String: Any]? public var allowFacets: Bool? @@ -53,6 +55,8 @@ public extension PlatformClient.Catalog { public enum CodingKeys: String, CodingKey { + case uid = "uid" + case schedule = "_schedule" case allowFacets = "allow_facets" @@ -93,7 +97,9 @@ public extension PlatformClient.Catalog { } - public init(allowFacets: Bool? = nil, allowSort: Bool? = nil, appId: String? = nil, badge: [String: Any]? = nil, banners: ImageUrls? = nil, cron: [String: Any]? = nil, description: String? = nil, isActive: Bool? = nil, logo: BannerImage? = nil, meta: [String: Any]? = nil, name: String? = nil, priority: Int? = nil, query: [CollectionQuery]? = nil, slug: String? = nil, sortOn: String? = nil, tag: [String]? = nil, type: String? = nil, visibleFacetsKeys: [String]? = nil, schedule: [String: Any]? = nil) { + public init(allowFacets: Bool? = nil, allowSort: Bool? = nil, appId: String? = nil, badge: [String: Any]? = nil, banners: ImageUrls? = nil, cron: [String: Any]? = nil, description: String? = nil, isActive: Bool? = nil, logo: BannerImage? = nil, meta: [String: Any]? = nil, name: String? = nil, priority: Int? = nil, query: [CollectionQuery]? = nil, slug: String? = nil, sortOn: String? = nil, tag: [String]? = nil, type: String? = nil, uid: String? = nil, visibleFacetsKeys: [String]? = nil, schedule: [String: Any]? = nil) { + + self.uid = uid self.schedule = schedule @@ -139,6 +145,18 @@ public extension PlatformClient.Catalog { let container = try decoder.container(keyedBy: CodingKeys.self) + do { + uid = try container.decode(String.self, forKey: .uid) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + do { schedule = try container.decode([String: Any].self, forKey: .schedule) @@ -373,6 +391,11 @@ public extension PlatformClient.Catalog { + try? container.encodeIfPresent(uid, forKey: .uid) + + + + try? container.encodeIfPresent(schedule, forKey: .schedule) @@ -482,6 +505,8 @@ public extension PlatformClient.ApplicationClient.Catalog { class CollectionCreateResponse: Codable { + public var uid: String? + public var schedule: [String: Any]? public var allowFacets: Bool? @@ -523,6 +548,8 @@ public extension PlatformClient.ApplicationClient.Catalog { public enum CodingKeys: String, CodingKey { + case uid = "uid" + case schedule = "_schedule" case allowFacets = "allow_facets" @@ -563,7 +590,9 @@ public extension PlatformClient.ApplicationClient.Catalog { } - public init(allowFacets: Bool? = nil, allowSort: Bool? = nil, appId: String? = nil, badge: [String: Any]? = nil, banners: ImageUrls? = nil, cron: [String: Any]? = nil, description: String? = nil, isActive: Bool? = nil, logo: BannerImage? = nil, meta: [String: Any]? = nil, name: String? = nil, priority: Int? = nil, query: [CollectionQuery]? = nil, slug: String? = nil, sortOn: String? = nil, tag: [String]? = nil, type: String? = nil, visibleFacetsKeys: [String]? = nil, schedule: [String: Any]? = nil) { + public init(allowFacets: Bool? = nil, allowSort: Bool? = nil, appId: String? = nil, badge: [String: Any]? = nil, banners: ImageUrls? = nil, cron: [String: Any]? = nil, description: String? = nil, isActive: Bool? = nil, logo: BannerImage? = nil, meta: [String: Any]? = nil, name: String? = nil, priority: Int? = nil, query: [CollectionQuery]? = nil, slug: String? = nil, sortOn: String? = nil, tag: [String]? = nil, type: String? = nil, uid: String? = nil, visibleFacetsKeys: [String]? = nil, schedule: [String: Any]? = nil) { + + self.uid = uid self.schedule = schedule @@ -609,6 +638,18 @@ public extension PlatformClient.ApplicationClient.Catalog { let container = try decoder.container(keyedBy: CodingKeys.self) + do { + uid = try container.decode(String.self, forKey: .uid) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + do { schedule = try container.decode([String: Any].self, forKey: .schedule) @@ -843,6 +884,11 @@ public extension PlatformClient.ApplicationClient.Catalog { + try? container.encodeIfPresent(uid, forKey: .uid) + + + + try? container.encodeIfPresent(schedule, forKey: .schedule) diff --git a/Sources/code/platform/Models/Communication/SendOtpCommsReqEmailCommunicationPlatformModel.swift b/Sources/code/platform/Models/Communication/SendOtpCommsReqEmailCommunicationPlatformModel.swift index e2bb4fcb16..8c097619cc 100644 --- a/Sources/code/platform/Models/Communication/SendOtpCommsReqEmailCommunicationPlatformModel.swift +++ b/Sources/code/platform/Models/Communication/SendOtpCommsReqEmailCommunicationPlatformModel.swift @@ -18,6 +18,8 @@ public extension PlatformClient.Communication { public var template: SendOtpEmailCommsTemplate? + public var provider: SendOtpEmailCommsProvider? + public enum CodingKeys: String, CodingKey { @@ -27,9 +29,11 @@ public extension PlatformClient.Communication { case template = "template" + case provider = "provider" + } - public init(expiry: Int? = nil, otpLength: Int? = nil, template: SendOtpEmailCommsTemplate? = nil) { + public init(expiry: Int? = nil, otpLength: Int? = nil, provider: SendOtpEmailCommsProvider? = nil, template: SendOtpEmailCommsTemplate? = nil) { self.otpLength = otpLength @@ -37,6 +41,8 @@ public extension PlatformClient.Communication { self.template = template + self.provider = provider + } required public init(from decoder: Decoder) throws { @@ -78,6 +84,18 @@ public extension PlatformClient.Communication { } + + do { + provider = try container.decode(SendOtpEmailCommsProvider.self, forKey: .provider) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + } public func encode(to encoder: Encoder) throws { @@ -98,6 +116,11 @@ public extension PlatformClient.Communication { try? container.encodeIfPresent(template, forKey: .template) + + + try? container.encodeIfPresent(provider, forKey: .provider) + + } } @@ -120,6 +143,8 @@ public extension PlatformClient.ApplicationClient.Communication { public var template: SendOtpEmailCommsTemplate? + public var provider: SendOtpEmailCommsProvider? + public enum CodingKeys: String, CodingKey { @@ -129,9 +154,11 @@ public extension PlatformClient.ApplicationClient.Communication { case template = "template" + case provider = "provider" + } - public init(expiry: Int? = nil, otpLength: Int? = nil, template: SendOtpEmailCommsTemplate? = nil) { + public init(expiry: Int? = nil, otpLength: Int? = nil, provider: SendOtpEmailCommsProvider? = nil, template: SendOtpEmailCommsTemplate? = nil) { self.otpLength = otpLength @@ -139,6 +166,8 @@ public extension PlatformClient.ApplicationClient.Communication { self.template = template + self.provider = provider + } required public init(from decoder: Decoder) throws { @@ -180,6 +209,18 @@ public extension PlatformClient.ApplicationClient.Communication { } + + do { + provider = try container.decode(SendOtpEmailCommsProvider.self, forKey: .provider) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + } public func encode(to encoder: Encoder) throws { @@ -200,6 +241,11 @@ public extension PlatformClient.ApplicationClient.Communication { try? container.encodeIfPresent(template, forKey: .template) + + + try? container.encodeIfPresent(provider, forKey: .provider) + + } } diff --git a/Sources/code/platform/Models/Communication/SendOtpEmailCommsProviderCommunicationPlatformModel.swift b/Sources/code/platform/Models/Communication/SendOtpEmailCommsProviderCommunicationPlatformModel.swift new file mode 100644 index 0000000000..1283a74604 --- /dev/null +++ b/Sources/code/platform/Models/Communication/SendOtpEmailCommsProviderCommunicationPlatformModel.swift @@ -0,0 +1,162 @@ + + +import Foundation + + +public extension PlatformClient.Communication { + /* + Model: SendOtpEmailCommsProvider + Used By: Communication + */ + + class SendOtpEmailCommsProvider: Codable { + + + public var slug: String? + + public var id: String? + + + public enum CodingKeys: String, CodingKey { + + case slug = "slug" + + case id = "_id" + + } + + public init(slug: String? = nil, id: String? = nil) { + + self.slug = slug + + self.id = id + + } + + required public init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + + + do { + slug = try container.decode(String.self, forKey: .slug) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + id = try container.decode(String.self, forKey: .id) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + + + + try? container.encodeIfPresent(slug, forKey: .slug) + + + + + try? container.encodeIfPresent(id, forKey: .id) + + + } + + } +} + + + +public extension PlatformClient.ApplicationClient.Communication { + /* + Model: SendOtpEmailCommsProvider + Used By: Communication + */ + + class SendOtpEmailCommsProvider: Codable { + + + public var slug: String? + + public var id: String? + + + public enum CodingKeys: String, CodingKey { + + case slug = "slug" + + case id = "_id" + + } + + public init(slug: String? = nil, id: String? = nil) { + + self.slug = slug + + self.id = id + + } + + required public init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + + + do { + slug = try container.decode(String.self, forKey: .slug) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + id = try container.decode(String.self, forKey: .id) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + + + + try? container.encodeIfPresent(slug, forKey: .slug) + + + + + try? container.encodeIfPresent(id, forKey: .id) + + + } + + } +} + + diff --git a/Sources/code/platform/Models/Order/AffiliateMetaOrderPlatformModel.swift b/Sources/code/platform/Models/Order/AffiliateMetaOrderPlatformModel.swift index a5062d7b2e..3986379454 100644 --- a/Sources/code/platform/Models/Order/AffiliateMetaOrderPlatformModel.swift +++ b/Sources/code/platform/Models/Order/AffiliateMetaOrderPlatformModel.swift @@ -38,6 +38,12 @@ public extension PlatformClient.Order { public var isPriority: Bool? + public var isSerialNumberRequired: Bool? + + public var fulfilmentPriority: Int? + + public var customerSellingPrice: Double? + public enum CodingKeys: String, CodingKey { @@ -67,9 +73,15 @@ public extension PlatformClient.Order { case isPriority = "is_priority" + case isSerialNumberRequired = "is_serial_number_required" + + case fulfilmentPriority = "fulfilment_priority" + + case customerSellingPrice = "customer_selling_price" + } - public init(boxType: String? = nil, channelOrderId: String? = nil, channelShipmentId: String? = nil, couponCode: String? = nil, dueDate: String? = nil, employeeDiscount: Double? = nil, isPriority: Bool? = nil, loyaltyDiscount: Double? = nil, marketplaceInvoiceId: String? = nil, orderItemId: String? = nil, quantity: Int? = nil, replacementDetails: ReplacementDetails? = nil, sizeLevelTotalQty: Int? = nil) { + public init(boxType: String? = nil, channelOrderId: String? = nil, channelShipmentId: String? = nil, couponCode: String? = nil, customerSellingPrice: Double? = nil, dueDate: String? = nil, employeeDiscount: Double? = nil, fulfilmentPriority: Int? = nil, isPriority: Bool? = nil, isSerialNumberRequired: Bool? = nil, loyaltyDiscount: Double? = nil, marketplaceInvoiceId: String? = nil, orderItemId: String? = nil, quantity: Int? = nil, replacementDetails: ReplacementDetails? = nil, sizeLevelTotalQty: Int? = nil) { self.orderItemId = orderItemId @@ -97,6 +109,12 @@ public extension PlatformClient.Order { self.isPriority = isPriority + self.isSerialNumberRequired = isSerialNumberRequired + + self.fulfilmentPriority = fulfilmentPriority + + self.customerSellingPrice = customerSellingPrice + } required public init(from decoder: Decoder) throws { @@ -258,6 +276,42 @@ public extension PlatformClient.Order { } + + do { + isSerialNumberRequired = try container.decode(Bool.self, forKey: .isSerialNumberRequired) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + fulfilmentPriority = try container.decode(Int.self, forKey: .fulfilmentPriority) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + customerSellingPrice = try container.decode(Double.self, forKey: .customerSellingPrice) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + } public func encode(to encoder: Encoder) throws { @@ -328,6 +382,21 @@ public extension PlatformClient.Order { try? container.encode(isPriority, forKey: .isPriority) + + + try? container.encode(isSerialNumberRequired, forKey: .isSerialNumberRequired) + + + + + try? container.encode(fulfilmentPriority, forKey: .fulfilmentPriority) + + + + + try? container.encode(customerSellingPrice, forKey: .customerSellingPrice) + + } } @@ -370,6 +439,12 @@ public extension PlatformClient.ApplicationClient.Order { public var isPriority: Bool? + public var isSerialNumberRequired: Bool? + + public var fulfilmentPriority: Int? + + public var customerSellingPrice: Double? + public enum CodingKeys: String, CodingKey { @@ -399,9 +474,15 @@ public extension PlatformClient.ApplicationClient.Order { case isPriority = "is_priority" + case isSerialNumberRequired = "is_serial_number_required" + + case fulfilmentPriority = "fulfilment_priority" + + case customerSellingPrice = "customer_selling_price" + } - public init(boxType: String? = nil, channelOrderId: String? = nil, channelShipmentId: String? = nil, couponCode: String? = nil, dueDate: String? = nil, employeeDiscount: Double? = nil, isPriority: Bool? = nil, loyaltyDiscount: Double? = nil, marketplaceInvoiceId: String? = nil, orderItemId: String? = nil, quantity: Int? = nil, replacementDetails: ReplacementDetails? = nil, sizeLevelTotalQty: Int? = nil) { + public init(boxType: String? = nil, channelOrderId: String? = nil, channelShipmentId: String? = nil, couponCode: String? = nil, customerSellingPrice: Double? = nil, dueDate: String? = nil, employeeDiscount: Double? = nil, fulfilmentPriority: Int? = nil, isPriority: Bool? = nil, isSerialNumberRequired: Bool? = nil, loyaltyDiscount: Double? = nil, marketplaceInvoiceId: String? = nil, orderItemId: String? = nil, quantity: Int? = nil, replacementDetails: ReplacementDetails? = nil, sizeLevelTotalQty: Int? = nil) { self.orderItemId = orderItemId @@ -429,6 +510,12 @@ public extension PlatformClient.ApplicationClient.Order { self.isPriority = isPriority + self.isSerialNumberRequired = isSerialNumberRequired + + self.fulfilmentPriority = fulfilmentPriority + + self.customerSellingPrice = customerSellingPrice + } required public init(from decoder: Decoder) throws { @@ -590,6 +677,42 @@ public extension PlatformClient.ApplicationClient.Order { } + + do { + isSerialNumberRequired = try container.decode(Bool.self, forKey: .isSerialNumberRequired) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + fulfilmentPriority = try container.decode(Int.self, forKey: .fulfilmentPriority) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + + + do { + customerSellingPrice = try container.decode(Double.self, forKey: .customerSellingPrice) + + } catch DecodingError.typeMismatch(let type, let context) { + print("Type '\(type)' mismatch:", context.debugDescription) + print("codingPath:", context.codingPath) + } catch { + + } + + } public func encode(to encoder: Encoder) throws { @@ -660,6 +783,21 @@ public extension PlatformClient.ApplicationClient.Order { try? container.encode(isPriority, forKey: .isPriority) + + + try? container.encode(isSerialNumberRequired, forKey: .isSerialNumberRequired) + + + + + try? container.encode(fulfilmentPriority, forKey: .fulfilmentPriority) + + + + + try? container.encode(customerSellingPrice, forKey: .customerSellingPrice) + + } } diff --git a/Sources/code/platform/PlatformAPIClient.swift b/Sources/code/platform/PlatformAPIClient.swift index 35aea52e3e..48d1a70ee9 100644 --- a/Sources/code/platform/PlatformAPIClient.swift +++ b/Sources/code/platform/PlatformAPIClient.swift @@ -13,7 +13,7 @@ public class PlatformAPIClient { if let token = token { var finalHeaders = headers finalHeaders.append((key: "Authorization", value: "Bearer " + token.accessToken)) - finalHeaders.append((key: "x-fp-sdk-version", value: "1.3.6-beta.2")) + finalHeaders.append((key: "x-fp-sdk-version", value: "1.3.9-beta.1")) finalHeaders.append(contentsOf: config.extraHeaders) if let userAgent = config.userAgent { finalHeaders.append((key: "User-Agent", value: userAgent)) diff --git a/Sources/code/platform/PlatformClient.swift b/Sources/code/platform/PlatformClient.swift index e877a0b760..e4e65b801a 100644 --- a/Sources/code/platform/PlatformClient.swift +++ b/Sources/code/platform/PlatformClient.swift @@ -1694,6 +1694,7 @@ if let value = sortOn { id: String?, i: Bool?, b: Bool?, + c: Bool?, onResponse: @escaping (_ response: CartDetailResponse?, _ error: FDKError?) -> Void ) { @@ -1721,6 +1722,13 @@ if let value = b { } +if let value = c { + + xQuery["c"] = value + +} + + @@ -19326,12 +19334,229 @@ if let value = category { + /** + * + * Summary: Get reasons behind full or partial cancellation of a shipment + * Description: Use this API to retrieve the issues that led to the cancellation of bags within a shipment. + **/ + public func getShipmentBagReasons( + shipmentId: String, + lineNumber: Int, + + onResponse: @escaping (_ response: ShipmentBagReasons?, _ error: FDKError?) -> Void + ) { + + + + + + + PlatformAPIClient.execute( + config: config, + method: "GET", + url: "/service/platform/order/v1.0/company/\(companyId)/application/\(applicationId)/orders/shipments/\(shipmentId)/lineNumber/\(lineNumber)/reasons", + query: nil, + body: nil, + headers: [], + responseType: "application/json", + onResponse: { (responseData, error, responseCode) in + if let _ = error, let data = responseData { + var err = Utility.decode(FDKError.self, from: data) + if err?.status == nil { + err?.status = responseCode + } + onResponse(nil, err) + } else if let data = responseData { + + let response = Utility.decode(ShipmentBagReasons.self, from: data) + + onResponse(response, nil) + } else { + let userInfo: [String: Any] = [ NSLocalizedDescriptionKey : NSLocalizedString("Unidentified", value: "Please try after sometime", comment: "") , + NSLocalizedFailureReasonErrorKey : NSLocalizedString("Unidentified", value: "Something went wrong", comment: "")] + let err = FDKError(message: "Something went wrong", status: 502, code: "Unidentified", exception: nil, info: "Please try after sometime", requestID: nil, stackTrace: nil, meta: userInfo) + onResponse(nil, err) + } + }); + } + + + + + /** + * + * Summary: + * Description: + **/ + public func getApplicationShipments( + lane: String?, + searchType: String?, + searchId: String?, + fromDate: String?, + toDate: String?, + dpIds: String?, + orderingCompanyId: String?, + stores: String?, + salesChannel: String?, + requestByExt: String?, + pageNo: Int?, + pageSize: Int?, + customerId: String?, + isPrioritySort: Bool?, + excludeLockedShipments: Bool?, + + onResponse: @escaping (_ response: ShipmentInternalPlatformViewResponse?, _ error: FDKError?) -> Void + ) { + +var xQuery: [String: Any] = [:] + +if let value = lane { + + xQuery["lane"] = value + +} + + +if let value = searchType { + + xQuery["search_type"] = value + +} + + +if let value = searchId { + + xQuery["search_id"] = value + +} + + +if let value = fromDate { + + xQuery["from_date"] = value + +} + + +if let value = toDate { + + xQuery["to_date"] = value + +} + + +if let value = dpIds { + + xQuery["dp_ids"] = value + +} + + +if let value = orderingCompanyId { + + xQuery["ordering_company_id"] = value + +} + + +if let value = stores { + + xQuery["stores"] = value + +} + + +if let value = salesChannel { + + xQuery["sales_channel"] = value + +} + + +if let value = requestByExt { + + xQuery["request_by_ext"] = value + +} + + +if let value = pageNo { + + xQuery["page_no"] = value + +} + + +if let value = pageSize { + + xQuery["page_size"] = value + +} + + +if let value = customerId { + + xQuery["customer_id"] = value + +} + + +if let value = isPrioritySort { + + xQuery["is_priority_sort"] = value + +} + + +if let value = excludeLockedShipments { + + xQuery["exclude_locked_shipments"] = value + +} + + + + + + PlatformAPIClient.execute( + config: config, + method: "GET", + url: "/service/platform/order/v1.0/company/\(companyId)/application/\(applicationId)/shipments/", + query: xQuery, + body: nil, + headers: [], + responseType: "application/json", + onResponse: { (responseData, error, responseCode) in + if let _ = error, let data = responseData { + var err = Utility.decode(FDKError.self, from: data) + if err?.status == nil { + err?.status = responseCode + } + onResponse(nil, err) + } else if let data = responseData { + + let response = Utility.decode(ShipmentInternalPlatformViewResponse.self, from: data) + + onResponse(response, nil) + } else { + let userInfo: [String: Any] = [ NSLocalizedDescriptionKey : NSLocalizedString("Unidentified", value: "Please try after sometime", comment: "") , + NSLocalizedFailureReasonErrorKey : NSLocalizedString("Unidentified", value: "Something went wrong", comment: "")] + let err = FDKError(message: "Something went wrong", status: 502, code: "Unidentified", exception: nil, info: "Please try after sometime", requestID: nil, stackTrace: nil, meta: userInfo) + onResponse(nil, err) + } + }); + } + + + + + /** * * Summary: Track shipment diff --git a/Sources/code/public/PublicAPIClient.swift b/Sources/code/public/PublicAPIClient.swift index cf02c49c84..8d86638582 100644 --- a/Sources/code/public/PublicAPIClient.swift +++ b/Sources/code/public/PublicAPIClient.swift @@ -9,7 +9,7 @@ class PublicAPIClient { responseType: String = "application/json", onResponse: @escaping OnResponse) { var headers = [ - (key: "x-fp-sdk-version", value: "1.3.6-beta.2") + (key: "x-fp-sdk-version", value: "1.3.9-beta.1") ] headers.append(contentsOf: extraHeaders) headers.append(contentsOf: config.extraHeaders) diff --git a/documentation/application/CART.md b/documentation/application/CART.md index 90177ac708..efc40392f3 100644 --- a/documentation/application/CART.md +++ b/documentation/application/CART.md @@ -47,7 +47,7 @@ Fetch all items added to the cart ```swift -applicationClient.cart.getCart(id: id, i: i, b: b, assignCardId: assignCardId, areaCode: areaCode, buyNow: buyNow) { (response, error) in +applicationClient.cart.getCart(id: id, i: i, b: b, c: c, assignCardId: assignCardId, areaCode: areaCode, buyNow: buyNow) { (response, error) in // Use response } ``` @@ -61,6 +61,7 @@ applicationClient.cart.getCart(id: id, i: i, b: b, assignCardId: assignCardId, a | id | String? | no | | | i | Bool? | no | | | b | Bool? | no | | +| c | Bool? | no | | | assignCardId | Int? | no | | | areaCode | String? | no | | | buyNow | Bool? | no | | @@ -9209,10 +9210,73 @@ Success. Returns the status of cart checkout. Refer `CartCheckoutResponseSchema` + #### [CartDetailCoupon](#CartDetailCoupon) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | cashbackAmount | Double? | yes | | + | cashbackMessagePrimary | String? | yes | | + | cashbackMessageSecondary | String? | yes | | + | couponCode | String? | yes | | + | couponDescription | String? | yes | | + | couponId | String? | yes | | + | couponSubtitle | String? | yes | | + | couponTitle | String? | yes | | + | couponType | String? | yes | | + | couponValue | Double? | yes | | + | discount | Double? | yes | | + | isApplied | Bool? | yes | | + | isValid | Bool? | yes | | + | maximumDiscountValue | Double? | yes | | + | message | String? | yes | | + | minimumCartValue | Double? | yes | | + +--- + + + + + #### [ChargesThreshold](#ChargesThreshold) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | charges | Double? | yes | | + | threshold | Double? | yes | | + +--- + + + + + #### [DeliveryChargesConfig](#DeliveryChargesConfig) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | enabled | Bool? | yes | | + | charges | [[ChargesThreshold](#ChargesThreshold)]? | yes | | + +--- + + + + + #### [CartCommonConfig](#CartCommonConfig) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | deliveryChargesConfig | [DeliveryChargesConfig](#DeliveryChargesConfig)? | yes | | + +--- + + + + #### [CartDetailResponse](#CartDetailResponse) | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | + | cartId | Int? | yes | | + | uid | String? | yes | | | appliedPromoDetails | [[AppliedPromotion](#AppliedPromotion)]? | yes | | | checkoutMode | String? | yes | | | panNo | String? | yes | | @@ -9223,7 +9287,12 @@ Success. Returns the status of cart checkout. Refer `CartCheckoutResponseSchema` | comment | String? | yes | | | items | [[CartProductInfo](#CartProductInfo)]? | yes | | | deliveryChargeInfo | String? | yes | | + | commonConfig | [CartCommonConfig](#CartCommonConfig)? | yes | | + | coupon | [CartDetailCoupon](#CartDetailCoupon)? | yes | | | message | String? | yes | | + | notification | [String: Any]? | yes | | + | staffUserId | String? | yes | | + | success | Bool? | yes | | | gstin | String? | yes | | | restrictCheckout | Bool? | yes | | | lastModified | String? | yes | | diff --git a/documentation/application/CATALOG.md b/documentation/application/CATALOG.md index 9c9b86eca3..e578944cb0 100644 --- a/documentation/application/CATALOG.md +++ b/documentation/application/CATALOG.md @@ -6903,7 +6903,7 @@ Get store meta information. ```swift -applicationClient.catalog.getStores(pageNo: pageNo, pageSize: pageSize, q: q, city: city, range: range, latitude: latitude, longitude: longitude) { (response, error) in +applicationClient.catalog.getStores(pageNo: pageNo, pageSize: pageSize, q: q, city: city, range: range, latitude: latitude, longitude: longitude, tags: tags) { (response, error) in // Use response } ``` @@ -6920,7 +6920,8 @@ applicationClient.catalog.getStores(pageNo: pageNo, pageSize: pageSize, q: q, ci | city | String? | no | Search stores by the city in which they are situated. | | range | Int? | no | Use this to retrieve stores within a particular range in meters, e.g. 10000, to indicate a 10km range | | latitude | Double? | no | Latitude of the location from where one wants to retreive the nearest stores, e.g. 72.8691788 | -| longitude | Double? | no | Longitude of the location from where one wants to retreive the nearest stores, e.g. 19.1174114 | +| longitude | Double? | no | Longitude of the location from where one wants to retreive the nearest stores, e.g. 19.1174114 | +| tags | String? | no | Search stores based on tags. | @@ -6971,7 +6972,11 @@ Success. Returns a list of selling locations. Check the example shown below or r }, "name": "RRL01", "store_code": "WH_8513", - "uid": 1 + "uid": 1, + "tags": [ + "test", + "digital" + ] } ] } @@ -9047,6 +9052,7 @@ Success. Returns a ProductSizeSellerV3 object. Check the example shown below or | storeCode | String? | yes | | | latLong | [LatLong](#LatLong)? | yes | | | name | String? | yes | | + | tags | [String]? | yes | | --- diff --git a/documentation/application/POSCART.md b/documentation/application/POSCART.md index 86c1ab174f..f0f6a5c214 100644 --- a/documentation/application/POSCART.md +++ b/documentation/application/POSCART.md @@ -46,7 +46,7 @@ Fetch all items added to the cart ```swift -applicationClient.poscart.getCart(id: id, i: i, b: b, assignCardId: assignCardId, areaCode: areaCode, buyNow: buyNow) { (response, error) in +applicationClient.poscart.getCart(id: id, i: i, b: b, c: c, assignCardId: assignCardId, areaCode: areaCode, buyNow: buyNow) { (response, error) in // Use response } ``` @@ -60,6 +60,7 @@ applicationClient.poscart.getCart(id: id, i: i, b: b, assignCardId: assignCardId | id | String? | no | | | i | Bool? | no | | | b | Bool? | no | | +| c | Bool? | no | | | assignCardId | Int? | no | | | areaCode | String? | no | | | buyNow | Bool? | no | | diff --git a/documentation/platform/CART.md b/documentation/platform/CART.md index 2a52b7ce48..d77f6a7fcf 100644 --- a/documentation/platform/CART.md +++ b/documentation/platform/CART.md @@ -3046,7 +3046,7 @@ Fetch all items added to the cart ```swift -platformClient.application("").cart.getAbandonedCartDetails(id: id, i: i, b: b) { (response, error) in +platformClient.application("").cart.getAbandonedCartDetails(id: id, i: i, b: b, c: c) { (response, error) in // Use response } ``` @@ -3059,7 +3059,8 @@ platformClient.application("").cart.getAbandonedCartDetails(id: | -------- | ---- | -------- | ----------- | | id | String? | no | | | i | Bool? | no | | -| b | Bool? | no | | +| b | Bool? | no | | +| c | Bool? | no | | diff --git a/documentation/platform/CATALOG.md b/documentation/platform/CATALOG.md index 0e0b345250..20d849bbf4 100644 --- a/documentation/platform/CATALOG.md +++ b/documentation/platform/CATALOG.md @@ -17773,6 +17773,7 @@ Returns a success response | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | + | uid | String? | yes | | | schedule | [String: Any]? | yes | | | allowFacets | Bool? | yes | | | allowSort | Bool? | yes | | diff --git a/documentation/platform/COMMUNICATION.md b/documentation/platform/COMMUNICATION.md index 71635a2777..0b11ecee65 100644 --- a/documentation/platform/COMMUNICATION.md +++ b/documentation/platform/COMMUNICATION.md @@ -6725,6 +6725,18 @@ Success + #### [SendOtpEmailCommsProvider](#SendOtpEmailCommsProvider) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String? | yes | | + | id | String? | yes | | + +--- + + + + #### [SendOtpEmailCommsTemplate](#SendOtpEmailCommsTemplate) | Properties | Type | Nullable | Description | @@ -6772,6 +6784,7 @@ Success | otpLength | Int? | yes | | | expiry | Int? | yes | | | template | [SendOtpEmailCommsTemplate](#SendOtpEmailCommsTemplate)? | yes | | + | provider | [SendOtpEmailCommsProvider](#SendOtpEmailCommsProvider)? | yes | | --- diff --git a/documentation/platform/ORDER.md b/documentation/platform/ORDER.md index c1cdc0ae8d..ed828dd528 100644 --- a/documentation/platform/ORDER.md +++ b/documentation/platform/ORDER.md @@ -43,6 +43,7 @@ Handles all platform order and shipment api(s) * [getOrderById](#getorderbyid) * [getLaneConfig](#getlaneconfig) * [getOrders](#getorders) +* [getApplicationShipments](#getapplicationshipments) * [trackShipmentPlatform](#trackshipmentplatform) * [getfilters](#getfilters) * [getBulkShipmentExcelFile](#getbulkshipmentexcelfile) @@ -2241,7 +2242,7 @@ Get reasons behind full or partial cancellation of a shipment ```swift -platformClient.order.getShipmentBagReasons(shipmentId: shipmentId, lineNumber: lineNumber) { (response, error) in +platformClient.application("").order.getShipmentBagReasons(shipmentId: shipmentId, lineNumber: lineNumber) { (response, error) in // Use response } ``` @@ -2339,7 +2340,7 @@ Success. Check the example shown below or refer `ShipmentBagReasons` for more de ```swift -platformClient.order.getShipments(lane: lane, bagStatus: bagStatus, statusOverrideLane: statusOverrideLane, timeToDispatch: timeToDispatch, searchType: searchType, searchValue: searchValue, fromDate: fromDate, toDate: toDate, dpIds: dpIds, stores: stores, salesChannels: salesChannels, pageNo: pageNo, pageSize: pageSize, fetchActiveShipment: fetchActiveShipment, excludeLockedShipments: excludeLockedShipments, paymentMethods: paymentMethods, channelShipmentId: channelShipmentId, channelOrderId: channelOrderId, customMeta: customMeta, orderingChannel: orderingChannel, companyAffiliateTag: companyAffiliateTag, myOrders: myOrders, platformUserId: platformUserId, sortType: sortType, showCrossCompanyData: showCrossCompanyData, tags: tags, customerId: customerId, orderType: orderType) { (response, error) in +platformClient.order.getShipments(lane: lane, bagStatus: bagStatus, statusOverrideLane: statusOverrideLane, timeToDispatch: timeToDispatch, searchType: searchType, searchValue: searchValue, fromDate: fromDate, toDate: toDate, dpIds: dpIds, stores: stores, salesChannels: salesChannels, pageNo: pageNo, pageSize: pageSize, fetchActiveShipment: fetchActiveShipment, allowInactive: allowInactive, excludeLockedShipments: excludeLockedShipments, paymentMethods: paymentMethods, channelShipmentId: channelShipmentId, channelOrderId: channelOrderId, customMeta: customMeta, orderingChannel: orderingChannel, companyAffiliateTag: companyAffiliateTag, myOrders: myOrders, platformUserId: platformUserId, sortType: sortType, showCrossCompanyData: showCrossCompanyData, tags: tags, customerId: customerId, orderType: orderType) { (response, error) in // Use response } ``` @@ -2364,6 +2365,7 @@ platformClient.order.getShipments(lane: lane, bagStatus: bagStatus, statusOverri | pageNo | Int? | no | Page number for paginated data | | pageSize | Int? | no | Page size of data received per page | | fetchActiveShipment | Bool? | no | flag to fetch active shipments | +| allowInactive | Bool? | no | Flag to allow inactive shipments | | excludeLockedShipments | Bool? | no | flag to fetch locked shipments | | paymentMethods | String? | no | Comma separated values of payment methods | | channelShipmentId | String? | no | App Shipment Id | @@ -3810,6 +3812,75 @@ We are processing the report! +--- + + +#### getApplicationShipments + + + + + +```swift +platformClient.application("").order.getApplicationShipments(lane: lane, searchType: searchType, searchId: searchId, fromDate: fromDate, toDate: toDate, dpIds: dpIds, orderingCompanyId: orderingCompanyId, stores: stores, salesChannel: salesChannel, requestByExt: requestByExt, pageNo: pageNo, pageSize: pageSize, customerId: customerId, isPrioritySort: isPrioritySort, excludeLockedShipments: excludeLockedShipments) { (response, error) in + // Use response +} +``` + + + + + +| Argument | Type | Required | Description | +| -------- | ---- | -------- | ----------- | +| lane | String? | no | | +| searchType | String? | no | | +| searchId | String? | no | | +| fromDate | String? | no | | +| toDate | String? | no | | +| dpIds | String? | no | | +| orderingCompanyId | String? | no | | +| stores | String? | no | | +| salesChannel | String? | no | | +| requestByExt | String? | no | | +| pageNo | Int? | no | | +| pageSize | Int? | no | | +| customerId | String? | no | | +| isPrioritySort | Bool? | no | | +| excludeLockedShipments | Bool? | no | | + + + + + +*Returned Response:* + + + + +[ShipmentInternalPlatformViewResponse](#ShipmentInternalPlatformViewResponse) + +We are processing the report! + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + --- @@ -7159,6 +7230,9 @@ We are processing the request! | dueDate | String? | yes | | | couponCode | String? | yes | | | isPriority | Bool? | yes | | + | isSerialNumberRequired | Bool? | yes | | + | fulfilmentPriority | Int? | yes | | + | customerSellingPrice | Double? | yes | | ---