├── .gitignore ├── src ├── test │ └── resources │ │ └── fixtures │ │ ├── BrandCreateRequest.json │ │ ├── BrandUpdateRequest.json │ │ ├── CompanyCreateRequest.json │ │ ├── CompanyUpdateRequest.json │ │ ├── ProductCreateBulkRequestResponse.json │ │ ├── AttributeGroupCreateAttributeRequest.json │ │ ├── AttributeGroupCreateAttributeResponse.json │ │ ├── AttributeGroupUpdateAttributeRequest.json │ │ ├── AttributeGroupUpdateAttributeResponse.json │ │ ├── BrandGetCustomDataForKeyResponse.json │ │ ├── ProductGetCustomDataForKeyResponse.json │ │ ├── ProductImageUpdatePositionRequest.json │ │ ├── ShopGetCustomDataForKeyResponse.json │ │ ├── CampaignGetCustomDataForKeyResponse.json │ │ ├── MerchantGetCustomDataForKeyResponse.json │ │ ├── ProductVariantPriceCreateBulkRequestResponse.json │ │ ├── ProductVariantStockCreateBulkRequestResponse.json │ │ ├── ShopCategoryGetCustomDataForKeyResponse.json │ │ ├── ShopCountryGetCustomDataForKeyResponse.json │ │ ├── WarehouseCreateRequest.json │ │ ├── BrandCreateOrUpdateCustomDataForKeyRequest.json │ │ ├── CompanyCreateResponse.json │ │ ├── CompanyGetResponse.json │ │ ├── CompanyUpdateResponse.json │ │ ├── ProductCreateCompositeProductBulkRequestResponse.json │ │ ├── ProductCreateOrUpdateCustomDataForKeyRequest.json │ │ ├── ProductVariantGetCustomDataForKeyResponse.json │ │ ├── ShopCreateOrUpdateCustomDataForKeyRequest.json │ │ ├── CampaignCreateOrUpdateCustomDataForKeyRequest.json │ │ ├── EmailKeyUpdateRequest.json │ │ ├── MerchantCreateOrUpdateCustomDataForKeyRequest.json │ │ ├── ShopCategoryCreateOrUpdateCustomDataForKeyRequest.json │ │ ├── ShopCategoryGetCustomDataKeyForCountryResponse.json │ │ ├── ShopCountryCreateOrUpdateCustomDataForKeyRequest.json │ │ ├── ShopUpdateRequest.json │ │ ├── BulkRequestCancelResponse.json │ │ ├── CustomerAddGroupsRequest.json │ │ ├── ProductVariantCreateOrUpdateCustomDataForKeyRequest.json │ │ ├── AssetCreateResponse.json │ │ ├── ShopCategoryCreateOrUpdateCustomDataKeyForCountryRequest.json │ │ ├── ShopCategoryGetPropertyResponse.json │ │ ├── CustomerGetStatusResponse.json │ │ ├── CustomerUpdateStatusRequest.json │ │ ├── CustomerUpdateStatusResponse.json │ │ ├── ShopCategoryPropertyKeyCreateRequest.json │ │ ├── ShopCategoryPropertyKeyUpdateRequest.json │ │ ├── ShopCategoryUpdateOrCreateCountryRequest.json │ │ ├── ShopCategoryUpdateOrCreatePropertyRequest.json │ │ ├── ShopCategoryUpdateOrCreatePropertyResponse.json │ │ ├── ShopCountryWarehouseCreateRequest.json │ │ ├── ShopCountryWarehouseUpdateRequest.json │ │ ├── CustomerSetPasswordRequest.json │ │ ├── MasterUpdateOrCreateAttributeRequest.json │ │ ├── ProductUpdateOrCreateAttributeRequest.json │ │ ├── PromotionCodesCreateRequest.json │ │ ├── PromotionCodesCreateResponse.json │ │ ├── ShopCategoryPropertyKeyCreateResponse.json │ │ ├── ShopCategoryPropertyKeyGetResponse.json │ │ ├── ShopCategoryPropertyKeyUpdateResponse.json │ │ ├── ShopCreateRequest.json │ │ ├── ProductImageUpdateOrCreateAttributeRequest.json │ │ ├── AttributeTranslationUpdateOrCreateRequest.json │ │ ├── ProductVariantUpdateOrCreateAttributeRequest.json │ │ ├── AttributeGroupUpdateFrontendNameRequest.json │ │ ├── EmailKeyCreateRequest.json │ │ ├── AttributeTranslationPartialUpdateOrCreateRequest.json │ │ ├── AttributeTranslationUpdateOrCreateAdvancedRequest.json │ │ ├── CustomerCreateMembershipRequest.json │ │ ├── CustomerUpdateMembershipRequest.json │ │ ├── MasterGetAttributeResponse.json │ │ ├── ProductGetAttributeResponse.json │ │ ├── VoucherCreateCriterionRequest.json │ │ ├── VoucherUpdateCriterionRequest.json │ │ ├── ProductImageGetAttributeResponse.json │ │ ├── ProductVariantGetAttributeResponse.json │ │ ├── ShopCountryPriceRoundingCreateRequest.json │ │ ├── MasterUpdateOrCreateAttributeResponse.json │ │ ├── ProductUpdateOrCreateAttributeResponse.json │ │ ├── AssetCreateRequest.json │ │ ├── ProductImageUpdateOrCreateAttributeResponse.json │ │ ├── ProductVariantUpdateOrCreateAttributeResponse.json │ │ ├── VoucherGetCriterionResponse.json │ │ ├── CustomerSetPasswordHashRequest.json │ │ ├── ProductUpdateStateRequest.json │ │ ├── ShopCategoryUpdateRequest.json │ │ ├── VoucherCreateCriterionResponse.json │ │ ├── VoucherUpdateCriterionResponse.json │ │ ├── ShopCategoryProductSetUnlinkInstructionUnlinkRequest.json │ │ ├── ShopCountryPriceRoundingCreateResponse.json │ │ ├── OrderUpdateReferenceKeyRequest.json │ │ ├── RedirectDeleteBulkRequest.json │ │ ├── ShopCategoryAllPropertiesResponse.json │ │ ├── ChannelUpdateChannelRequest.json │ │ ├── CustomerCreateOrUpdateLegacyCustomDataRequest.json │ │ ├── CustomerUpdateReferenceKeyRequest.json │ │ ├── CarrierCreateRequest.json │ │ ├── CarrierUpdateRequest.json │ │ ├── CustomerUpdateAddressReferenceKeyRequest.json │ │ ├── ProductUpdateMasterCategoriesRequest.json │ │ ├── PackageGroupAllResponse.json │ │ ├── PackageGroupAssignPackageGroupToWarehousesRequest.json │ │ ├── PackageGroupReplacePackageGroupForWarehousesRequest.json │ │ ├── ShopCountryWarehouseCreateResponse.json │ │ ├── ShopCountryWarehouseUpdateResponse.json │ │ ├── AttributeTranslationAllResponse.json │ │ ├── CarrierCreateResponse.json │ │ ├── CarrierGetResponse.json │ │ ├── CarrierUpdateResponse.json │ │ ├── MasterUpdateProductMasterMasterCategoriesRequest.json │ │ ├── RedirectUpdateRequest.json │ │ ├── SellableWithoutStockSetSellableWithoutStockRequest.json │ │ ├── SellableWithoutStockSetSellableWithoutStockResponse.json │ │ ├── ShopCategoryPropertyKeyAllResponse.json │ │ ├── OrderItemCreateOrUpdateLegacyCustomDataRequest.json │ │ ├── CancellationSendRequest.json │ │ ├── ProductImageUpdatePositionResponse.json │ │ ├── CompanyAllResponse.json │ │ ├── ProductUpdateMasterCategoriesResponse.json │ │ ├── AudienceUpdateAudienceRequest.json │ │ ├── BulkRequestStatusGetResponse.json │ │ ├── MasterUpdateProductMasterMasterCategoriesResponse.json │ │ ├── PromotionCodesAllResponse.json │ │ ├── CampaignUpdateOrCreateProductReductionsRequest.json │ │ ├── CampaignUpdateOrCreateVariantReductionsRequest.json │ │ ├── CustomerCreateMembershipResponse.json │ │ ├── CustomerUpdateMembershipResponse.json │ │ ├── EmailKeyCreateResponse.json │ │ ├── EmailKeyGetResponse.json │ │ ├── EmailKeyUpdateResponse.json │ │ ├── RedirectCreateRequest.json │ │ ├── EmailSendRequest.json │ │ ├── MerchantCreateReturnAddressRequest.json │ │ ├── MerchantUpdateReturnAddressRequest.json │ │ ├── ShopCountryPriceRoundingAllResponse.json │ │ ├── PromotionItemSetCreateRequest.json │ │ ├── VoucherGetCriteriaResponse.json │ │ ├── AttributeGroupCreateRequest.json │ │ ├── AttributeGroupUpdateRequest.json │ │ ├── MerchantCreateContactRequest.json │ │ ├── MerchantCreateRequest.json │ │ ├── MerchantUpdateContactRequest.json │ │ ├── MerchantUpdateRequest.json │ │ ├── MerchantCreateReturnAddressResponse.json │ │ ├── MerchantGetReturnAddressResponse.json │ │ ├── MerchantUpdateReturnAddressResponse.json │ │ ├── AudienceCreateAudienceRequest.json │ │ ├── MasterCategoryCreateRequest.json │ │ ├── MasterCategoryUpdateRequest.json │ │ ├── MasterUnlockAttributeGroupRequest.json │ │ ├── MerchantCreateResponse.json │ │ ├── MerchantUpdateResponse.json │ │ ├── ProductUnlockAttributeGroupRequest.json │ │ ├── ProductImageUnlockAttributeGroupRequest.json │ │ ├── RedirectUpdateResponse.json │ │ ├── ShopGetCustomDataResponse.json │ │ ├── BrandGetCustomDataResponse.json │ │ ├── CampaignGetCustomDataResponse.json │ │ ├── CustomerUpdateRequest.json │ │ ├── MerchantGetCustomDataResponse.json │ │ ├── ProductGetCustomDataResponse.json │ │ ├── ProductVariantStockCreateRequest.json │ │ ├── ProductVariantStockCreateResponse.json │ │ ├── ProductVariantUnlockAttributeGroupRequest.json │ │ ├── MerchantGetContactResponse.json │ │ ├── ProductVariantGetCustomDataResponse.json │ │ ├── PromotionItemSetGetResponse.json │ │ ├── ShopCategoryGetCustomDataResponse.json │ │ ├── ShopCountryGetCustomDataResponse.json │ │ ├── ShopCreateOrUpdateCustomDataRequest.json │ │ ├── BrandCreateOrUpdateCustomDataRequest.json │ │ ├── BrandCreateOrUpdateCustomDataResponse.json │ │ ├── CampaignCreateOrUpdateCustomDataRequest.json │ │ ├── CampaignCreateOrUpdateCustomDataResponse.json │ │ ├── MerchantCreateContactResponse.json │ │ ├── MerchantCreateOrUpdateCustomDataRequest.json │ │ ├── MerchantCreateOrUpdateCustomDataResponse.json │ │ ├── MerchantUpdateContactResponse.json │ │ ├── ProductCreateOrUpdateCustomDataRequest.json │ │ ├── ProductCreateOrUpdateCustomDataResponse.json │ │ ├── PromotionItemSetCreateResponse.json │ │ ├── ShopCreateOrUpdateCustomDataResponse.json │ │ ├── BrandCreateOrUpdateCustomDataForKeyResponse.json │ │ ├── OrderCreateOrUpdateLegacyCustomDataRequest.json │ │ ├── ProductCreateOrUpdateCustomDataForKeyResponse.json │ │ ├── ProductVariantCreateOrUpdateCustomDataRequest.json │ │ ├── ShopCategoryCreateOrUpdateCustomDataRequest.json │ │ ├── ShopCategoryCreateOrUpdateCustomDataResponse.json │ │ ├── ShopCategoryGetCustomDataForCountryResponse.json │ │ ├── ShopCountryCreateOrUpdateCustomDataRequest.json │ │ ├── ShopCountryCreateOrUpdateCustomDataResponse.json │ │ ├── ShopCreateOrUpdateCustomDataForKeyResponse.json │ │ ├── CampaignCreateOrUpdateCustomDataForKeyResponse.json │ │ ├── MerchantCreateOrUpdateCustomDataForKeyResponse.json │ │ ├── ProductVariantCreateOrUpdateCustomDataResponse.json │ │ ├── ShopCategoryCreateOrUpdateCustomDataForKeyResponse.json │ │ ├── ShopCountryCreateOrUpdateCustomDataForKeyResponse.json │ │ ├── CampaignAllReductionsResponse.json │ │ ├── OrderBillingStatusUpdateOrderBillingStatusRequest.json │ │ ├── ProductImageCreateRequest.json │ │ ├── ProductVariantCreateOrUpdateCustomDataForKeyResponse.json │ │ ├── ShopCategoryCreateOrUpdateCustomDataForCountryRequest.json │ │ ├── ShopCategoryCreateOrUpdateCustomDataForCountryResponse.json │ │ ├── MasterCategoryGetResponse.json │ │ ├── ShopCategoryCreateOrUpdateCustomDataKeyForCountryResponse.json │ │ ├── MasterCategoryCreateResponse.json │ │ ├── MasterCategoryUpdateResponse.json │ │ ├── ProductUpdateStateResponse.json │ │ ├── ShopCountryCreateRequest.json │ │ ├── ShopCountryUpdateRequest.json │ │ ├── CustomDataConfigGetResponse.json │ │ ├── CustomDataConfigCreateRequest.json │ │ ├── CustomDataConfigCreateResponse.json │ │ ├── CustomDataConfigUpdateRequest.json │ │ ├── CustomDataConfigUpdateResponse.json │ │ ├── ShopCategoryCreateRequest.json │ │ ├── AttributeGroupGetAttributesResponse.json │ │ ├── CarrierAllResponse.json │ │ ├── ProductPatchSimilarProductsRequest.json │ │ ├── BulkRequestStatusAllResponse.json │ │ ├── RedirectCreateResponse.json │ │ ├── ReturnItemSendRequest.json │ │ ├── ProductSortingDeleteRequest.json │ │ ├── WebhookEventAllResponse.json │ │ ├── ProductSortingUpdateOrCreateRequest.json │ │ ├── WebhookSubscriptionUpdateRequest.json │ │ ├── EmailKeyAllResponse.json │ │ ├── WebhookSubscriptionCreateRequest.json │ │ ├── AudienceGetAudienceResponse.json │ │ ├── AttributeGroupCreateResponse.json │ │ ├── AttributeGroupGetResponse.json │ │ ├── AttributeGroupUpdateResponse.json │ │ ├── AudienceCreateAudienceResponse.json │ │ ├── AudienceUpdateAudienceResponse.json │ │ ├── CustomerGetMembershipsResponse.json │ │ ├── ShipmentCreateRequest.json │ │ ├── WebhookSubscriptionCreateResponse.json │ │ ├── WebhookSubscriptionGetResponse.json │ │ ├── OrderGetOrderInvoicesResponse.json │ │ ├── MerchantAllReturnAddressesResponse.json │ │ ├── ProductsFirstLiveAtUpdateProductsFirstLiveAtRequest.json │ │ ├── RedirectCreateOrUpdateBulkResponse.json │ │ ├── WebhookSubscriptionUpdateResponse.json │ │ ├── MerchantAllContactsResponse.json │ │ ├── ReservationCreateResponse.json │ │ ├── PromotionItemSetAllResponse.json │ │ ├── CampaignCreateRequest.json │ │ ├── CampaignUpdateRequest.json │ │ ├── ChannelCreateChannelRequest.json │ │ ├── OrderGetStatusResponse.json │ │ ├── CampaignGetResponse.json │ │ ├── CampaignCreateResponse.json │ │ ├── CampaignUpdateResponse.json │ │ ├── RedirectCreateOrUpdateBulkRequest.json │ │ ├── WarehouseCreateResponse.json │ │ ├── ProductVariantPriceCreateRequest.json │ │ ├── ProductVariantPriceCreateResponse.json │ │ ├── BulkOperationStatusGetResponse.json │ │ ├── WebhookSubscriptionAllResponse.json │ │ ├── AudienceGetAudiencesResponse.json │ │ ├── ShopCreateResponse.json │ │ ├── ShopUpdateResponse.json │ │ ├── ShopCountryUpdateAssortmentRequest.json │ │ ├── ProductSellableTimeframeBatchProcessRequest.json │ │ ├── CustomerUpdateAddressRequest.json │ │ ├── CampaignAllResponse.json │ │ ├── VoucherUpdateRequest.json │ │ ├── ProductVariantStockAllResponse.json │ │ ├── ReservationCreateRequest.json │ │ └── CustomerCreateAddressRequest.json └── main │ └── java │ └── com │ └── scayle │ └── adminapi │ ├── model │ ├── ApiObjectInterface.java │ ├── Meta.java │ ├── ApiConfiguration.java │ ├── AbstractApiObject.java │ ├── OrderTax.java │ ├── OrderDeliverable.java │ ├── ErrorResponse.java │ ├── OrderItemProductImage.java │ ├── AttributeGroupAttribute.java │ ├── BulkRequest.java │ ├── CancellationItem.java │ ├── OrderTaxWithMandatoryVat.java │ ├── SubscriptionOrderVoucher.java │ ├── Asset.java │ ├── OrderItemVariantStock.java │ ├── AssetUrl.java │ ├── ApiCollection.java │ ├── CustomerGroup.java │ ├── PromotionCodes.java │ ├── ShopCountriesToUnlock.java │ ├── PromotionUsageLimitPromotion.java │ ├── CustomDataConfig.java │ ├── RateLimit.java │ ├── WebhookSubscriptionFilter.java │ ├── OrderVat.java │ ├── OrderReferenceKey.java │ ├── PromotionTierEffectV1.java │ ├── CustomerReferenceKey.java │ ├── OrderContact.java │ ├── OrderPackageTracking.java │ ├── OrderSubsequentDelivery.java │ ├── PartialWebhookSubscriptionFilter.java │ ├── PromotionCode.java │ ├── WebhookEventSupportedFilters.java │ ├── OrderVoucherItem.java │ ├── VoucherConstraintsOrder.java │ ├── ReservationError.java │ ├── CustomerAddressReferenceKey.java │ ├── CustomerAddressDefault.java │ ├── ShipmentOrderItem.java │ ├── SubscriptionOrderItemPromotion.java │ ├── VoucherConstraintsDate.java │ ├── SubscriptionOrderMembershipCard.java │ ├── Company.java │ ├── OrderReductionAmount.java │ ├── AssetSource.java │ ├── MerchantCarrier.java │ ├── SubscriptionOrderCarrierDeliveryDate.java │ ├── CreateBulkRequest.java │ ├── OrderDetailedStatusItem.java │ ├── DefaultPaymentMethod.java │ ├── SubscriptionOrderAddress.java │ ├── DefaultPaymentMethodResponse.java │ ├── OrderItemDeliveryForecast.java │ ├── PromotionUsageLimit.java │ ├── ShopCategoryProperty.java │ ├── PackageGroup.java │ ├── RedirectError.java │ ├── OrderItemLowestPriorPrice.java │ ├── OrderItemMerchant.java │ ├── OrderPaymentInstallment.java │ ├── ProductAssortmentConfiguration.java │ ├── ProductsFirstLiveAtProduct.java │ ├── OrderItemBillingStatus.java │ ├── PromotionItemConditionV1.java │ ├── PromotionScheduleV1.java │ ├── Transaction.java │ ├── OrderDetailedStatus.java │ ├── OrderItemPriceReference.java │ ├── PromotionGlobalConditionV1.java │ ├── MerchantAssortmentConfiguration.java │ ├── ShopCountryToUnlock.java │ ├── WebhookSubscriptionMerchantFilter.java │ ├── CustomerStatus.java │ ├── MerchantWarehouse.java │ ├── OrderPackageDeliveryDate.java │ ├── PartialProductAssortmentConfiguration.java │ ├── ProductMasterCategories.java │ ├── AttributeGroupShopCountry.java │ ├── Cursor.java │ ├── MerchantProductState.java │ ├── OrderAddress.java │ ├── OrderItemProduct.java │ ├── OrderStatus.java │ ├── PartialMerchantAssortmentConfiguration.java │ ├── PromotionSchedule.java │ ├── SubscriptionOrderApplication.java │ ├── PromotionAudience.java │ ├── OrderFeeAmount.java │ ├── PromotionAudiencesV1.java │ ├── PromotionShopCountryId.java │ ├── ReservationVariant.java │ ├── MasterCategoryAssortmentConfiguration.java │ ├── CustomerPassword.java │ ├── CustomerPasswordHash.java │ ├── PartialMasterCategoryAssortmentConfiguration.java │ ├── PartialWebhookSubscriptionMerchantFilter.java │ ├── VoucherConstraintsApplications.java │ ├── WebhookSubscriptionPatch.java │ ├── PartialProductAssortmentConfigurationExclude.java │ ├── PartialProductAssortmentConfigurationInclude.java │ ├── OrderPaymentOptions.java │ ├── PackageGroupWarehouse.java │ ├── PartialWebhookSubscriptionMerchantFilterIncludeExclude.java │ ├── PartialAttributeAssortmentConfigurationExclude.java │ ├── PartialAttributeAssortmentConfigurationInclude.java │ ├── PartialMerchantAssortmentConfigurationExclude.java │ ├── PartialMerchantAssortmentConfigurationInclude.java │ ├── OrderItemVariant.java │ ├── SubscriptionOrderCarrier.java │ ├── PromotionEffect.java │ ├── Email.java │ ├── CampaignProduct.java │ ├── PartialMasterCategoryAssortmentConfigurationExclude.java │ ├── PartialMasterCategoryAssortmentConfigurationInclude.java │ ├── PromotionEffectV1.java │ ├── OrderLoyaltyCard.java │ └── AudienceUpdateRequest.java │ ├── polymorphism │ └── PolymorphicInterface.java │ ├── exception │ ├── ConnectionException.java │ ├── InvalidArgumentException.java │ └── ApiError.java │ └── enums │ ├── PromotionSiblingPromotionLevel.java │ ├── PromotionSiblingPromotionsLevel.java │ ├── PromotionLevel.java │ ├── VoucherType.java │ ├── CustomerAddressType.java │ ├── PromotionConditionLevel.java │ ├── PromotionActivationType.java │ ├── VoucherCriteriaKeyType.java │ ├── TransactionOperationStatus.java │ ├── BulkRequestCreationStatus.java │ ├── RoundingType.java │ ├── Gender.java │ ├── PromotionEffectDiscountDistribution.java │ ├── PromotionUsageLimitPromotionCodeType.java │ ├── PromotionEffectBuyXGetYDiscountType.java │ ├── PromotionEffectAutomationDiscountType.java │ ├── VoucherConstraintsApplicationsRestriction.java │ ├── PromotionStatus.java │ ├── CustomerPasswordHashingType.java │ ├── PromotionEffectType.java │ ├── VoucherStatus.java │ ├── BulkOperationStatusEnum.java │ ├── CustomDataConfigPropertyType.java │ ├── SubscriptionOrderApplicationDevice.java │ ├── CustomerAddressRecipientType.java │ ├── OrderPaymentInstallmentType.java │ ├── PromotionEffectBuyXGetYApplicableItemSelectionType.java │ └── PromotionEffectComboDealMaxCountType.java ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | -------------------------------------------------------------------------------- /src/test/resources/fixtures/BrandCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Edited" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BrandUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Edited" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CompanyCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "My Company" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CompanyUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "My Company" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductCreateBulkRequestResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": 123 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupCreateAttributeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": "M" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupCreateAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": "M" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupUpdateAttributeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": "M" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupUpdateAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": "M" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BrandGetCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductGetCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductImageUpdatePositionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "position": 3 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopGetCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignGetCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantGetCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantPriceCreateBulkRequestResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": 123 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantStockCreateBulkRequestResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": 123 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryGetCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryGetCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/WarehouseCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "my-warehouse" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BrandCreateOrUpdateCustomDataForKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CompanyCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "My Company" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CompanyGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "My Company" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CompanyUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "My Company" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductCreateCompositeProductBulkRequestResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": 123 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductCreateOrUpdateCustomDataForKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantGetCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCreateOrUpdateCustomDataForKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignCreateOrUpdateCustomDataForKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/EmailKeyUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Subscription Order created email" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateOrUpdateCustomDataForKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryCreateOrUpdateCustomDataForKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryGetCustomDataKeyForCountryResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryCreateOrUpdateCustomDataForKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "ms", 3 | "name": "My Shop Updated" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BulkRequestCancelResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": 123, 3 | "status": "cancelled" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerAddGroupsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "groups": [ 3 | "employee" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantCreateOrUpdateCustomDataForKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AssetCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "assetUrl": "images\/084dace7d7ff691e97982fa554113c29" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryCreateOrUpdateCustomDataKeyForCountryRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryGetPropertyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "sale", 3 | "value": "NoSale" 4 | } -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scayle/admin-api-java-sdk/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerGetStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isActive": true, 3 | "isGuestCustomer": false 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerUpdateStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isActive": true, 3 | "isGuestCustomer": false 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerUpdateStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isActive": true, 3 | "isGuestCustomer": false 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryPropertyKeyCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "myKey", 3 | "isInheritable": true 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryPropertyKeyUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "myKey", 3 | "isInheritable": true 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryUpdateOrCreateCountryRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isActive": true, 3 | "isVisible": true 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryUpdateOrCreatePropertyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "sale", 3 | "value": "NoSale" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryUpdateOrCreatePropertyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "sale", 3 | "value": "NoSale" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryWarehouseCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "my-warehouse", 3 | "priority": 100 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryWarehouseUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "my-warehouse", 3 | "priority": 100 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerSetPasswordRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "hashingType": "internal", 3 | "password": "password-to-be-set" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterUpdateOrCreateAttributeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductUpdateOrCreateAttributeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/PromotionCodesCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "promotionCodes": [ 3 | "BF24", 4 | "XMAS24" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/PromotionCodesCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "promotionCodes": [ 3 | "BF24", 4 | "XMAS24" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryPropertyKeyCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "myKey", 4 | "isInheritable": true 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryPropertyKeyGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "myKey", 4 | "isInheritable": true 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryPropertyKeyUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "myKey", 4 | "isInheritable": true 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "ms", 3 | "name": "My Shop", 4 | "priceGroupKey": "myPriceGroup" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductImageUpdateOrCreateAttributeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M" 5 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ApiObjectInterface.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | public interface ApiObjectInterface { 4 | } 5 | -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeTranslationUpdateOrCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "de_DE": "deutsche Zeichenkette", 3 | "en_GB": "english string" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantUpdateOrCreateAttributeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupUpdateFrontendNameRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "de_DE": "Materialzusammensetzung", 3 | "en_GB": "Material Composition" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/EmailKeyCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "subscription-order-created-email", 3 | "name": "Subscription Order created email" 4 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/polymorphism/PolymorphicInterface.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.polymorphism; 2 | 3 | public interface PolymorphicInterface { 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeTranslationPartialUpdateOrCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "de_DE": "deutsche Zeichenkette", 3 | "en_GB": "english string" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeTranslationUpdateOrCreateAdvancedRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "de_DE": "deutsche Zeichenkette", 3 | "en_GB": "english string" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerCreateMembershipRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isActive": true, 3 | "accountNumber": "1234567890", 4 | "typeKey": "payback" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerUpdateMembershipRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isActive": true, 3 | "accountNumber": "1234567890", 4 | "typeKey": "payback" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterGetAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M", 5 | "isLocked": false 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductGetAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M", 5 | "isLocked": false 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/VoucherCreateCriterionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "customerId", 3 | "type": "include", 4 | "value": [ 5 | 1 6 | ] 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/VoucherUpdateCriterionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "customerId", 3 | "type": "include", 4 | "value": [ 5 | 1 6 | ] 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductImageGetAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M", 5 | "isLocked": false 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantGetAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M", 5 | "isLocked": false 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryPriceRoundingCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "currencyCode": "EUR", 3 | "precision": "0.99", 4 | "roundingType": "nearest" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterUpdateOrCreateAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M", 5 | "isLocked": false 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductUpdateOrCreateAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M", 5 | "isLocked": false 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AssetCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "source": { 3 | "url": "https:\/\/cdn.aboutstatic.com\/file\/3f5a809d399b58ddf5c50025f984de18" 4 | } 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductImageUpdateOrCreateAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M", 5 | "isLocked": false 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantUpdateOrCreateAttributeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "size", 3 | "type": "simple", 4 | "value": "M", 5 | "isLocked": false 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/VoucherGetCriterionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "customerId", 4 | "type": "include", 5 | "value": [ 6 | 1 7 | ] 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerSetPasswordHashRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "hash": "$2y$12$r\/rLM3HSgMVc8YTRncu4nOkDi46DIkyhr1K\/yBNZKhDbIfZJpTd0a", 3 | "hashingType": "internal" 4 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductUpdateStateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "state": "live", 3 | "merchantReferenceKeys": [ 4 | "merchant-1", 5 | "merchant-2" 6 | ] 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": { 3 | "de_DE": "Meine Shop-Kategorie", 4 | "en_GB": "My Updated Shop Category" 5 | } 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/VoucherCreateCriterionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "customerId", 4 | "type": "include", 5 | "value": [ 6 | 1 7 | ] 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/VoucherUpdateCriterionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "customerId", 4 | "type": "include", 5 | "value": [ 6 | 1 7 | ] 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryProductSetUnlinkInstructionUnlinkRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "productSetIds": [ 3 | 2, 4 | 3 5 | ], 6 | "copyConditions": true 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryPriceRoundingCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "currencyCode": "EUR", 4 | "precision": "0.99", 5 | "roundingType": "nearest" 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/OrderUpdateReferenceKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "InGidcPDmL8fGkv02a3sSAgAr7ySMBfa66iw4MriYgUNI3Boq369rBOZW3stlKLWSqIjB2dXCGNbCxoM5Xww4cI8cULUoGBFJHH0" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/RedirectDeleteBulkRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1 4 | }, 5 | { 6 | "id": 2 7 | }, 8 | { 9 | "id": 3 10 | } 11 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryAllPropertiesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "key": "sale", 5 | "value": "NoSale" 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ChannelUpdateChannelRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "online-store-de", 3 | "type": "marketplace", 4 | "name": "Online Store (Germany)", 5 | "shopCountryId": 5 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerCreateOrUpdateLegacyCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "score": { 3 | "generatedOn": "2018-05-20T19:45:15+00:00", 4 | "result": "green" 5 | } 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerUpdateReferenceKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "InGidcPDmL8fGkv02a3sSAgAr7ySMBfa66iw4MriYgUNI3Boq369rBOZW3stlKLWSqIjB2dXCGNbCxoM5Xww4cI8cULUoGBFJHH0" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CarrierCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "DHL_STD_NATIONAL", 3 | "name": "DHL", 4 | "trackingUrl": "http:\/\/nolp.dhl.de\/nextt-online-public\/set_identcodes.do" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CarrierUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "DHL_STD_NATIONAL", 3 | "name": "DHL", 4 | "trackingUrl": "http:\/\/nolp.dhl.de\/nextt-online-public\/set_identcodes.do" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerUpdateAddressReferenceKeyRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "InGidcPDmL8fGkv02a3sSAgAr7ySMBfa66iw4MriYgUNI3Boq369rBOZW3stlKLWSqIjB2dXCGNbCxoM5Xww4cI8cULUoGBFJHH0" 3 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductUpdateMasterCategoriesRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [ 3 | [ 4 | "Fashion", 5 | "Men", 6 | "Shirts" 7 | ] 8 | ] 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/PackageGroupAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 3 5 | }, 6 | { 7 | "id": 7 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/PackageGroupAssignPackageGroupToWarehousesRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "warehouseReferenceKey": "my-warehouse" 4 | }, 5 | { 6 | "warehouseId": 2 7 | } 8 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/PackageGroupReplacePackageGroupForWarehousesRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "warehouseReferenceKey": "my-warehouse" 4 | }, 5 | { 6 | "warehouseId": 2 7 | } 8 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryWarehouseCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "referenceKey": "my-warehouse", 4 | "priority": 100, 5 | "packageGroup": { 6 | "id": 3 7 | } 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryWarehouseUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "referenceKey": "my-warehouse", 4 | "priority": 100, 5 | "packageGroup": { 6 | "id": 3 7 | } 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeTranslationAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "de_DE": "deutsche Zeichenkette", 5 | "en_GB": "english string" 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CarrierCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "DHL_STD_NATIONAL", 4 | "name": "DHL", 5 | "trackingUrl": "http:\/\/nolp.dhl.de\/nextt-online-public\/set_identcodes.do" 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CarrierGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "DHL_STD_NATIONAL", 4 | "name": "DHL", 5 | "trackingUrl": "http:\/\/nolp.dhl.de\/nextt-online-public\/set_identcodes.do" 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CarrierUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "DHL_STD_NATIONAL", 4 | "name": "DHL", 5 | "trackingUrl": "http:\/\/nolp.dhl.de\/nextt-online-public\/set_identcodes.do" 6 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterUpdateProductMasterMasterCategoriesRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [ 3 | [ 4 | "Fashion", 5 | "Men", 6 | "Shirts" 7 | ] 8 | ] 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/RedirectUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "source": "https:\/\/google.com", 3 | "target": "https:\/\/google2.com", 4 | "isRegex": false, 5 | "statusCode": 302, 6 | "priority": 1 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/SellableWithoutStockSetSellableWithoutStockRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "warehouseReferenceKey": "myWarehouse", 3 | "sellableWithoutStock": true, 4 | "merchantReferenceKey": "merchant-1" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/SellableWithoutStockSetSellableWithoutStockResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "warehouseReferenceKey": "myWarehouse", 3 | "sellableWithoutStock": true, 4 | "merchantReferenceKey": "merchant-1" 5 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryPropertyKeyAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "key": "myKey", 6 | "isInheritable": true 7 | } 8 | ] 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/OrderItemCreateOrUpdateLegacyCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "propA": 1, 3 | "propB": true, 4 | "propC": "test23", 5 | "propD": { 6 | "propD1": "45" 7 | }, 8 | "propE": null 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CancellationSendRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "shopKey": "ms", 3 | "countryCode": "de", 4 | "items": [ 5 | { 6 | "orderItemId": 67 7 | } 8 | ], 9 | "orderId": 123 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductImageUpdatePositionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 13, 3 | "name": "some_name", 4 | "assetUrl": "images\/084dace7d7ff691e97982fa554113c29", 5 | "mimeType": "image\/jpeg", 6 | "position": 3 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CompanyAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "name": "My Company" 6 | } 7 | ], 8 | "cursor": { 9 | "next": null 10 | } 11 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductUpdateMasterCategoriesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isLocked": false, 3 | "paths": [ 4 | [ 5 | "Fashion", 6 | "Men", 7 | "Shirts" 8 | ] 9 | ] 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AudienceUpdateAudienceRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VIP customers", 3 | "description": "German VIP Customers from Hamburg only", 4 | "customerIds": [ 5 | 345, 6 | 456, 7 | 567 8 | ] 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BulkRequestStatusGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": 123, 3 | "status": "cancelled", 4 | "progress": { 5 | "totalOperations": 0, 6 | "processedOperations": 0, 7 | "failedOperations": 0 8 | } 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterUpdateProductMasterMasterCategoriesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isLocked": false, 3 | "paths": [ 4 | [ 5 | "Fashion", 6 | "Men", 7 | "Shirts" 8 | ] 9 | ] 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/PromotionCodesAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "code": "XMAS24", 5 | "enabled": true 6 | } 7 | ], 8 | "cursor": { 9 | "next": "Mgo=" 10 | } 11 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignUpdateOrCreateProductReductionsRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "productId": 123, 4 | "reduction": 10 5 | }, 6 | { 7 | "productReferenceKey": "myKey", 8 | "reduction": 10 9 | } 10 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignUpdateOrCreateVariantReductionsRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "productVariantId": 123, 4 | "reduction": 10 5 | }, 6 | { 7 | "productVariantReferenceKey": "myKey", 8 | "reduction": 10 9 | } 10 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerCreateMembershipResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 5, 3 | "isActive": true, 4 | "accountNumber": "1234567890", 5 | "typeKey": "payback", 6 | "createdAt": "2023-01-22T11:30:15+00:00", 7 | "updatedAt": "2023-01-22T11:30:15+00:00" 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerUpdateMembershipResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 5, 3 | "isActive": true, 4 | "accountNumber": "1234567890", 5 | "typeKey": "payback", 6 | "createdAt": "2023-01-22T11:30:15+00:00", 7 | "updatedAt": "2023-01-22T11:30:15+00:00" 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/EmailKeyCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 123, 3 | "key": "subscription-order-created-email", 4 | "name": "Subscription Order created email", 5 | "createdAt": "2024-01-01T09:30:15+00:00", 6 | "updatedAt": "2024-01-01T09:30:15+00:00" 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/EmailKeyGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 123, 3 | "key": "subscription-order-created-email", 4 | "name": "Subscription Order created email", 5 | "createdAt": "2024-01-01T09:30:15+00:00", 6 | "updatedAt": "2024-01-01T09:30:15+00:00" 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/EmailKeyUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 123, 3 | "key": "subscription-order-created-email", 4 | "name": "Subscription Order created email", 5 | "createdAt": "2024-01-01T09:30:15+00:00", 6 | "updatedAt": "2024-01-01T09:30:15+00:00" 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/RedirectCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "source": "https:\/\/google.com", 3 | "target": "https:\/\/google2.com", 4 | "statusCode": 302, 5 | "parent": { 6 | "id": 2 7 | }, 8 | "isRegex": false, 9 | "priority": 1 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/EmailSendRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "subscription-order-created-email", 3 | "payload": { 4 | "property1": "value1", 5 | "property2": "value2" 6 | }, 7 | "recipient": "your.email.address@scayle.com", 8 | "orderId": 123 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateReturnAddressRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Return Point", 3 | "street": "Domstrasse", 4 | "streetNo": "10", 5 | "zipCode": "22303", 6 | "city": "Hamburg", 7 | "countryCode": "DE", 8 | "dhlCode": "JVGL0849489024" 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantUpdateReturnAddressRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Return Point", 3 | "street": "Domstrasse", 4 | "streetNo": "10", 5 | "zipCode": "22303", 6 | "city": "Hamburg", 7 | "countryCode": "DE", 8 | "dhlCode": "JVGL0849489024" 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryPriceRoundingAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "currencyCode": "EUR", 6 | "precision": "0.99", 7 | "roundingType": "nearest" 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/PromotionItemSetCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "T-Shirts", 3 | "variantIds": [ 4 | 1, 5 | 2, 6 | 3 7 | ], 8 | "condition": "payload.items.exists(i, 11003 in i.variant.id)", 9 | "eligibleItemsQuantity": 1 10 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/exception/ConnectionException.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.exception; 2 | 3 | public class ConnectionException extends RuntimeException { 4 | public ConnectionException(String message, Throwable cause) { 5 | super(message, cause); 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/exception/InvalidArgumentException.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.exception; 2 | 3 | public class InvalidArgumentException extends RuntimeException { 4 | 5 | public InvalidArgumentException(String message) { 6 | super(message); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/fixtures/VoucherGetCriteriaResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "key": "customerId", 6 | "type": "include", 7 | "value": [ 8 | 1 9 | ] 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/Meta.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class Meta { 7 | private RateLimit rateLimit; 8 | 9 | public Meta(RateLimit rateLimit) { 10 | this.rateLimit = rateLimit; 11 | } 12 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "color", 3 | "frontendName": { 4 | "de_DE": "Farbe", 5 | "en_GB": "Color" 6 | }, 7 | "type": "simple", 8 | "isShared": true, 9 | "level": "product", 10 | "group": "someName" 11 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "color", 3 | "frontendName": { 4 | "de_DE": "Farbe", 5 | "en_GB": "Color" 6 | }, 7 | "type": "simple", 8 | "isShared": true, 9 | "level": "product", 10 | "group": "someName" 11 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateContactRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "email": "foo@bar.org", 3 | "phone": "123456789", 4 | "cellPhone": "123456789", 5 | "name": "John Doe", 6 | "type": "general", 7 | "position": "Partner Service", 8 | "description": "Additional information" 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "acme", 3 | "name": "ACME", 4 | "priority": 1, 5 | "orderDelegationUrl": "https:\/\/merchant.com\/order-service\/delegate-order", 6 | "cancellationUrl": "https:\/\/merchant.com\/order-service\/cancel-order" 7 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantUpdateContactRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "email": "foo@bar.org", 3 | "phone": "123456789", 4 | "cellPhone": "123456789", 5 | "name": "John Doe", 6 | "type": "general", 7 | "position": "Partner Service", 8 | "description": "Additional information" 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "acme", 3 | "name": "ACME", 4 | "priority": 1, 5 | "orderDelegationUrl": "https:\/\/merchant.com\/order-service\/delegate-order", 6 | "cancellationUrl": "https:\/\/merchant.com\/order-service\/cancel-order" 7 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ApiConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import lombok.Builder; 4 | import lombok.Getter; 5 | 6 | @Getter 7 | @Builder 8 | public class ApiConfiguration { 9 | private final String url; 10 | private final String accessToken; 11 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateReturnAddressResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "Return Point", 4 | "street": "Domstrasse", 5 | "streetNo": "10", 6 | "zipCode": "22303", 7 | "city": "Hamburg", 8 | "countryCode": "DE", 9 | "dhlCode": "JVGL0849489024" 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantGetReturnAddressResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "Return Point", 4 | "street": "Domstrasse", 5 | "streetNo": "10", 6 | "zipCode": "22303", 7 | "city": "Hamburg", 8 | "countryCode": "DE", 9 | "dhlCode": "JVGL0849489024" 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantUpdateReturnAddressResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "Return Point", 4 | "street": "Domstrasse", 5 | "streetNo": "10", 6 | "zipCode": "22303", 7 | "city": "Hamburg", 8 | "countryCode": "DE", 9 | "dhlCode": "JVGL0849489024" 10 | } -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /src/test/resources/fixtures/AudienceCreateAudienceRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VIP customers", 3 | "description": "German VIP Customers from Hamburg only", 4 | "companyIds": [ 5 | 100 6 | ], 7 | "customerIds": [ 8 | 345, 9 | 456, 10 | 567 11 | ] 12 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterCategoryCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "path": [ 3 | "Fashion", 4 | "Men" 5 | ], 6 | "attributes": [ 7 | { 8 | "name": "season", 9 | "type": "simple", 10 | "isMandatory": false 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterCategoryUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "path": [ 3 | "Fashion", 4 | "Men" 5 | ], 6 | "attributes": [ 7 | { 8 | "name": "season", 9 | "type": "simple", 10 | "isMandatory": false 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterUnlockAttributeGroupRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "shopCountries": [ 3 | { 4 | "shopKey": "ay", 5 | "countryCode": "DE" 6 | }, 7 | { 8 | "shopKey": "ay", 9 | "countryCode": "AT" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "referenceKey": "acme", 4 | "name": "ACME", 5 | "priority": 1, 6 | "orderDelegationUrl": "https:\/\/acme.com\/order-service\/delegate-order", 7 | "cancellationUrl": "https:\/\/acme.com\/order-service\/cancel-order" 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "referenceKey": "acme", 4 | "name": "ACME", 5 | "priority": 1, 6 | "orderDelegationUrl": "https:\/\/acme.com\/order-service\/delegate-order", 7 | "cancellationUrl": "https:\/\/acme.com\/order-service\/cancel-order" 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductUnlockAttributeGroupRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "shopCountries": [ 3 | { 4 | "shopKey": "ay", 5 | "countryCode": "DE" 6 | }, 7 | { 8 | "shopKey": "ay", 9 | "countryCode": "AT" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductImageUnlockAttributeGroupRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "shopCountries": [ 3 | { 4 | "shopKey": "ay", 5 | "countryCode": "DE" 6 | }, 7 | { 8 | "shopKey": "ay", 9 | "countryCode": "AT" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/RedirectUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "source": "https:\/\/google.com", 3 | "target": "https:\/\/google2.com", 4 | "statusCode": 302, 5 | "isRegex": false, 6 | "priority": 1, 7 | "createdAt": "2024-06-20T13:20:21+00:00", 8 | "updatedAt": "2024-06-20T13:20:21+00:00" 9 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopGetCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BrandGetCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignGetCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "firstName": "John", 3 | "lastName": "Doe", 4 | "gender": "m", 5 | "birthDate": "1980-01-01", 6 | "email": "john.doe@example.com", 7 | "phone": "0049\/1234567890", 8 | "publicKey": "customer-1234", 9 | "title": "Prof." 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantGetCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductGetCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantStockCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "quantity": 17, 3 | "warehouseReferenceKey": "myWarehouse", 4 | "changedAt": "2020-07-23T11:30:58+00:00", 5 | "sellableWithoutStock": false, 6 | "merchantReferenceKey": "merchant-1", 7 | "expectedAvailabilityAt": "2020-07-24" 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantStockCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "quantity": 17, 3 | "warehouseReferenceKey": "myWarehouse", 4 | "changedAt": "2020-07-23T11:30:58+00:00", 5 | "sellableWithoutStock": false, 6 | "merchantReferenceKey": "merchant-1", 7 | "expectedAvailabilityAt": "2020-07-24" 8 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantUnlockAttributeGroupRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "shopCountries": [ 3 | { 4 | "shopKey": "ay", 5 | "countryCode": "DE" 6 | }, 7 | { 8 | "shopKey": "ay", 9 | "countryCode": "AT" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantGetContactResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "email": "foo@bar.org", 4 | "phone": "123456789", 5 | "cellPhone": "123456789", 6 | "name": "John Doe", 7 | "type": "general", 8 | "position": "Partner Service", 9 | "description": "Additional information" 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantGetCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/PromotionItemSetGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "64cbc70225ae598c0d0d0334", 3 | "name": "T-Shirts", 4 | "variantIds": [ 5 | 1, 6 | 2, 7 | 3 8 | ], 9 | "condition": "payload.items.exists(i, 11003 in i.variant.id)", 10 | "eligibleItemsQuantity": 1 11 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryGetCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryGetCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCreateOrUpdateCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BrandCreateOrUpdateCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BrandCreateOrUpdateCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignCreateOrUpdateCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignCreateOrUpdateCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateContactResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "email": "foo@bar.org", 4 | "phone": "123456789", 5 | "cellPhone": "123456789", 6 | "name": "John Doe", 7 | "type": "general", 8 | "position": "Partner Service", 9 | "description": "Additional information" 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateOrUpdateCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateOrUpdateCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantUpdateContactResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "email": "foo@bar.org", 4 | "phone": "123456789", 5 | "cellPhone": "123456789", 6 | "name": "John Doe", 7 | "type": "general", 8 | "position": "Partner Service", 9 | "description": "Additional information" 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductCreateOrUpdateCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductCreateOrUpdateCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/PromotionItemSetCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "64cbc70225ae598c0d0d0334", 3 | "name": "T-Shirts", 4 | "variantIds": [ 5 | 1, 6 | 2, 7 | 3 8 | ], 9 | "condition": "payload.items.exists(i, 11003 in i.variant.id)", 10 | "eligibleItemsQuantity": 1 11 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCreateOrUpdateCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BrandCreateOrUpdateCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/OrderCreateOrUpdateLegacyCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductCreateOrUpdateCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantCreateOrUpdateCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryCreateOrUpdateCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryCreateOrUpdateCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryGetCustomDataForCountryResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryCreateOrUpdateCustomDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryCreateOrUpdateCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCreateOrUpdateCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignCreateOrUpdateCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantCreateOrUpdateCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantCreateOrUpdateCustomDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryCreateOrUpdateCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryCreateOrUpdateCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignAllReductionsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "productVariantId": 123, 6 | "productVariantReferenceKey": "myKey", 7 | "reduction": 10 8 | } 9 | ], 10 | "cursor": { 11 | "next": null 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/OrderBillingStatusUpdateOrderBillingStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": "billing_partially_refunded", 3 | "items": [ 4 | { 5 | "id": 1, 6 | "code": "billing_refunded" 7 | } 8 | ], 9 | "reason": "Manual override to reflect external refund for item 98765." 10 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductImageCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "myReferenceKey", 3 | "name": "some_name", 4 | "assetUrl": "images\/my_image.jpg", 5 | "attributes": [ 6 | { 7 | "name": "view", 8 | "type": "simple", 9 | "value": "front" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantCreateOrUpdateCustomDataForKeyResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryCreateOrUpdateCustomDataForCountryRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryCreateOrUpdateCustomDataForCountryResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterCategoryGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 3, 3 | "parentId": 1, 4 | "path": [ 5 | "Fashion", 6 | "Men" 7 | ], 8 | "attributes": [ 9 | { 10 | "name": "season", 11 | "type": "simple", 12 | "isMandatory": false 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryCreateOrUpdateCustomDataKeyForCountryResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "isValid": true, 3 | "name": "ayou", 4 | "score": 100, 5 | "some-json": { 6 | "de_DE": { 7 | "color": "weiss" 8 | }, 9 | "en_GB": { 10 | "color": "white" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterCategoryCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 3, 3 | "parentId": 1, 4 | "path": [ 5 | "Fashion", 6 | "Men" 7 | ], 8 | "attributes": [ 9 | { 10 | "name": "season", 11 | "type": "simple", 12 | "isMandatory": false 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MasterCategoryUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 3, 3 | "parentId": 1, 4 | "path": [ 5 | "Fashion", 6 | "Men" 7 | ], 8 | "attributes": [ 9 | { 10 | "name": "season", 11 | "type": "simple", 12 | "isMandatory": false 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductUpdateStateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "state": "live", 3 | "merchantProductStates": [ 4 | { 5 | "merchantReferenceKey": "foo", 6 | "state": "live" 7 | }, 8 | { 9 | "merchantReferenceKey": "bar", 10 | "state": "blocked" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "countryCode": "DE", 3 | "currencyCode": "EUR", 4 | "defaultLanguageCode": "de_DE", 5 | "supportedLanguageCodes": [ 6 | "de_DE", 7 | "en_GB" 8 | ], 9 | "url": "https:\/\/www.shop.de", 10 | "smartSortingKey": "scayle:v1:inventory-optimization" 11 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "countryCode": "DE", 3 | "currencyCode": "EUR", 4 | "defaultLanguageCode": "de_DE", 5 | "supportedLanguageCodes": [ 6 | "de_DE", 7 | "en_GB" 8 | ], 9 | "url": "https:\/\/www.shop.de", 10 | "smartSortingKey": "scayle:v1:inventory-optimization" 11 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomDataConfigGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "test", 5 | "type": "string", 6 | "defaultValue": "default value", 7 | "inherit": false, 8 | "rules": { 9 | "required": true 10 | } 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomDataConfigCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "test", 5 | "type": "string", 6 | "defaultValue": "default value", 7 | "inherit": false, 8 | "rules": { 9 | "required": true 10 | } 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomDataConfigCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "test", 5 | "type": "string", 6 | "defaultValue": "default value", 7 | "inherit": false, 8 | "rules": { 9 | "required": true 10 | } 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomDataConfigUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "test", 5 | "type": "string", 6 | "defaultValue": "default value", 7 | "inherit": false, 8 | "rules": { 9 | "required": true 10 | } 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomDataConfigUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "test", 5 | "type": "string", 6 | "defaultValue": "default value", 7 | "inherit": false, 8 | "rules": { 9 | "required": true 10 | } 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCategoryCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": { 3 | "de_DE": "Meine Shop Kategorie", 4 | "en_GB": "My Shop Category" 5 | }, 6 | "properties": [ 7 | { 8 | "key": "myKey", 9 | "value": "myValue" 10 | } 11 | ], 12 | "isActive": true, 13 | "isVisible": true 14 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupGetAttributesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | "Baumwolle", 4 | "Polyester", 5 | "Holz", 6 | "Wolle", 7 | "Leder", 8 | "Synthetic", 9 | "Baumwolle test locked", 10 | "BaumwolleOne" 11 | ], 12 | "cursor": { 13 | "next": null 14 | } 15 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CarrierAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "key": "DHL_STD_NATIONAL", 6 | "name": "DHL", 7 | "trackingUrl": "http:\/\/nolp.dhl.de\/nextt-online-public\/set_identcodes.do" 8 | } 9 | ], 10 | "cursor": { 11 | "next": null 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductPatchSimilarProductsRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "shopKey": "ay", 4 | "productIds": [ 5 | 1, 6 | 2 7 | ] 8 | }, 9 | { 10 | "shopKey": "ay", 11 | "countryCode": "DE", 12 | "productIds": [ 13 | 1, 14 | 2 15 | ] 16 | } 17 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/BulkRequestStatusAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "key": 123, 5 | "status": "cancelled", 6 | "progress": { 7 | "totalOperations": 0, 8 | "processedOperations": 0, 9 | "failedOperations": 0 10 | } 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/RedirectCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "source": "https:\/\/google.com", 3 | "target": "https:\/\/google2.com", 4 | "statusCode": 302, 5 | "parent": { 6 | "id": 2 7 | }, 8 | "isRegex": false, 9 | "priority": 1, 10 | "createdAt": "2024-06-20T13:20:21+00:00", 11 | "updatedAt": "2024-06-20T13:20:21+00:00" 12 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/AbstractApiObject.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | public abstract class AbstractApiObject implements ApiObjectInterface { 4 | private transient Meta meta; 5 | 6 | public Meta getMeta() { 7 | return this.meta; 8 | } 9 | 10 | public void setMeta(Meta meta) { 11 | this.meta = meta; 12 | } 13 | } -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | * 4 | * The settings file is used to specify which projects to include in your build. 5 | * 6 | * Detailed information about configuring a multi-project build in Gradle can be found 7 | * in the user manual at https://docs.gradle.org/8.8/userguide/multi_project_builds.html 8 | */ 9 | 10 | rootProject.name = 'AdminAPI' -------------------------------------------------------------------------------- /src/test/resources/fixtures/ReturnItemSendRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "received": "2021-11-09 07:30:27", 4 | "returnKey": "ayou-139-13376599_48_1", 5 | "returnReason": "cci-manual-return" 6 | }, 7 | { 8 | "received": "2021-11-09 07:30:27", 9 | "returnKey": "ayou-139-13376599_48_1", 10 | "returnReason": "cci-manual-return" 11 | } 12 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductSortingDeleteRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "productId": 1, 4 | "shopKey": "ms", 5 | "sortKey": "default", 6 | "sortValue": 1 7 | }, 8 | { 9 | "productReferenceKey": "my-product", 10 | "shopKey": "ms", 11 | "countryCode": "DE", 12 | "sortKey": "default", 13 | "sortValue": 2 14 | } 15 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/WebhookEventAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "event": "customer-created", 5 | "version": 1, 6 | "description": "Called when a customer is created.", 7 | "isDeprecated": false, 8 | "supportedFilters": { 9 | "merchants": false 10 | } 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductSortingUpdateOrCreateRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "productId": 1, 4 | "shopKey": "ms", 5 | "sortKey": "default", 6 | "sortValue": 1 7 | }, 8 | { 9 | "productReferenceKey": "my-product", 10 | "shopKey": "ms", 11 | "countryCode": "DE", 12 | "sortKey": "default", 13 | "sortValue": 2 14 | } 15 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/WebhookSubscriptionUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "https:\/\/foo:bar@foobar.tld\/notify\/v2", 3 | "filters": [ 4 | { 5 | "merchantReferenceKeys": { 6 | "include": { 7 | "add": [ 8 | "merchant-3" 9 | ] 10 | } 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/EmailKeyAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 123, 5 | "key": "subscription-order-created-email", 6 | "name": "Subscription Order created email", 7 | "createdAt": "2024-01-01T09:30:15+00:00", 8 | "updatedAt": "2024-01-01T09:30:15+00:00" 9 | } 10 | ], 11 | "cursor": { 12 | "next": "Mgo=" 13 | } 14 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/WebhookSubscriptionCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "event": "customer-created", 3 | "version": 1, 4 | "url": "https:\/\/foo:bar@foobar.tld\/notifiy", 5 | "filters": [ 6 | { 7 | "merchantReferenceKeys": { 8 | "include": [ 9 | "merchant-1", 10 | "merchant-2" 11 | ] 12 | } 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AudienceGetAudienceResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "645e0c241a93369ff53f26e0", 3 | "name": "VIP customers", 4 | "description": "German VIP Customers from Hamburg only", 5 | "companyIds": [ 6 | 100 7 | ], 8 | "customerIds": [ 9 | 345, 10 | 456, 11 | 567 12 | ], 13 | "createdAt": "2023-05-10T10:00:00+00:00", 14 | "updatedAt": "2023-05-10T10:00:00+00:00" 15 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "color", 4 | "frontendName": { 5 | "de_DE": "Farbe", 6 | "en_GB": "Color" 7 | }, 8 | "type": "simple", 9 | "structure": null, 10 | "isShared": true, 11 | "level": "product", 12 | "group": "someName", 13 | "shopCountries": null, 14 | "isOverridablePerShop": false, 15 | "isDifferentiating": false 16 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "color", 4 | "frontendName": { 5 | "de_DE": "Farbe", 6 | "en_GB": "Color" 7 | }, 8 | "type": "simple", 9 | "structure": null, 10 | "isShared": true, 11 | "level": "product", 12 | "group": "someName", 13 | "shopCountries": null, 14 | "isOverridablePerShop": false, 15 | "isDifferentiating": false 16 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AttributeGroupUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "color", 4 | "frontendName": { 5 | "de_DE": "Farbe", 6 | "en_GB": "Color" 7 | }, 8 | "type": "simple", 9 | "structure": null, 10 | "isShared": true, 11 | "level": "product", 12 | "group": "someName", 13 | "shopCountries": null, 14 | "isOverridablePerShop": false, 15 | "isDifferentiating": false 16 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AudienceCreateAudienceResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "645e0c241a93369ff53f26e0", 3 | "name": "VIP customers", 4 | "description": "German VIP Customers from Hamburg only", 5 | "companyIds": [ 6 | 100 7 | ], 8 | "customerIds": [ 9 | 345, 10 | 456, 11 | 567 12 | ], 13 | "createdAt": "2023-05-10T10:00:00+00:00", 14 | "updatedAt": "2023-05-10T10:00:00+00:00" 15 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AudienceUpdateAudienceResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "645e0c241a93369ff53f26e0", 3 | "name": "VIP customers", 4 | "description": "German VIP Customers from Hamburg only", 5 | "companyIds": [ 6 | 100 7 | ], 8 | "customerIds": [ 9 | 345, 10 | 456, 11 | 567 12 | ], 13 | "createdAt": "2023-05-10T10:00:00+00:00", 14 | "updatedAt": "2023-05-10T10:00:00+00:00" 15 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerGetMembershipsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 5, 5 | "isActive": true, 6 | "accountNumber": "1234567890", 7 | "typeKey": "payback", 8 | "createdAt": "2023-01-22T11:30:15+00:00", 9 | "updatedAt": "2023-01-22T11:30:15+00:00" 10 | } 11 | ], 12 | "cursor": { 13 | "next": "1" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderTax.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderTax extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("vat") 19 | OrderVat vat; 20 | 21 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShipmentCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "shopKey": "ms", 3 | "countryCode": "de", 4 | "carrier": "HERMES_KLV", 5 | "deliveryDate": "2021-09-23T11:30:58+00:00", 6 | "items": [ 7 | { 8 | "orderItemId": 67219436, 9 | "returnKey": "550357807160" 10 | } 11 | ], 12 | "orderId": 123, 13 | "returnIdentCode": "123456789012", 14 | "shipmentKey": "582301b967d97" 15 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/WebhookSubscriptionCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 42, 3 | "event": "customer-created", 4 | "version": 1, 5 | "url": "https:\/\/***:***@foobar.tld\/notifiy", 6 | "filters": [ 7 | { 8 | "merchantReferenceKeys": { 9 | "include": [ 10 | "merchant-1", 11 | "merchant-2" 12 | ] 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/WebhookSubscriptionGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 42, 3 | "event": "customer-created", 4 | "version": 1, 5 | "url": "https:\/\/***:***@foobar.tld\/notifiy", 6 | "filters": [ 7 | { 8 | "merchantReferenceKeys": { 9 | "include": [ 10 | "merchant-1", 11 | "merchant-2" 12 | ] 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderDeliverable.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderDeliverable extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("key") 19 | String key; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ErrorResponse.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ErrorResponse extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("errors") 19 | List errors; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderItemProductImage.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderItemProductImage extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("hash") 19 | String hash; 20 | 21 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/OrderGetOrderInvoicesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "createdAt": "2025-01-29T16:39:53+00:00", 6 | "type": "partial_invoice", 7 | "invoice": { 8 | "number": 5, 9 | "fullNumber": "ayou-24-5" 10 | }, 11 | "available": true 12 | } 13 | ], 14 | "cursor": { 15 | "next": "Mgo=" 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/AttributeGroupAttribute.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class AttributeGroupAttribute extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("value") 19 | Object value; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/BulkRequest.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class BulkRequest extends AbstractModel { 15 | /** 16 | * Bulk request identifier 17 | */ 18 | @SerializedName("key") 19 | Integer key; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CancellationItem.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class CancellationItem extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("orderItemId") 19 | Integer orderItemId; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderTaxWithMandatoryVat.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderTaxWithMandatoryVat extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("vat") 19 | OrderVat vat; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/SubscriptionOrderVoucher.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class SubscriptionOrderVoucher extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("code") 19 | String code; 20 | 21 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantAllReturnAddressesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "name": "Return Point", 6 | "street": "Domstrasse", 7 | "streetNo": "10", 8 | "zipCode": "22303", 9 | "city": "Hamburg", 10 | "countryCode": "DE", 11 | "dhlCode": "JVGL0849489024" 12 | } 13 | ], 14 | "cursor": { 15 | "next": null 16 | } 17 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductsFirstLiveAtUpdateProductsFirstLiveAtRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "shopKey": "ms", 3 | "countryCodes": [ 4 | "DE", 5 | "AT", 6 | "CH" 7 | ], 8 | "products": [ 9 | { 10 | "productId": 1, 11 | "firstLiveAt": "2023-07-20T11:30:58+00:00" 12 | }, 13 | { 14 | "productId": 2, 15 | "firstLiveAt": "2020-07-19T12:20:11+00:00" 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/Asset.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class Asset extends AbstractModel { 15 | /** 16 | * A source from where to upload an asset. 17 | */ 18 | @SerializedName("source") 19 | AssetSource source; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderItemVariantStock.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderItemVariantStock extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("supplierId") 19 | Integer supplierId; 20 | 21 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/RedirectCreateOrUpdateBulkResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "source": "https:\/\/example2.com", 5 | "target": "https:\/\/example2.com", 6 | "statusCode": 302, 7 | "isRegex": false, 8 | "priority": 1, 9 | "error": { 10 | "errorKey": "validation_error", 11 | "message": "Some validation error" 12 | } 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/AssetUrl.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class AssetUrl extends AbstractModel { 15 | /** 16 | * URL of the image, generated by SCAYLE. 17 | */ 18 | @SerializedName("assetUrl") 19 | String assetUrl; 20 | 21 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/WebhookSubscriptionUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 42, 3 | "event": "customer-created", 4 | "version": 1, 5 | "url": "https:\/\/foo:bar@foobar.tld\/notify\/v2", 6 | "filters": [ 7 | { 8 | "merchantReferenceKeys": { 9 | "include": [ 10 | "merchant-1", 11 | "merchant-2", 12 | "merchant-3" 13 | ] 14 | } 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ApiCollection.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import com.scayle.adminapi.model.Cursor; 8 | 9 | import lombok.Getter; 10 | 11 | @Getter 12 | public class ApiCollection extends AbstractApiObject implements ApiObjectInterface{ 13 | @SerializedName("entities") 14 | List entities; 15 | 16 | @SerializedName("cursor") 17 | Cursor cursor; 18 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/MerchantAllContactsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "email": "foo@bar.org", 6 | "phone": "123456789", 7 | "cellPhone": "123456789", 8 | "name": "John Doe", 9 | "type": "general", 10 | "position": "Partner Service", 11 | "description": "Additional information" 12 | } 13 | ], 14 | "cursor": { 15 | "next": null 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CustomerGroup.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class CustomerGroup extends AbstractModel { 15 | /** 16 | * Group to which the customer belongs to 17 | */ 18 | @SerializedName("groups") 19 | List groups; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionCodes.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionCodes extends AbstractModel { 15 | /** 16 | * List of promotion codes 17 | */ 18 | @SerializedName("promotionCodes") 19 | List promotionCodes; 20 | 21 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ReservationCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "referenceKey": "order4711-item3", 5 | "id": 123 6 | }, 7 | { 8 | "referenceKey": "order4711-item4", 9 | "error": { 10 | "errorKey": "VARIANT_NOT_FOUND", 11 | "message": "The combination of warehouseReferenceKey, variant id\/key and merchantReferenceKey was not found." 12 | } 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ShopCountriesToUnlock.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ShopCountriesToUnlock extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("shopCountries") 19 | List shopCountries; 20 | 21 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/PromotionItemSetAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": "64cbc70225ae598c0d0d0334", 5 | "name": "T-Shirts", 6 | "variantIds": [ 7 | 1, 8 | 2, 9 | 3 10 | ], 11 | "condition": "payload.items.exists(i, 11003 in i.variant.id)", 12 | "eligibleItemsQuantity": 1 13 | } 14 | ], 15 | "cursor": { 16 | "next": "Mgo=" 17 | } 18 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "My Campaign", 3 | "description": "My first campaign", 4 | "countryCodes": [ 5 | "DE", 6 | "AT" 7 | ], 8 | "reduction": 14.75, 9 | "startAt": "2021-01-23T11:30:58+00:00", 10 | "endAt": "2021-09-23T11:30:58+00:00", 11 | "campaignKey": "05f962c8-857b-462a-bea2-54e2bfecf729", 12 | "customData": { 13 | "devicesAllowed": [ 14 | "app", 15 | "web" 16 | ] 17 | } 18 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "My Campaign", 3 | "description": "My first campaign", 4 | "countryCodes": [ 5 | "DE", 6 | "AT" 7 | ], 8 | "reduction": 14.75, 9 | "startAt": "2021-01-23T11:30:58+00:00", 10 | "endAt": "2021-09-23T11:30:58+00:00", 11 | "campaignKey": "05f962c8-857b-462a-bea2-54e2bfecf729", 12 | "customData": { 13 | "devicesAllowed": [ 14 | "app", 15 | "web" 16 | ] 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionUsageLimitPromotion.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionUsageLimitPromotion extends AbstractModel { 15 | /** 16 | * Promotion total usage limit count 17 | */ 18 | @SerializedName("count") 19 | Integer count; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionSiblingPromotionLevel.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionSiblingPromotionLevel { 6 | @SerializedName("basket") 7 | VALUE_BASKET("basket"); 8 | 9 | 10 | private final String val; 11 | 12 | PromotionSiblingPromotionLevel(String val) { 13 | this.val = val; 14 | } 15 | 16 | @Override 17 | public String toString() { 18 | return val; 19 | } 20 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ChannelCreateChannelRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "online-store-de", 3 | "type": "marketplace", 4 | "name": "Online Store (Germany)", 5 | "description": "Primary sales channel for all German marketplace orders.", 6 | "shopCountryId": 5, 7 | "active": true, 8 | "defaultPaymentMethod": { 9 | "id": 22 10 | }, 11 | "configs": { 12 | "emailsEnabled": true, 13 | "invoicesEnabled": true, 14 | "externalPriceOverrideEnabled": false 15 | } 16 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/OrderGetStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "invoice_completed", 3 | "detailedStatus": { 4 | "billing": { 5 | "code": "billing_payment_pending", 6 | "name": "Zahlung reserviert" 7 | }, 8 | "order": { 9 | "code": "order_invoiced", 10 | "name": "Invoiced" 11 | }, 12 | "shipping": { 13 | "code": "shipping_partially_returned", 14 | "name": "Teilweise Retoure" 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionSiblingPromotionsLevel.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionSiblingPromotionsLevel { 6 | @SerializedName("basket") 7 | VALUE_BASKET("basket"); 8 | 9 | 10 | private final String val; 11 | 12 | PromotionSiblingPromotionsLevel(String val) { 13 | this.val = val; 14 | } 15 | 16 | @Override 17 | public String toString() { 18 | return val; 19 | } 20 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "My Campaign", 4 | "description": "My first campaign", 5 | "countryCodes": [ 6 | "DE", 7 | "AT" 8 | ], 9 | "reduction": 14.75, 10 | "startAt": "2021-01-23T11:30:58+00:00", 11 | "endAt": "2021-09-23T11:30:58+00:00", 12 | "campaignKey": "e7e9b3cb-49dd-4d31-93b9-53e4ebd8b016", 13 | "customData": { 14 | "devicesAllowed": [ 15 | "app", 16 | "web" 17 | ] 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CustomDataConfig.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class CustomDataConfig extends AbstractModel { 15 | /** 16 | * Collection of custom config properties. 17 | */ 18 | @SerializedName("properties") 19 | List properties; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/RateLimit.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class RateLimit { 7 | private String scope; 8 | private Integer limit; 9 | private Integer remaining; 10 | private Integer reset; 11 | 12 | public RateLimit(String scope, Integer limit, Integer remaining, Integer reset) { 13 | this.scope = scope; 14 | this.limit = limit; 15 | this.remaining = remaining; 16 | this.reset = reset; 17 | } 18 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "My Campaign", 4 | "description": "My first campaign", 5 | "countryCodes": [ 6 | "DE", 7 | "AT" 8 | ], 9 | "reduction": 14.75, 10 | "startAt": "2021-01-23T11:30:58+00:00", 11 | "endAt": "2021-09-23T11:30:58+00:00", 12 | "campaignKey": "e7e9b3cb-49dd-4d31-93b9-53e4ebd8b016", 13 | "customData": { 14 | "devicesAllowed": [ 15 | "app", 16 | "web" 17 | ] 18 | } 19 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "My Campaign", 4 | "description": "My first campaign", 5 | "countryCodes": [ 6 | "DE", 7 | "AT" 8 | ], 9 | "reduction": 14.75, 10 | "startAt": "2021-01-23T11:30:58+00:00", 11 | "endAt": "2021-09-23T11:30:58+00:00", 12 | "campaignKey": "e7e9b3cb-49dd-4d31-93b9-53e4ebd8b016", 13 | "customData": { 14 | "devicesAllowed": [ 15 | "app", 16 | "web" 17 | ] 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/WebhookSubscriptionFilter.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class WebhookSubscriptionFilter extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("merchantReferenceKeys") 19 | WebhookSubscriptionMerchantFilter merchantReferenceKeys; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionLevel.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionLevel { 6 | @SerializedName("basket") 7 | VALUE_BASKET("basket"), 8 | 9 | @SerializedName("item") 10 | VALUE_ITEM("item"); 11 | 12 | 13 | private final String val; 14 | 15 | PromotionLevel(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderVat.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderVat extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("amount") 19 | Double amount; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("rate") 25 | Double rate; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderReferenceKey.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderReferenceKey extends AbstractModel { 15 | /** 16 | * External reference set by the client to integrate a third party system. 17 | */ 18 | @SerializedName("referenceKey") 19 | String referenceKey; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionTierEffectV1.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionTierEffectV1 extends AbstractModel { 15 | /** 16 | * Additional data of the promotion tier effect 17 | */ 18 | @SerializedName("additionalData") 19 | Map additionalData; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/VoucherType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum VoucherType { 6 | @SerializedName("absolute") 7 | VALUE_ABSOLUTE("absolute"), 8 | 9 | @SerializedName("relative") 10 | VALUE_RELATIVE("relative"); 11 | 12 | 13 | private final String val; 14 | 15 | VoucherType(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CustomerReferenceKey.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class CustomerReferenceKey extends AbstractModel { 15 | /** 16 | * External reference set by the client to integrate a third party system. 17 | */ 18 | @SerializedName("referenceKey") 19 | String referenceKey; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderContact.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderContact extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("type") 19 | String type; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("value") 25 | String value; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderPackageTracking.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderPackageTracking extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("id") 19 | String id; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("url") 25 | String url; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderSubsequentDelivery.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.OrderSubsequentDeliveryKey; 12 | 13 | @Getter 14 | @Setter 15 | public class OrderSubsequentDelivery extends AbstractModel { 16 | /** 17 | * 18 | */ 19 | @SerializedName("key") 20 | OrderSubsequentDeliveryKey key; 21 | 22 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialWebhookSubscriptionFilter.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialWebhookSubscriptionFilter extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("merchantReferenceKeys") 19 | PartialWebhookSubscriptionMerchantFilter merchantReferenceKeys; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionCode.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionCode extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("code") 19 | String code; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("enabled") 25 | Boolean enabled; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/WebhookEventSupportedFilters.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class WebhookEventSupportedFilters extends AbstractModel { 15 | /** 16 | * Specifies if the webhook event could be filtered by merchant keys 17 | */ 18 | @SerializedName("merchants") 19 | Boolean merchants; 20 | 21 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/RedirectCreateOrUpdateBulkRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "source": "https:\/\/example.com", 4 | "target": "https:\/\/example2.com", 5 | "statusCode": 301, 6 | "parent": { 7 | "id": 2 8 | }, 9 | "isRegex": false, 10 | "priority": 1 11 | }, 12 | { 13 | "id": 1, 14 | "source": "https:\/\/example2.com", 15 | "target": "https:\/\/example3.com", 16 | "statusCode": 302, 17 | "isRegex": false, 18 | "priority": 1 19 | } 20 | ] -------------------------------------------------------------------------------- /src/test/resources/fixtures/WarehouseCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "referenceKey": "my-warehouse", 4 | "merchants": [ 5 | { 6 | "id": 1, 7 | "referenceKey": "acme", 8 | "name": "ACME", 9 | "priority": 1 10 | } 11 | ], 12 | "shopCountries": [ 13 | { 14 | "shopKey": "ms", 15 | "countryCode": "de", 16 | "priority": 100, 17 | "packageGroup": { 18 | "id": 3 19 | } 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderVoucherItem.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderVoucherItem extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("isApplied") 19 | Boolean isApplied; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("key") 25 | String key; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/VoucherConstraintsOrder.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class VoucherConstraintsOrder extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("max") 19 | Integer max; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("min") 25 | Integer min; 26 | 27 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantPriceCreateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "price": 80, 3 | "oldPrice": 100, 4 | "recommendedRetailPrice": 90, 5 | "buyingPrice": 70, 6 | "tax": 19, 7 | "countryCode": "DE", 8 | "currencyCode": "EUR", 9 | "groupKey": "myGroupKey", 10 | "promotionKey": "myPromotionKey", 11 | "unitPrice": { 12 | "unit": "ml", 13 | "amount": 100, 14 | "price": 399 15 | }, 16 | "validFrom": "2021-09-23T11:30:58+00:00", 17 | "validTo": null, 18 | "merchantReferenceKey": "merchant-1" 19 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/CustomerAddressType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum CustomerAddressType { 6 | @SerializedName("shipping") 7 | VALUE_SHIPPING("shipping"), 8 | 9 | @SerializedName("billing") 10 | VALUE_BILLING("billing"); 11 | 12 | 13 | private final String val; 14 | 15 | CustomerAddressType(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionConditionLevel.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionConditionLevel { 6 | @SerializedName("global") 7 | VALUE_GLOBAL("global"), 8 | 9 | @SerializedName("item") 10 | VALUE_ITEM("item"); 11 | 12 | 13 | private final String val; 14 | 15 | PromotionConditionLevel(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ReservationError.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ReservationError extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("errorKey") 19 | String errorKey; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("message") 25 | String message; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionActivationType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionActivationType { 6 | @SerializedName("automatic") 7 | VALUE_AUTOMATIC("automatic"), 8 | 9 | @SerializedName("code") 10 | VALUE_CODE("code"); 11 | 12 | 13 | private final String val; 14 | 15 | PromotionActivationType(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/VoucherCriteriaKeyType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum VoucherCriteriaKeyType { 6 | @SerializedName("include") 7 | VALUE_INCLUDE("include"), 8 | 9 | @SerializedName("exclude") 10 | VALUE_EXCLUDE("exclude"); 11 | 12 | 13 | private final String val; 14 | 15 | VoucherCriteriaKeyType(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CustomerAddressReferenceKey.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class CustomerAddressReferenceKey extends AbstractModel { 15 | /** 16 | * External address reference set by the client to integrate a third party system. 17 | */ 18 | @SerializedName("referenceKey") 19 | String referenceKey; 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CustomerAddressDefault.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class CustomerAddressDefault extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("billing") 19 | Boolean billing; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("shipping") 25 | Boolean shipping; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ShipmentOrderItem.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ShipmentOrderItem extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("orderItemId") 19 | Integer orderItemId; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("returnKey") 25 | String returnKey; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/SubscriptionOrderItemPromotion.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class SubscriptionOrderItemPromotion extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("id") 19 | String id; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("code") 25 | String code; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/VoucherConstraintsDate.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class VoucherConstraintsDate extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("max") 19 | java.time.Instant max; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("min") 25 | java.time.Instant min; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/SubscriptionOrderMembershipCard.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class SubscriptionOrderMembershipCard extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("number") 19 | String number; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("type") 25 | String type; 26 | 27 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantPriceCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "1-100", 3 | "price": 80, 4 | "oldPrice": 100, 5 | "recommendedRetailPrice": 90, 6 | "buyingPrice": 70, 7 | "tax": 19, 8 | "countryCode": "DE", 9 | "currencyCode": "EUR", 10 | "groupKey": "myGroupKey", 11 | "promotionKey": "myPromotionKey", 12 | "unitPrice": { 13 | "unit": "ml", 14 | "amount": 100, 15 | "price": 399 16 | }, 17 | "validFrom": "2021-09-23T11:30:58+00:00", 18 | "validTo": null, 19 | "merchantReferenceKey": "merchant-1" 20 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/TransactionOperationStatus.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum TransactionOperationStatus { 6 | @SerializedName("successful") 7 | VALUE_SUCCESSFUL("successful"), 8 | 9 | @SerializedName("failed") 10 | VALUE_FAILED("failed"); 11 | 12 | 13 | private final String val; 14 | 15 | TransactionOperationStatus(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/Company.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class Company extends AbstractModel { 15 | /** 16 | * The ID of the company created by SCAYLE. 17 | */ 18 | @SerializedName("id") 19 | Integer id; 20 | 21 | /** 22 | * Name of the company. 23 | */ 24 | @SerializedName("name") 25 | String name; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderReductionAmount.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderReductionAmount extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("absoluteWithTax") 19 | Integer absoluteWithTax; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("relative") 25 | Double relative; 26 | 27 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/BulkOperationStatusGetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "eligendi67672eae50723", 3 | "status": "processed", 4 | "response": { 5 | "body": { 6 | "key": "test_color", 7 | "level": "product", 8 | "isAdvanced": true 9 | }, 10 | "statusCode": 201 11 | }, 12 | "bulkRequest": { 13 | "key": 123, 14 | "status": "processing", 15 | "progress": { 16 | "totalOperations": 0, 17 | "processedOperations": 0, 18 | "failedOperations": 0 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/BulkRequestCreationStatus.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum BulkRequestCreationStatus { 6 | @SerializedName("complete") 7 | VALUE_COMPLETE("complete"), 8 | 9 | @SerializedName("incomplete") 10 | VALUE_INCOMPLETE("incomplete"); 11 | 12 | 13 | private final String val; 14 | 15 | BulkRequestCreationStatus(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/RoundingType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum RoundingType { 6 | @SerializedName("nearest") 7 | VALUE_NEAREST("nearest"), 8 | 9 | @SerializedName("up") 10 | VALUE_UP("up"), 11 | 12 | @SerializedName("down") 13 | VALUE_DOWN("down"); 14 | 15 | 16 | private final String val; 17 | 18 | RoundingType(String val) { 19 | this.val = val; 20 | } 21 | 22 | @Override 23 | public String toString() { 24 | return val; 25 | } 26 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/AssetSource.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class AssetSource extends AbstractModel { 15 | /** 16 | * URL of remote asset. 17 | */ 18 | @SerializedName("url") 19 | String url; 20 | 21 | /** 22 | * Base64-encoded binary asset data. 23 | */ 24 | @SerializedName("attachment") 25 | String attachment; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/MerchantCarrier.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class MerchantCarrier extends AbstractModel { 15 | /** 16 | * ISO 3166 alpha 2 country code. 17 | */ 18 | @SerializedName("countryCode") 19 | String countryCode; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("carrier") 25 | Carrier carrier; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/SubscriptionOrderCarrierDeliveryDate.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class SubscriptionOrderCarrierDeliveryDate extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("maximum") 19 | String maximum; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("minimum") 25 | String minimum; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/Gender.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum Gender { 6 | @SerializedName("f") 7 | VALUE_F("f"), 8 | 9 | @SerializedName("m") 10 | VALUE_M("m"), 11 | 12 | @SerializedName("d") 13 | VALUE_D("d"), 14 | 15 | @SerializedName("n") 16 | VALUE_N("n"); 17 | 18 | 19 | private final String val; 20 | 21 | Gender(String val) { 22 | this.val = val; 23 | } 24 | 25 | @Override 26 | public String toString() { 27 | return val; 28 | } 29 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionEffectDiscountDistribution.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionEffectDiscountDistribution { 6 | @SerializedName("none") 7 | VALUE_NONE("none"), 8 | 9 | @SerializedName("pro_rata") 10 | VALUE_PRO_RATA("pro_rata"); 11 | 12 | 13 | private final String val; 14 | 15 | PromotionEffectDiscountDistribution(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CreateBulkRequest.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class CreateBulkRequest extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("callbacks") 19 | BulkRequestCallbacks callbacks; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("operations") 25 | List operations; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionUsageLimitPromotionCodeType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionUsageLimitPromotionCodeType { 6 | @SerializedName("order") 7 | VALUE_ORDER("order"), 8 | 9 | @SerializedName("customer") 10 | VALUE_CUSTOMER("customer"); 11 | 12 | 13 | private final String val; 14 | 15 | PromotionUsageLimitPromotionCodeType(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderDetailedStatusItem.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderDetailedStatusItem extends AbstractModel { 15 | /** 16 | * Unique identifier of the state 17 | */ 18 | @SerializedName("code") 19 | String code; 20 | 21 | /** 22 | * Name of the state 23 | */ 24 | @SerializedName("name") 25 | String name; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionEffectBuyXGetYDiscountType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionEffectBuyXGetYDiscountType { 6 | @SerializedName("absolute") 7 | VALUE_ABSOLUTE("absolute"), 8 | 9 | @SerializedName("relative") 10 | VALUE_RELATIVE("relative"); 11 | 12 | 13 | private final String val; 14 | 15 | PromotionEffectBuyXGetYDiscountType(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/WebhookSubscriptionAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 42, 5 | "event": "customer-created", 6 | "version": 1, 7 | "url": "https:\/\/***:***@foobar.tld\/notifiy", 8 | "filters": [ 9 | { 10 | "merchantReferenceKeys": { 11 | "include": [ 12 | "merchant-1", 13 | "merchant-2" 14 | ] 15 | } 16 | } 17 | ] 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/exception/ApiError.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.exception; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Getter; 5 | 6 | @Getter 7 | public class ApiError { 8 | @SerializedName("errorKey") 9 | String errorKey; 10 | 11 | @SerializedName("message") 12 | String message; 13 | 14 | @SerializedName("context") 15 | Object context; 16 | 17 | public ApiError(String errorKey, String message, Object context) { 18 | this.errorKey = errorKey; 19 | this.message = message; 20 | this.context = context; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/DefaultPaymentMethod.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class DefaultPaymentMethod extends AbstractModel { 15 | /** 16 | * ID of the default payment method. 17 | */ 18 | @SerializedName("id") 19 | Integer id; 20 | 21 | /** 22 | * Key of the default payment method. 23 | */ 24 | @SerializedName("key") 25 | String key; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionEffectAutomationDiscountType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionEffectAutomationDiscountType { 6 | @SerializedName("relative") 7 | VALUE_RELATIVE("relative"), 8 | 9 | @SerializedName("absolute") 10 | VALUE_ABSOLUTE("absolute"); 11 | 12 | 13 | private final String val; 14 | 15 | PromotionEffectAutomationDiscountType(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/VoucherConstraintsApplicationsRestriction.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum VoucherConstraintsApplicationsRestriction { 6 | @SerializedName("customer") 7 | VALUE_CUSTOMER("customer"), 8 | 9 | @SerializedName("order") 10 | VALUE_ORDER("order"); 11 | 12 | 13 | private final String val; 14 | 15 | VoucherConstraintsApplicationsRestriction(String val) { 16 | this.val = val; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return val; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionStatus.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionStatus { 6 | @SerializedName("archived") 7 | VALUE_ARCHIVED("archived"), 8 | 9 | @SerializedName("inactive") 10 | VALUE_INACTIVE("inactive"), 11 | 12 | @SerializedName("active") 13 | VALUE_ACTIVE("active"); 14 | 15 | 16 | private final String val; 17 | 18 | PromotionStatus(String val) { 19 | this.val = val; 20 | } 21 | 22 | @Override 23 | public String toString() { 24 | return val; 25 | } 26 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/SubscriptionOrderAddress.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class SubscriptionOrderAddress extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("shipping") 19 | SubscriptionOrderAddressInstance shipping; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("billing") 25 | SubscriptionOrderAddressInstance billing; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/DefaultPaymentMethodResponse.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class DefaultPaymentMethodResponse extends AbstractModel { 15 | /** 16 | * ID of the default payment method. 17 | */ 18 | @SerializedName("id") 19 | Integer id; 20 | 21 | /** 22 | * Key of the default payment method. 23 | */ 24 | @SerializedName("key") 25 | String key; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderItemDeliveryForecast.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderItemDeliveryForecast extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("deliverable") 19 | OrderDeliverable deliverable; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("subsequentDelivery") 25 | OrderSubsequentDelivery subsequentDelivery; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionUsageLimit.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionUsageLimit extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("promotion") 19 | PromotionUsageLimitPromotion promotion; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("promotionCodes") 25 | PromotionUsageLimitPromotionCode promotionCodes; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ShopCategoryProperty.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ShopCategoryProperty extends AbstractModel { 15 | /** 16 | * The key of the shop category property. 17 | */ 18 | @SerializedName("key") 19 | String key; 20 | 21 | /** 22 | * The value of the shop category property. 23 | */ 24 | @SerializedName("value") 25 | String value; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PackageGroup.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PackageGroup extends AbstractModel { 15 | /** 16 | * The ID of the package group. 17 | */ 18 | @SerializedName("id") 19 | Integer id; 20 | 21 | public void setId(Integer value) { 22 | if (value == null) { 23 | this.setNull("id"); 24 | } 25 | this.id = value; 26 | } 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/RedirectError.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class RedirectError extends AbstractModel { 15 | /** 16 | * A key that describes the occurred error. 17 | */ 18 | @SerializedName("errorKey") 19 | String errorKey; 20 | 21 | /** 22 | * Some human readable description of the error. 23 | */ 24 | @SerializedName("message") 25 | String message; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderItemLowestPriorPrice.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderItemLowestPriorPrice extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("relativeDifferenceToPrice") 19 | Double relativeDifferenceToPrice; 20 | 21 | /** 22 | * Lowest price including taxes 23 | */ 24 | @SerializedName("withTax") 25 | Integer withTax; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderItemMerchant.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderItemMerchant extends AbstractModel { 15 | /** 16 | * The merchant id to which the item belongs. 17 | */ 18 | @SerializedName("id") 19 | Integer id; 20 | 21 | /** 22 | * A merchant reference key the item belongs to. 23 | */ 24 | @SerializedName("referenceKey") 25 | String referenceKey; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderPaymentInstallment.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.OrderPaymentInstallmentType; 12 | 13 | @Getter 14 | @Setter 15 | public class OrderPaymentInstallment extends AbstractModel { 16 | /** 17 | * 18 | */ 19 | @SerializedName("amount") 20 | Integer amount; 21 | 22 | /** 23 | * 24 | */ 25 | @SerializedName("type") 26 | OrderPaymentInstallmentType type; 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ProductAssortmentConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ProductAssortmentConfiguration extends AbstractModel { 15 | /** 16 | * The product IDs to include. 17 | */ 18 | @SerializedName("include") 19 | List include; 20 | 21 | /** 22 | * The product IDs to exclude. 23 | */ 24 | @SerializedName("exclude") 25 | List exclude; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ProductsFirstLiveAtProduct.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ProductsFirstLiveAtProduct extends AbstractModel { 15 | /** 16 | * Id of the product. 17 | */ 18 | @SerializedName("productId") 19 | Integer productId; 20 | 21 | /** 22 | * Date and time of first live at. 23 | */ 24 | @SerializedName("firstLiveAt") 25 | java.time.Instant firstLiveAt; 26 | 27 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/AudienceGetAudiencesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": "645e0c241a93369ff53f26e0", 5 | "name": "VIP customers", 6 | "description": "German VIP Customers from Hamburg only", 7 | "companyIds": [ 8 | 100 9 | ], 10 | "customerIds": [ 11 | 345, 12 | 456, 13 | 567 14 | ], 15 | "createdAt": "2023-05-10T10:00:00+00:00", 16 | "updatedAt": "2023-05-10T10:00:00+00:00" 17 | } 18 | ], 19 | "cursor": { 20 | "next": null 21 | } 22 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderItemBillingStatus.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.BillingStatus; 12 | 13 | @Getter 14 | @Setter 15 | public class OrderItemBillingStatus extends AbstractModel { 16 | /** 17 | * Order item id 18 | */ 19 | @SerializedName("id") 20 | Integer id; 21 | 22 | /** 23 | * Target order billing status value 24 | */ 25 | @SerializedName("code") 26 | BillingStatus code; 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionItemConditionV1.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionItemConditionV1 extends AbstractModel { 15 | /** 16 | * Key of the condition. Can be used to identify which condition failed in the validate endpoint 17 | */ 18 | @SerializedName("key") 19 | String key; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("condition") 25 | String condition; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionScheduleV1.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionScheduleV1 extends AbstractModel { 15 | /** 16 | * The beginning of the time range when the promotion is active 17 | */ 18 | @SerializedName("from") 19 | String from; 20 | 21 | /** 22 | * The end of the time range when the promotion is active 23 | */ 24 | @SerializedName("to") 25 | String to; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/Transaction.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.TransactionOperationStatus; 12 | 13 | @Getter 14 | @Setter 15 | public class Transaction extends AbstractModel { 16 | /** 17 | * 18 | */ 19 | @SerializedName("transactionId") 20 | String transactionId; 21 | 22 | /** 23 | * 24 | */ 25 | @SerializedName("operationStatus") 26 | TransactionOperationStatus operationStatus; 27 | 28 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCreateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "ay", 4 | "name": "My Shop", 5 | "logoUrl": "images\/3123adasd23asd.png", 6 | "priceGroupKey": "myPriceGroup", 7 | "active": true, 8 | "deleted": false, 9 | "shopCategoryTreeId": 1, 10 | "companyId": 1, 11 | "countries": [ 12 | { 13 | "countryCode": "DE", 14 | "currencyCode": "EUR", 15 | "defaultLanguageCode": "de_DE", 16 | "supportedLanguageCodes": [ 17 | "de_DE", 18 | "en_GB" 19 | ], 20 | "url": "https:\/\/www.shop.de" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "key": "ay", 4 | "name": "My Shop", 5 | "logoUrl": "images\/3123adasd23asd.png", 6 | "priceGroupKey": "myPriceGroup", 7 | "active": true, 8 | "deleted": false, 9 | "shopCategoryTreeId": 1, 10 | "companyId": 1, 11 | "countries": [ 12 | { 13 | "countryCode": "DE", 14 | "currencyCode": "EUR", 15 | "defaultLanguageCode": "de_DE", 16 | "supportedLanguageCodes": [ 17 | "de_DE", 18 | "en_GB" 19 | ], 20 | "url": "https:\/\/www.shop.de" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderDetailedStatus.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderDetailedStatus extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("order") 19 | Object order; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("shipping") 25 | Object shipping; 26 | 27 | /** 28 | * 29 | */ 30 | @SerializedName("billing") 31 | Object billing; 32 | 33 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderItemPriceReference.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderItemPriceReference extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("size") 19 | String size; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("unit") 25 | String unit; 26 | 27 | /** 28 | * 29 | */ 30 | @SerializedName("withTax") 31 | Integer withTax; 32 | 33 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionGlobalConditionV1.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionGlobalConditionV1 extends AbstractModel { 15 | /** 16 | * Key of the condition. Can be used to identify which condition failed in the validate endpoint 17 | */ 18 | @SerializedName("key") 19 | String key; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("condition") 25 | String condition; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/MerchantAssortmentConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class MerchantAssortmentConfiguration extends AbstractModel { 15 | /** 16 | * Merchant reference keys to include. 17 | */ 18 | @SerializedName("include") 19 | List include; 20 | 21 | /** 22 | * Merchant reference keys to exclude. 23 | */ 24 | @SerializedName("exclude") 25 | List exclude; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ShopCountryToUnlock.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ShopCountryToUnlock extends AbstractModel { 15 | /** 16 | * A key that uniquely identifies the shop within the tenant's ecosystem. 17 | */ 18 | @SerializedName("shopKey") 19 | String shopKey; 20 | 21 | /** 22 | * ISO 3166 alpha 2 country code. 23 | */ 24 | @SerializedName("countryCode") 25 | String countryCode; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/WebhookSubscriptionMerchantFilter.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class WebhookSubscriptionMerchantFilter extends AbstractModel { 15 | /** 16 | * Merchant reference keys included. 17 | */ 18 | @SerializedName("include") 19 | List include; 20 | 21 | /** 22 | * Merchant reference keys excluded. 23 | */ 24 | @SerializedName("exclude") 25 | List exclude; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/CustomerPasswordHashingType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum CustomerPasswordHashingType { 6 | @SerializedName("internal") 7 | VALUE_INTERNAL("internal"), 8 | 9 | @SerializedName("external") 10 | VALUE_EXTERNAL("external"), 11 | 12 | @SerializedName("salesforce") 13 | VALUE_SALESFORCE("salesforce"); 14 | 15 | 16 | private final String val; 17 | 18 | CustomerPasswordHashingType(String val) { 19 | this.val = val; 20 | } 21 | 22 | @Override 23 | public String toString() { 24 | return val; 25 | } 26 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CustomerStatus.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class CustomerStatus extends AbstractModel { 15 | /** 16 | * Declares whether the customer account is active or not 17 | */ 18 | @SerializedName("isActive") 19 | Boolean isActive; 20 | 21 | /** 22 | * Declares if the customer have an account or not 23 | */ 24 | @SerializedName("isGuestCustomer") 25 | Boolean isGuestCustomer; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/MerchantWarehouse.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class MerchantWarehouse extends AbstractModel { 15 | /** 16 | * The ID of the warehouse created by SCAYLE. 17 | */ 18 | @SerializedName("id") 19 | Integer id; 20 | 21 | /** 22 | * A key that uniquely identifies the warehouse within the tenant's ecosystem. 23 | */ 24 | @SerializedName("referenceKey") 25 | String referenceKey; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderPackageDeliveryDate.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderPackageDeliveryDate extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("maximum") 19 | String maximum; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("minimum") 25 | String minimum; 26 | 27 | /** 28 | * 29 | */ 30 | @SerializedName("desired") 31 | String desired; 32 | 33 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialProductAssortmentConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialProductAssortmentConfiguration extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("include") 19 | PartialProductAssortmentConfigurationInclude include; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("exclude") 25 | PartialProductAssortmentConfigurationExclude exclude; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ProductMasterCategories.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ProductMasterCategories extends AbstractModel { 15 | /** 16 | * Specifies if the product categories were locked via the SCAYLE Panel. 17 | */ 18 | @SerializedName("isLocked") 19 | Boolean isLocked; 20 | 21 | /** 22 | * The master category paths. 23 | */ 24 | @SerializedName("paths") 25 | List> paths; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/AttributeGroupShopCountry.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class AttributeGroupShopCountry extends AbstractModel { 15 | /** 16 | * A key that uniquely identifies the shop within the tenant's ecosystem. 17 | */ 18 | @SerializedName("shopKey") 19 | String shopKey; 20 | 21 | /** 22 | * ISO 3166 alpha 2 country code. 23 | */ 24 | @SerializedName("countryCode") 25 | String countryCode; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/Cursor.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class Cursor extends AbstractModel { 15 | /** 16 | * The cursor pointing to the next page. If null there is no next page available. 17 | */ 18 | @SerializedName("next") 19 | String next; 20 | 21 | public void setNext(String value) { 22 | if (value == null) { 23 | this.setNull("next"); 24 | } 25 | this.next = value; 26 | } 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/MerchantProductState.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class MerchantProductState extends AbstractModel { 15 | /** 16 | * Reference key of the merchant to which the product belongs to. 17 | */ 18 | @SerializedName("merchantReferenceKey") 19 | String merchantReferenceKey; 20 | 21 | /** 22 | * State of the merchant product. 23 | */ 24 | @SerializedName("state") 25 | String state; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderAddress.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderAddress extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("billing") 19 | CustomerAddress billing; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("forward") 25 | CustomerAddress forward; 26 | 27 | /** 28 | * 29 | */ 30 | @SerializedName("shipping") 31 | CustomerAddress shipping; 32 | 33 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderItemProduct.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderItemProduct extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("id") 19 | Integer id; 20 | 21 | /** 22 | * The product name. 23 | */ 24 | @SerializedName("name") 25 | String name; 26 | 27 | /** 28 | * 29 | */ 30 | @SerializedName("images") 31 | List images; 32 | 33 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderStatus.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.OrderStatusEnum; 12 | 13 | @Getter 14 | @Setter 15 | public class OrderStatus extends AbstractModel { 16 | /** 17 | * Status of the order, e.g. invoice_completed 18 | */ 19 | @SerializedName("status") 20 | OrderStatusEnum status; 21 | 22 | /** 23 | * 24 | */ 25 | @SerializedName("detailedStatus") 26 | OrderDetailedStatus detailedStatus; 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialMerchantAssortmentConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialMerchantAssortmentConfiguration extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("include") 19 | PartialMerchantAssortmentConfigurationInclude include; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("exclude") 25 | PartialMerchantAssortmentConfigurationExclude exclude; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionSchedule.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionSchedule extends AbstractModel { 15 | /** 16 | * The beginning of the time range when the promotion is active 17 | */ 18 | @SerializedName("from") 19 | java.time.Instant from; 20 | 21 | /** 22 | * The end of the time range when the promotion is active 23 | */ 24 | @SerializedName("to") 25 | java.time.Instant to; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/SubscriptionOrderApplication.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.SubscriptionOrderApplicationDevice; 12 | 13 | @Getter 14 | @Setter 15 | public class SubscriptionOrderApplication extends AbstractModel { 16 | /** 17 | * 18 | */ 19 | @SerializedName("checkout") 20 | String checkout; 21 | 22 | /** 23 | * 24 | */ 25 | @SerializedName("device") 26 | SubscriptionOrderApplicationDevice device; 27 | 28 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ShopCountryUpdateAssortmentRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "masterCategories": { 3 | "include": [ 4 | [ 5 | "root", 6 | "leaf" 7 | ] 8 | ] 9 | }, 10 | "products": { 11 | "include": [ 12 | 1, 13 | 2, 14 | 3 15 | ] 16 | }, 17 | "attributes": [ 18 | { 19 | "name": "color", 20 | "include": [ 21 | "red" 22 | ] 23 | } 24 | ], 25 | "merchantReferenceKeys": { 26 | "include": [ 27 | "merchant-1", 28 | "merchant-2" 29 | ] 30 | } 31 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionAudience.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionAudience extends AbstractModel { 15 | /** 16 | * The list of audience ids that can use this promotion 17 | */ 18 | @SerializedName("allowList") 19 | List allowList; 20 | 21 | /** 22 | * The list of audience ids that can not use this promotion 23 | */ 24 | @SerializedName("blockList") 25 | List blockList; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionEffectType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionEffectType { 6 | @SerializedName("buy_x_get_y") 7 | VALUE_BUY_X_GET_Y("buy_x_get_y"), 8 | 9 | @SerializedName("automatic_discount") 10 | VALUE_AUTOMATIC_DISCOUNT("automatic_discount"), 11 | 12 | @SerializedName("combo_deal") 13 | VALUE_COMBO_DEAL("combo_deal"); 14 | 15 | 16 | private final String val; 17 | 18 | PromotionEffectType(String val) { 19 | this.val = val; 20 | } 21 | 22 | @Override 23 | public String toString() { 24 | return val; 25 | } 26 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderFeeAmount.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderFeeAmount extends AbstractModel { 15 | /** 16 | * If the order has an external price, this field becomes optional. 17 | */ 18 | @SerializedName("withoutTax") 19 | Integer withoutTax; 20 | 21 | /** 22 | * If the order has an external price, this field becomes optional. 23 | */ 24 | @SerializedName("withTax") 25 | Integer withTax; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionAudiencesV1.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionAudiencesV1 extends AbstractModel { 15 | /** 16 | * The list of audience ids that can use this promotion 17 | */ 18 | @SerializedName("allowList") 19 | List allowList; 20 | 21 | /** 22 | * The list of audience ids that can not use this promotion 23 | */ 24 | @SerializedName("blockList") 25 | List blockList; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionShopCountryId.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PromotionShopCountryId extends AbstractModel { 15 | /** 16 | * The list of shop IDs where the promotion is allowed 17 | */ 18 | @SerializedName("allowList") 19 | List allowList; 20 | 21 | /** 22 | * The list of shop IDs where the promotion is blocked 23 | */ 24 | @SerializedName("blockList") 25 | List blockList; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/ReservationVariant.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class ReservationVariant extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("id") 19 | Integer id; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("referenceKey") 25 | String referenceKey; 26 | 27 | /** 28 | * 29 | */ 30 | @SerializedName("merchantReferenceKey") 31 | String merchantReferenceKey; 32 | 33 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductSellableTimeframeBatchProcessRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "productId": 1, 4 | "shopKey": "ay", 5 | "countryCode": "DE", 6 | "sellableFrom": "2022-01-20T00:00:00+00:00", 7 | "sellableTo": "2022-02-20T00:00:00+00:00" 8 | }, 9 | { 10 | "productId": 1, 11 | "shopKey": "ay", 12 | "countryCode": "AT", 13 | "sellableFrom": "2022-01-20T00:00:00+00:00", 14 | "sellableTo": "2022-02-20T00:00:00+00:00" 15 | }, 16 | { 17 | "productId": 1, 18 | "shopKey": "ay", 19 | "countryCode": "CH", 20 | "sellableFrom": null, 21 | "sellableTo": null 22 | } 23 | ] -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/MasterCategoryAssortmentConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class MasterCategoryAssortmentConfiguration extends AbstractModel { 15 | /** 16 | * List of master categories to include. 17 | */ 18 | @SerializedName("include") 19 | List> include; 20 | 21 | /** 22 | * List of master categories to exclude. 23 | */ 24 | @SerializedName("exclude") 25 | List> exclude; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CustomerPassword.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.CustomerPasswordHashingType; 12 | 13 | @Getter 14 | @Setter 15 | public class CustomerPassword extends AbstractModel { 16 | /** 17 | * 18 | */ 19 | @SerializedName("hashingType") 20 | CustomerPasswordHashingType hashingType = CustomerPasswordHashingType.VALUE_INTERNAL; 21 | 22 | /** 23 | * 24 | */ 25 | @SerializedName("password") 26 | String password; 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CustomerPasswordHash.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.CustomerPasswordHashingType; 12 | 13 | @Getter 14 | @Setter 15 | public class CustomerPasswordHash extends AbstractModel { 16 | /** 17 | * 18 | */ 19 | @SerializedName("hashingType") 20 | CustomerPasswordHashingType hashingType = CustomerPasswordHashingType.VALUE_INTERNAL; 21 | 22 | /** 23 | * 24 | */ 25 | @SerializedName("hash") 26 | String hash; 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialMasterCategoryAssortmentConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialMasterCategoryAssortmentConfiguration extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("include") 19 | PartialMasterCategoryAssortmentConfigurationInclude include; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("exclude") 25 | PartialMasterCategoryAssortmentConfigurationExclude exclude; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialWebhookSubscriptionMerchantFilter.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialWebhookSubscriptionMerchantFilter extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("include") 19 | PartialWebhookSubscriptionMerchantFilterIncludeExclude include; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("exclude") 25 | PartialWebhookSubscriptionMerchantFilterIncludeExclude exclude; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/VoucherConstraintsApplications.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.VoucherConstraintsApplicationsRestriction; 12 | 13 | @Getter 14 | @Setter 15 | public class VoucherConstraintsApplications extends AbstractModel { 16 | /** 17 | * 18 | */ 19 | @SerializedName("count") 20 | Long count; 21 | 22 | /** 23 | * 24 | */ 25 | @SerializedName("restriction") 26 | VoucherConstraintsApplicationsRestriction restriction; 27 | 28 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerUpdateAddressRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "street": "Domstraße", 3 | "houseNumber": "1", 4 | "additional": "erste Stock", 5 | "zipCode": "123456", 6 | "city": "Hamburg", 7 | "countryCode": "DEU", 8 | "state": "Hamburg", 9 | "collectionPoint": { 10 | "customerKey": "bced-234-234", 11 | "description": "Kiosk", 12 | "key": "12345-a", 13 | "type": "hermes_parcelshop" 14 | }, 15 | "isDefault": { 16 | "billing": false, 17 | "shipping": true 18 | }, 19 | "recipient": { 20 | "firstName": "John", 21 | "gender": "m", 22 | "lastName": "Doe", 23 | "title": "Prof." 24 | } 25 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/WebhookSubscriptionPatch.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class WebhookSubscriptionPatch extends AbstractModel { 15 | /** 16 | * The URL that will be called whenever the hook is triggered. Sensitive data will be obfuscated in responses. 17 | */ 18 | @SerializedName("url") 19 | String url; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("filters") 25 | List filters; 26 | 27 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CampaignAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "id": 1, 5 | "name": "My Campaign", 6 | "description": "My first campaign", 7 | "countryCodes": [ 8 | "DE", 9 | "AT" 10 | ], 11 | "reduction": 14.75, 12 | "startAt": "2021-01-23T11:30:58+00:00", 13 | "endAt": "2021-09-23T11:30:58+00:00", 14 | "customData": { 15 | "devicesAllowed": [ 16 | "app", 17 | "web" 18 | ] 19 | } 20 | } 21 | ], 22 | "cursor": { 23 | "next": null 24 | } 25 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/VoucherStatus.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum VoucherStatus { 6 | @SerializedName("active") 7 | VALUE_ACTIVE("active"), 8 | 9 | @SerializedName("inactive") 10 | VALUE_INACTIVE("inactive"), 11 | 12 | @SerializedName("pending-review") 13 | VALUE_PENDINGREVIEW("pending-review"), 14 | 15 | @SerializedName("archived") 16 | VALUE_ARCHIVED("archived"); 17 | 18 | 19 | private final String val; 20 | 21 | VoucherStatus(String val) { 22 | this.val = val; 23 | } 24 | 25 | @Override 26 | public String toString() { 27 | return val; 28 | } 29 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialProductAssortmentConfigurationExclude.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialProductAssortmentConfigurationExclude extends AbstractModel { 15 | /** 16 | * The product IDs to be added to the exclude list. 17 | */ 18 | @SerializedName("add") 19 | List add; 20 | 21 | /** 22 | * The product IDs to be removed from the exclude list. 23 | */ 24 | @SerializedName("remove") 25 | List remove; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialProductAssortmentConfigurationInclude.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialProductAssortmentConfigurationInclude extends AbstractModel { 15 | /** 16 | * The product IDs to be added to the include list. 17 | */ 18 | @SerializedName("add") 19 | List add; 20 | 21 | /** 22 | * The product IDs to be removed from the include list. 23 | */ 24 | @SerializedName("remove") 25 | List remove; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderPaymentOptions.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderPaymentOptions extends AbstractModel { 15 | /** 16 | * Number of installments chosen by the Customer for the Order 17 | */ 18 | @SerializedName("countOfInstallments") 19 | Integer countOfInstallments; 20 | 21 | /** 22 | * If true, the Customer elected to have a delay in payment capture 23 | */ 24 | @SerializedName("hasPaybreak") 25 | Boolean hasPaybreak; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PackageGroupWarehouse.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PackageGroupWarehouse extends AbstractModel { 15 | /** 16 | * The ID of the warehouse created by SCAYLE. 17 | */ 18 | @SerializedName("warehouseId") 19 | Integer warehouseId; 20 | 21 | /** 22 | * A key that uniquely identifies the warehouse within the tenant's ecosystem. 23 | */ 24 | @SerializedName("warehouseReferenceKey") 25 | String warehouseReferenceKey; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialWebhookSubscriptionMerchantFilterIncludeExclude.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialWebhookSubscriptionMerchantFilterIncludeExclude extends AbstractModel { 15 | /** 16 | * List of merchants to be added to the list. 17 | */ 18 | @SerializedName("add") 19 | List add; 20 | 21 | /** 22 | * List of merchants to be removed from the list. 23 | */ 24 | @SerializedName("remove") 25 | List remove; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/BulkOperationStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum BulkOperationStatusEnum { 6 | @SerializedName("new") 7 | VALUE_NEW("new"), 8 | 9 | @SerializedName("processing") 10 | VALUE_PROCESSING("processing"), 11 | 12 | @SerializedName("processed") 13 | VALUE_PROCESSED("processed"), 14 | 15 | @SerializedName("failed") 16 | VALUE_FAILED("failed"); 17 | 18 | 19 | private final String val; 20 | 21 | BulkOperationStatusEnum(String val) { 22 | this.val = val; 23 | } 24 | 25 | @Override 26 | public String toString() { 27 | return val; 28 | } 29 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/CustomDataConfigPropertyType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum CustomDataConfigPropertyType { 6 | @SerializedName("string") 7 | VALUE_STRING("string"), 8 | 9 | @SerializedName("number") 10 | VALUE_NUMBER("number"), 11 | 12 | @SerializedName("boolean") 13 | VALUE_BOOLEAN("boolean"), 14 | 15 | @SerializedName("json") 16 | VALUE_JSON("json"); 17 | 18 | 19 | private final String val; 20 | 21 | CustomDataConfigPropertyType(String val) { 22 | this.val = val; 23 | } 24 | 25 | @Override 26 | public String toString() { 27 | return val; 28 | } 29 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/VoucherUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": "testcode", 3 | "constraints": { 4 | "date": { 5 | "max": "2021-12-23T11:30:58+00:00", 6 | "min": "2021-01-23T11:30:58+00:00" 7 | }, 8 | "isValidOnCampaigns": true, 9 | "maxApplications": { 10 | "count": 1, 11 | "restriction": "customer" 12 | }, 13 | "orderValue": { 14 | "max": 200000, 15 | "min": 7500 16 | } 17 | }, 18 | "isApplicableToPromotions": true, 19 | "name": "Testvoucher", 20 | "status": "active", 21 | "summary": "Voucher utilised for automated for testing", 22 | "type": "relative", 23 | "value": 0.1 24 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialAttributeAssortmentConfigurationExclude.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialAttributeAssortmentConfigurationExclude extends AbstractModel { 15 | /** 16 | * The attribute values to be added to the exclude list. 17 | */ 18 | @SerializedName("add") 19 | List add; 20 | 21 | /** 22 | * The attribute values to be removed from the exclude list. 23 | */ 24 | @SerializedName("remove") 25 | List remove; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialAttributeAssortmentConfigurationInclude.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialAttributeAssortmentConfigurationInclude extends AbstractModel { 15 | /** 16 | * The attribute values to be added to the include list. 17 | */ 18 | @SerializedName("add") 19 | List add; 20 | 21 | /** 22 | * The attribute values to be removed from the include list. 23 | */ 24 | @SerializedName("remove") 25 | List remove; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialMerchantAssortmentConfigurationExclude.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialMerchantAssortmentConfigurationExclude extends AbstractModel { 15 | /** 16 | * Merchant reference keys to be added to the exclude list. 17 | */ 18 | @SerializedName("add") 19 | List add; 20 | 21 | /** 22 | * Merchant reference keys to be removed from the exclude list. 23 | */ 24 | @SerializedName("remove") 25 | List remove; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialMerchantAssortmentConfigurationInclude.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialMerchantAssortmentConfigurationInclude extends AbstractModel { 15 | /** 16 | * Merchant reference keys to be added to the include list. 17 | */ 18 | @SerializedName("add") 19 | List add; 20 | 21 | /** 22 | * Merchant reference keys to be removed from the include list. 23 | */ 24 | @SerializedName("remove") 25 | List remove; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/SubscriptionOrderApplicationDevice.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum SubscriptionOrderApplicationDevice { 6 | @SerializedName("mobile") 7 | VALUE_MOBILE("mobile"), 8 | 9 | @SerializedName("desktop") 10 | VALUE_DESKTOP("desktop"), 11 | 12 | @SerializedName("app") 13 | VALUE_APP("app"), 14 | 15 | @SerializedName("tablet") 16 | VALUE_TABLET("tablet"); 17 | 18 | 19 | private final String val; 20 | 21 | SubscriptionOrderApplicationDevice(String val) { 22 | this.val = val; 23 | } 24 | 25 | @Override 26 | public String toString() { 27 | return val; 28 | } 29 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderItemVariant.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderItemVariant extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("stock") 19 | OrderItemVariantStock stock; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("id") 25 | Integer id; 26 | 27 | /** 28 | * External reference set by the client to integrate third party systems. 29 | */ 30 | @SerializedName("referenceKey") 31 | String referenceKey; 32 | 33 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/SubscriptionOrderCarrier.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class SubscriptionOrderCarrier extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("shippingPolicyKey") 19 | String shippingPolicyKey; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("carrierKey") 25 | String carrierKey; 26 | 27 | /** 28 | * 29 | */ 30 | @SerializedName("deliveryDate") 31 | SubscriptionOrderCarrierDeliveryDate deliveryDate; 32 | 33 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionEffect.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.PromotionEffectType; 12 | 13 | @Getter 14 | @Setter 15 | public class PromotionEffect extends AbstractModel { 16 | /** 17 | * Type of the promotion 18 | */ 19 | @SerializedName("type") 20 | PromotionEffectType type; 21 | 22 | /** 23 | * Additional data of the promotion effect, maxCountType and eligibleItemsQuantity are optional 24 | */ 25 | @SerializedName("additionalData") 26 | Object additionalData; 27 | 28 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ProductVariantStockAllResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "quantity": 3, 5 | "warehouseReferenceKey": "myFirstWarehouse", 6 | "changedAt": "2020-07-23T11:30:58+00:00", 7 | "sellableWithoutStock": false, 8 | "merchantReferenceKey": "merchant-1", 9 | "expectedAvailabilityAt": null 10 | }, 11 | { 12 | "quantity": 3, 13 | "warehouseReferenceKey": "mySecondWarehouse", 14 | "changedAt": "2020-07-23T11:30:58+00:00", 15 | "sellableWithoutStock": true, 16 | "merchantReferenceKey": "merchant-1", 17 | "expectedAvailabilityAt": "2020-07-24" 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/CustomerAddressRecipientType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum CustomerAddressRecipientType { 6 | @SerializedName("personal") 7 | VALUE_PERSONAL("personal"), 8 | 9 | @SerializedName("retail") 10 | VALUE_RETAIL("retail"), 11 | 12 | @SerializedName("organization") 13 | VALUE_ORGANIZATION("organization"), 14 | 15 | @SerializedName("family") 16 | VALUE_FAMILY("family"); 17 | 18 | 19 | private final String val; 20 | 21 | CustomerAddressRecipientType(String val) { 22 | this.val = val; 23 | } 24 | 25 | @Override 26 | public String toString() { 27 | return val; 28 | } 29 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/OrderPaymentInstallmentType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum OrderPaymentInstallmentType { 6 | @SerializedName("annualInterest") 7 | VALUE_ANNUALINTEREST("annualInterest"), 8 | 9 | @SerializedName("firstInstallment") 10 | VALUE_FIRSTINSTALLMENT("firstInstallment"), 11 | 12 | @SerializedName("subsequentInstallments") 13 | VALUE_SUBSEQUENTINSTALLMENTS("subsequentInstallments"); 14 | 15 | 16 | private final String val; 17 | 18 | OrderPaymentInstallmentType(String val) { 19 | this.val = val; 20 | } 21 | 22 | @Override 23 | public String toString() { 24 | return val; 25 | } 26 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/Email.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class Email extends AbstractModel { 15 | /** 16 | * 17 | */ 18 | @SerializedName("key") 19 | String key; 20 | 21 | /** 22 | * 23 | */ 24 | @SerializedName("payload") 25 | Map payload; 26 | 27 | /** 28 | * 29 | */ 30 | @SerializedName("recipient") 31 | String recipient; 32 | 33 | /** 34 | * 35 | */ 36 | @SerializedName("orderId") 37 | Integer orderId; 38 | 39 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/CampaignProduct.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class CampaignProduct extends AbstractModel { 15 | /** 16 | * The localized product badge label. Recommended max length is up to 30 characters. 17 | */ 18 | @SerializedName("badgeLabel") 19 | Map badgeLabel; 20 | 21 | public void setBadgeLabel(Map value) { 22 | if (value == null) { 23 | this.setNull("badgeLabel"); 24 | } 25 | this.badgeLabel = value; 26 | } 27 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/ReservationCreateRequest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "referenceKey": "order4711-item3", 4 | "warehouseReferenceKey": "myWarehouse", 5 | "variant": { 6 | "id": 123, 7 | "merchantReferenceKey": "merchant-1" 8 | } 9 | }, 10 | { 11 | "referenceKey": "order4711-item4", 12 | "warehouseReferenceKey": "myWarehouse", 13 | "variant": { 14 | "referenceKey": "foo-456789", 15 | "merchantReferenceKey": "merchant-1" 16 | } 17 | }, 18 | { 19 | "referenceKey": "order4711-item5", 20 | "warehouseReferenceKey": "myWarehouse", 21 | "variant": { 22 | "referenceKey": "foo-456789" 23 | } 24 | } 25 | ] -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialMasterCategoryAssortmentConfigurationExclude.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialMasterCategoryAssortmentConfigurationExclude extends AbstractModel { 15 | /** 16 | * List of master categories to be added to the exclude list. 17 | */ 18 | @SerializedName("add") 19 | List> add; 20 | 21 | /** 22 | * List of master categories to be removed from the exclude list. 23 | */ 24 | @SerializedName("remove") 25 | List> remove; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PartialMasterCategoryAssortmentConfigurationInclude.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class PartialMasterCategoryAssortmentConfigurationInclude extends AbstractModel { 15 | /** 16 | * List of master categories to be added to the include list. 17 | */ 18 | @SerializedName("add") 19 | List> add; 20 | 21 | /** 22 | * List of master categories to be removed from the include list. 23 | */ 24 | @SerializedName("remove") 25 | List> remove; 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionEffectBuyXGetYApplicableItemSelectionType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionEffectBuyXGetYApplicableItemSelectionType { 6 | @SerializedName("variant_ids") 7 | VALUE_VARIANT_IDS("variant_ids"), 8 | 9 | @SerializedName("cheapest") 10 | VALUE_CHEAPEST("cheapest"), 11 | 12 | @SerializedName("most_expensive") 13 | VALUE_MOST_EXPENSIVE("most_expensive"); 14 | 15 | 16 | private final String val; 17 | 18 | PromotionEffectBuyXGetYApplicableItemSelectionType(String val) { 19 | this.val = val; 20 | } 21 | 22 | @Override 23 | public String toString() { 24 | return val; 25 | } 26 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/PromotionEffectV1.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | import com.scayle.adminapi.enums.PromotionEffectType; 12 | 13 | @Getter 14 | @Setter 15 | public class PromotionEffectV1 extends AbstractModel { 16 | /** 17 | * Type of the promotion 18 | */ 19 | @SerializedName("id") 20 | PromotionEffectType id; 21 | 22 | /** 23 | * Additional data of the promotion effect, max_count_type and eligible_items_quantity are optional 24 | */ 25 | @SerializedName("additionalData") 26 | Map additionalData; 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/OrderLoyaltyCard.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class OrderLoyaltyCard extends AbstractModel { 15 | /** 16 | * The loyalty card number 17 | */ 18 | @SerializedName("cardNumber") 19 | String cardNumber; 20 | 21 | /** 22 | * The number of points received for the purchase 23 | */ 24 | @SerializedName("points") 25 | Integer points; 26 | 27 | /** 28 | * The provider of the loyalty card 29 | */ 30 | @SerializedName("provider") 31 | String provider; 32 | 33 | } -------------------------------------------------------------------------------- /src/test/resources/fixtures/CustomerCreateAddressRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "referenceKey": "my-key", 3 | "street": "Domstraße", 4 | "houseNumber": "1", 5 | "additional": "erste Stock", 6 | "zipCode": "123456", 7 | "city": "Hamburg", 8 | "countryCode": "DEU", 9 | "state": "Hamburg", 10 | "phone": "+49123456789", 11 | "collectionPoint": { 12 | "customerKey": "bced-234-234", 13 | "description": "Kiosk", 14 | "key": "12345-a", 15 | "type": "hermes_parcelshop" 16 | }, 17 | "isDefault": { 18 | "billing": false, 19 | "shipping": true 20 | }, 21 | "recipient": { 22 | "firstName": "John", 23 | "gender": "m", 24 | "lastName": "Doe", 25 | "title": "Prof." 26 | } 27 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/enums/PromotionEffectComboDealMaxCountType.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.enums; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum PromotionEffectComboDealMaxCountType { 6 | @SerializedName("per_eligible_items_quantity") 7 | VALUE_PER_ELIGIBLE_ITEMS_QUANTITY("per_eligible_items_quantity"), 8 | 9 | @SerializedName("per_item_set") 10 | VALUE_PER_ITEM_SET("per_item_set"), 11 | 12 | @SerializedName("single_item") 13 | VALUE_SINGLE_ITEM("single_item"); 14 | 15 | 16 | private final String val; 17 | 18 | PromotionEffectComboDealMaxCountType(String val) { 19 | this.val = val; 20 | } 21 | 22 | @Override 23 | public String toString() { 24 | return val; 25 | } 26 | } -------------------------------------------------------------------------------- /src/main/java/com/scayle/adminapi/model/AudienceUpdateRequest.java: -------------------------------------------------------------------------------- 1 | package com.scayle.adminapi.model; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import lombok.Getter; 9 | import lombok.Setter; 10 | 11 | 12 | @Getter 13 | @Setter 14 | public class AudienceUpdateRequest extends AbstractModel { 15 | /** 16 | * Internal name of the audience 17 | */ 18 | @SerializedName("name") 19 | String name; 20 | 21 | /** 22 | * Internal description of the audience 23 | */ 24 | @SerializedName("description") 25 | String description; 26 | 27 | /** 28 | * The list of customer ids 29 | */ 30 | @SerializedName("customerIds") 31 | List customerIds; 32 | 33 | } --------------------------------------------------------------------------------