flamingo.me/flamingo-commerce/v3@v3.11.0/docs/openapi/swagger.yaml (about) 1 definitions: 2 ProductMedia: 3 properties: 4 MimeType: 5 type: string 6 Reference: 7 type: string 8 Title: 9 type: string 10 Type: 11 type: string 12 Usage: 13 type: string 14 type: object 15 application.PlaceOrderPaymentInfo: 16 properties: 17 Amount: 18 $ref: '#/definitions/domain.Price' 19 CreditCardInfo: 20 $ref: '#/definitions/placeorder.CreditCardInfo' 21 Gateway: 22 type: string 23 Method: 24 type: string 25 PaymentProvider: 26 type: string 27 Title: 28 type: string 29 type: object 30 cart.AdditionalData: 31 properties: 32 CustomAttributes: 33 additionalProperties: 34 type: string 35 description: CustomAttributes list of key values 36 type: object 37 ReservedOrderID: 38 description: ReservedOrderID is an ID already known by the Cart of the future 39 order ID 40 type: string 41 type: object 42 cart.Address: 43 properties: 44 AdditionalAddressLines: 45 items: 46 type: string 47 type: array 48 City: 49 type: string 50 Company: 51 type: string 52 Country: 53 type: string 54 CountryCode: 55 type: string 56 Email: 57 type: string 58 Firstname: 59 type: string 60 Lastname: 61 type: string 62 MiddleName: 63 type: string 64 PostCode: 65 type: string 66 RegionCode: 67 type: string 68 Salutation: 69 type: string 70 State: 71 type: string 72 Street: 73 type: string 74 StreetNr: 75 type: string 76 Telephone: 77 description: 'Deprecated: parts of number should be distinguished, please 78 use TelephoneCountryCode, TelephoneAreaCode and TelephoneNumber' 79 type: string 80 TelephoneAreaCode: 81 type: string 82 TelephoneCountryCode: 83 type: string 84 TelephoneNumber: 85 type: string 86 Title: 87 type: string 88 Vat: 89 type: string 90 type: object 91 cart.AppliedDiscount: 92 properties: 93 Applied: 94 allOf: 95 - $ref: '#/definitions/domain.Price' 96 description: 'how much of the discount has been subtracted from cart price, 97 IMPORTANT: always negative' 98 CampaignCode: 99 description: unique code of the underlying campaign or rule e.g. "summer-campaign-2018" 100 type: string 101 CouponCode: 102 description: code of discount e.g. provided by user "summer2018" 103 type: string 104 IsItemRelated: 105 description: flag indicating if the discount is applied due to item in cart 106 type: boolean 107 Label: 108 description: readable name of discount "Super Summer Sale 2018" 109 type: string 110 SortOrder: 111 description: indicates in which order discount have been applied, low value 112 has been applied before high value 113 type: integer 114 Type: 115 description: to distinguish between discounts 116 type: string 117 type: object 118 cart.AppliedGiftCard: 119 properties: 120 Applied: 121 allOf: 122 - $ref: '#/definitions/domain.Price' 123 description: how much of the gift card has been subtracted from cart price 124 Code: 125 type: string 126 CustomAttributes: 127 additionalProperties: true 128 description: additional custom attributes 129 type: object 130 Remaining: 131 allOf: 132 - $ref: '#/definitions/domain.Price' 133 description: how much of the gift card is still available 134 type: object 135 cart.Cart: 136 properties: 137 AdditionalData: 138 allOf: 139 - $ref: '#/definitions/cart.AdditionalData' 140 description: AdditionalData can be used for Custom attributes 141 AppliedCouponCodes: 142 description: AppliedCouponCodes hold the coupons or discount codes that are 143 applied to the cart 144 items: 145 $ref: '#/definitions/cart.CouponCode' 146 type: array 147 AppliedGiftCards: 148 description: AppliedGiftCards is a list of applied gift cards 149 items: 150 $ref: '#/definitions/cart.AppliedGiftCard' 151 type: array 152 AuthenticatedUserID: 153 description: AuthenticatedUserID holds the potential customer ID 154 type: string 155 BelongsToAuthenticatedUser: 156 description: BelongsToAuthenticatedUser displays if the cart is guest cart 157 (false) or from an authenticated user (true) 158 type: boolean 159 BillingAddress: 160 allOf: 161 - $ref: '#/definitions/cart.Address' 162 description: BillingAddress is the main billing address (relevant for all 163 payments/invoices) 164 DefaultCurrency: 165 type: string 166 Deliveries: 167 description: Deliveries contains a list of desired Deliveries (or Shipments) 168 involved in this cart 169 items: 170 $ref: '#/definitions/cart.Delivery' 171 type: array 172 EntityID: 173 description: EntityID is a second identifier that may be used by some backends 174 type: string 175 GrandTotal: 176 allOf: 177 - $ref: '#/definitions/domain.Price' 178 description: GrandTotal is the final amount that need to be paid by the customer 179 (gross) 180 GrandTotalNet: 181 allOf: 182 - $ref: '#/definitions/domain.Price' 183 description: GrandTotalNet is the corresponding net value to GrandTotal 184 GrandTotalNetWithGiftCards: 185 allOf: 186 - $ref: '#/definitions/domain.Price' 187 description: GrandTotalNetWithGiftCards is the corresponding net value to 188 GrandTotalWithGiftCards 189 GrandTotalWithGiftCards: 190 allOf: 191 - $ref: '#/definitions/domain.Price' 192 description: GrandTotalWithGiftCards is the final amount with the applied 193 gift cards subtracted. 194 ID: 195 description: ID is the main identifier of the cart 196 type: string 197 ItemRelatedDiscountAmount: 198 allOf: 199 - $ref: '#/definitions/domain.Price' 200 description: ItemRelatedDiscountAmount is the sum of discounts that are related 201 to the item (including shipping discounts) 202 NonItemRelatedDiscountAmount: 203 allOf: 204 - $ref: '#/definitions/domain.Price' 205 description: NonItemRelatedDiscountAmount is the sum of discounts that are 206 not related to the item (including shipping discounts) 207 PaymentSelection: 208 description: PaymentSelection is used to store information on "how" the customer 209 wants to pay 210 Purchaser: 211 allOf: 212 - $ref: '#/definitions/cart.Person' 213 description: Purchaser hold additional infos for the legal contact person 214 in this order 215 ShippingGross: 216 allOf: 217 - $ref: '#/definitions/domain.Price' 218 description: ShippingGross is the sum of all shipping costs including tax 219 ShippingGrossWithDiscounts: 220 allOf: 221 - $ref: '#/definitions/domain.Price' 222 description: ShippingGrossWithDiscounts is the sum of all shipping costs with 223 all shipping discounts including tax 224 ShippingNet: 225 allOf: 226 - $ref: '#/definitions/domain.Price' 227 description: ShippingNet is the sum of all shipping costs 228 ShippingNetWithDiscounts: 229 allOf: 230 - $ref: '#/definitions/domain.Price' 231 description: ShippingNetWithDiscounts is the sum of all shipping costs with 232 all shipping discounts 233 SubTotalGross: 234 allOf: 235 - $ref: '#/definitions/domain.Price' 236 description: SubTotalGross is the sum of all delivery subtotals (without shipping/ 237 discounts) 238 SubTotalGrossWithDiscounts: 239 allOf: 240 - $ref: '#/definitions/domain.Price' 241 description: SubTotalGrossWithDiscounts is the sum of row gross prices reduced 242 by the applied discounts 243 SubTotalNet: 244 allOf: 245 - $ref: '#/definitions/domain.Price' 246 description: SubTotalNet is the sum of all delivery net subtotals (without 247 shipping/ discounts) 248 SubTotalNetWithDiscounts: 249 allOf: 250 - $ref: '#/definitions/domain.Price' 251 description: SubTotalNetWithDiscounts is the sum of row net prices reduced 252 by the net value of the applied discounts 253 TotalDiscountAmount: 254 allOf: 255 - $ref: '#/definitions/domain.Price' 256 description: TotalDiscountAmount is the sum of all discounts (incl. shipping) 257 TotalGiftCardAmount: 258 allOf: 259 - $ref: '#/definitions/domain.Price' 260 description: AppliedGiftCardsAmount is the part of GrandTotal which is paid 261 by gift cards 262 Totalitems: 263 description: Additional non taxable totals 264 items: 265 $ref: '#/definitions/cart.Totalitem' 266 type: array 267 type: object 268 cart.CouponCode: 269 properties: 270 Code: 271 type: string 272 CustomAttributes: 273 additionalProperties: true 274 description: CustomAttributes can hold additional data for coupon code - keys 275 and values are project specific 276 type: object 277 type: object 278 cart.Delivery: 279 properties: 280 Cartitems: 281 description: Cartitems is the list of items belonging to this delivery 282 items: 283 $ref: '#/definitions/cart.Item' 284 type: array 285 DeliveryInfo: 286 allOf: 287 - $ref: '#/definitions/cart.DeliveryInfo' 288 description: DeliveryInfo contains details for this delivery e.g. how and 289 where the delivery should be delivered to 290 GrandTotal: 291 allOf: 292 - $ref: '#/definitions/domain.Price' 293 description: GrandTotal contains the final price to pay 294 ItemRelatedDiscountAmount: 295 allOf: 296 - $ref: '#/definitions/domain.Price' 297 description: ItemRelatedDiscountAmount contains the sum of discounts that 298 are related to the item, e.g. promo due to product attribute 299 NonItemRelatedDiscountAmount: 300 allOf: 301 - $ref: '#/definitions/domain.Price' 302 description: NonItemRelatedDiscountAmount contains the sum of discounts that 303 are not related to the item, e.g. a general promo 304 ShippingItem: 305 allOf: 306 - $ref: '#/definitions/cart.ShippingItem' 307 description: "ShippingItem\trepresent the shipping cost that may be involved 308 in this delivery" 309 SubTotalDiscountAmount: 310 allOf: 311 - $ref: '#/definitions/domain.Price' 312 description: TotalDiscountAmount contains the sum of all discounts (excl. 313 shipping) 314 SubTotalGross: 315 allOf: 316 - $ref: '#/definitions/domain.Price' 317 description: SubTotalGross contains the sum of row gross prices, without shipping/discounts 318 SubTotalGrossWithDiscounts: 319 allOf: 320 - $ref: '#/definitions/domain.Price' 321 description: SubTotalGrossWithDiscounts contains the sum of row gross prices 322 reduced by the applied discounts 323 SubTotalNet: 324 allOf: 325 - $ref: '#/definitions/domain.Price' 326 description: SubTotalNet contains the sum of row net prices, without shipping/discounts 327 SubTotalNetWithDiscounts: 328 allOf: 329 - $ref: '#/definitions/domain.Price' 330 description: SubTotalNetWithDiscounts contains the sum of row net prices reduced 331 by the net value of the applied discounts 332 TotalDiscountAmount: 333 allOf: 334 - $ref: '#/definitions/domain.Price' 335 description: TotalDiscountAmount contains the sum of all discounts (incl. 336 shipping) 337 type: object 338 cart.DeliveryInfo: 339 properties: 340 AdditionalData: 341 additionalProperties: 342 type: string 343 description: AdditionalData can be used to store project specific information 344 on the delivery 345 type: object 346 Carrier: 347 description: Carrier optional name of the Carrier that should be responsible 348 for executing the delivery 349 type: string 350 Code: 351 description: |- 352 Code is a project specific identifier for the Delivery - you need it for the AddToCart Request for example 353 the code can follow the convention in the Readme: Type_Method_LocationType_LocationCode 354 type: string 355 DeliveryLocation: 356 allOf: 357 - $ref: '#/definitions/cart.DeliveryLocation' 358 description: DeliveryLocation is the target location for the delivery 359 DesiredTime: 360 description: DesiredTime is an optional desired time for the delivery 361 type: string 362 Method: 363 description: Method is the shipping method something that is project specific 364 and that can mean different delivery qualities with different delivery costs 365 type: string 366 Workflow: 367 description: Workflow of the Delivery e.g. delivery or pickup, see DeliveryWorkflowPickup, 368 DeliveryWorkflowDelivery or DeliveryWorkflowUnspecified 369 type: string 370 type: object 371 cart.DeliveryLocation: 372 properties: 373 Address: 374 allOf: 375 - $ref: '#/definitions/cart.Address' 376 description: Address contains the address of the delivery location, maybe 377 not relevant if the type is not address 378 Code: 379 description: Code is an optional identifier of this location/destination 380 type: string 381 Type: 382 description: Type is the type of the delivery - use some of the constant defined 383 in the package like DeliverylocationTypeAddress 384 type: string 385 UseBillingAddress: 386 description: UseBillingAddress if the address should be taken from billing 387 (only relevant for type address) 388 type: boolean 389 type: object 390 cart.ExistingCustomerData: 391 properties: 392 ID: 393 description: ID of the customer 394 type: string 395 type: object 396 cart.Item: 397 properties: 398 AdditionalData: 399 additionalProperties: 400 type: string 401 type: object 402 AppliedDiscounts: 403 description: |- 404 AppliedDiscounts contains the details about the discounts applied to this item - they can be "itemrelated" or not 405 itemrelated would be e.g. special price, buy 3 pay 2 406 non-itemrelated would be e.g. 10% on everything 407 items: 408 $ref: '#/definitions/cart.AppliedDiscount' 409 type: array 410 BundleConfig: 411 $ref: '#/definitions/domain.BundleConfiguration' 412 ExternalReference: 413 description: |- 414 ExternalReference can be used by cart service implementations to separate the representation in an external 415 cart service from the unique item ID 416 type: string 417 ID: 418 description: ID of the item - needs to be unique over the whole cart 419 type: string 420 ItemRelatedDiscountAmount: 421 allOf: 422 - $ref: '#/definitions/domain.Price' 423 description: ItemRelatedDiscountAmount is the sum of all itemrelated Discounts 424 MarketplaceCode: 425 description: MarketplaceCode is the identifier for the product 426 type: string 427 NonItemRelatedDiscountAmount: 428 allOf: 429 - $ref: '#/definitions/domain.Price' 430 description: NonItemRelatedDiscountAmount is the sum of non-itemrelated Discounts 431 where IsItemRelated = false 432 ProductName: 433 type: string 434 Qty: 435 type: integer 436 RowPriceGross: 437 allOf: 438 - $ref: '#/definitions/domain.Price' 439 description: RowPriceGross is the price incl. taxes for the whole Qty of products 440 RowPriceGrossWithDiscount: 441 allOf: 442 - $ref: '#/definitions/domain.Price' 443 description: |- 444 RowPriceGrossWithDiscount is the price incl. taxes with deducted discounts for the whole Qty of products 445 This is in most cases the final price for the customer to pay 446 RowPriceGrossWithItemRelatedDiscount: 447 allOf: 448 - $ref: '#/definitions/domain.Price' 449 description: RowPriceGrossWithItemRelatedDiscount is the price incl. taxes 450 with deducted item related discounts for the whole Qty of products 451 RowPriceNet: 452 allOf: 453 - $ref: '#/definitions/domain.Price' 454 description: RowPriceNet is the price excl. taxes for the whole Qty of products 455 RowPriceNetWithDiscount: 456 allOf: 457 - $ref: '#/definitions/domain.Price' 458 description: RowPriceNetWithDiscount is the discounted net price for the whole 459 Qty of products 460 RowPriceNetWithItemRelatedDiscount: 461 allOf: 462 - $ref: '#/definitions/domain.Price' 463 description: RowPriceNetWithItemRelatedDiscount is the price excl. taxes with 464 deducted item related discounts for the whole Qty of products 465 RowTaxes: 466 description: RowTaxes is a list of all taxes applied for the given Qty of 467 products 468 items: 469 $ref: '#/definitions/cart.Tax' 470 type: array 471 SinglePriceGross: 472 allOf: 473 - $ref: '#/definitions/domain.Price' 474 description: SinglePriceGross is the gross price (incl. taxes) for a single 475 product 476 SinglePriceNet: 477 allOf: 478 - $ref: '#/definitions/domain.Price' 479 description: SinglePriceNet is the net price (excl. taxes) for a single product 480 SourceID: 481 description: Source Id of where the items should be initial picked - This 482 is set by the SourcingLogic 483 type: string 484 TotalDiscountAmount: 485 allOf: 486 - $ref: '#/definitions/domain.Price' 487 description: TotalDiscountAmount is the sum of all applied discounts (aka 488 the savings for the customer) 489 VariantMarketPlaceCode: 490 description: VariantMarketPlaceCode is used for Configurable products 491 type: string 492 type: object 493 cart.Person: 494 properties: 495 Address: 496 $ref: '#/definitions/cart.Address' 497 ExistingCustomerData: 498 allOf: 499 - $ref: '#/definitions/cart.ExistingCustomerData' 500 description: ExistingCustomerData if the current purchaser is an existing 501 customer - this contains infos about existing customer 502 PersonalDetails: 503 $ref: '#/definitions/cart.PersonalDetails' 504 type: object 505 cart.PersonalDetails: 506 properties: 507 DateOfBirth: 508 type: string 509 Nationality: 510 type: string 511 PassportCountry: 512 type: string 513 PassportNumber: 514 type: string 515 type: object 516 cart.ShippingItem: 517 properties: 518 AppliedDiscounts: 519 items: 520 $ref: '#/definitions/cart.AppliedDiscount' 521 type: array 522 PriceGross: 523 $ref: '#/definitions/domain.Price' 524 PriceGrossWithDiscounts: 525 $ref: '#/definitions/domain.Price' 526 PriceNet: 527 $ref: '#/definitions/domain.Price' 528 PriceNetWithDiscounts: 529 $ref: '#/definitions/domain.Price' 530 TaxAmount: 531 $ref: '#/definitions/domain.Price' 532 Title: 533 type: string 534 type: object 535 cart.Tax: 536 properties: 537 Amount: 538 $ref: '#/definitions/domain.Price' 539 Rate: 540 type: string 541 Type: 542 type: string 543 type: object 544 cart.Teaser: 545 properties: 546 DeliveryCodes: 547 items: 548 type: string 549 type: array 550 ItemCount: 551 type: integer 552 ProductCount: 553 type: integer 554 type: object 555 cart.Totalitem: 556 properties: 557 Code: 558 type: string 559 Price: 560 $ref: '#/definitions/domain.Price' 561 Title: 562 type: string 563 Type: 564 type: string 565 type: object 566 cartResultError: 567 properties: 568 Code: 569 type: string 570 Message: 571 type: string 572 type: object 573 checkoutError: 574 properties: 575 Code: 576 type: string 577 Message: 578 type: string 579 type: object 580 controller.APIResult: 581 properties: 582 Error: 583 $ref: '#/definitions/productResultError' 584 Product: {} 585 Success: 586 type: boolean 587 type: object 588 controller.CartAPIResult: 589 properties: 590 CartTeaser: 591 $ref: '#/definitions/cart.Teaser' 592 CartValidationResult: 593 $ref: '#/definitions/validation.Result' 594 Data: {} 595 DataValidationInfo: 596 type: object 597 Error: 598 allOf: 599 - $ref: '#/definitions/cartResultError' 600 description: Contains details if success is false 601 Success: 602 type: boolean 603 type: object 604 controller.getCartResult: 605 properties: 606 Cart: 607 $ref: '#/definitions/cart.Cart' 608 CartValidationResult: 609 $ref: '#/definitions/validation.Result' 610 type: object 611 controller.placeOrderContext: 612 properties: 613 Cart: 614 $ref: '#/definitions/cart.Cart' 615 CartValidationResult: 616 $ref: '#/definitions/validation.Result' 617 FailedReason: 618 type: string 619 OrderInfos: 620 $ref: '#/definitions/controller.placedOrderInfos' 621 State: 622 type: string 623 StateData: {} 624 UUID: 625 type: string 626 type: object 627 controller.placedOrderInfos: 628 properties: 629 Email: 630 type: string 631 PaymentInfos: 632 items: 633 $ref: '#/definitions/application.PlaceOrderPaymentInfo' 634 type: array 635 PlacedDecoratedCart: 636 $ref: '#/definitions/decorator.DecoratedCart' 637 PlacedOrderInfos: 638 items: 639 $ref: '#/definitions/placeorder.PlacedOrderInfo' 640 type: array 641 type: object 642 controller.startPlaceOrderResult: 643 properties: 644 UUID: 645 type: string 646 type: object 647 decorator.DecoratedCart: 648 properties: 649 Cart: 650 $ref: '#/definitions/cart.Cart' 651 DecoratedDeliveries: 652 items: 653 $ref: '#/definitions/decorator.DecoratedDelivery' 654 type: array 655 type: object 656 decorator.DecoratedCartItem: 657 properties: 658 Item: 659 $ref: '#/definitions/cart.Item' 660 Product: {} 661 type: object 662 decorator.DecoratedDelivery: 663 properties: 664 DecoratedItems: 665 items: 666 $ref: '#/definitions/decorator.DecoratedCartItem' 667 type: array 668 Delivery: 669 $ref: '#/definitions/cart.Delivery' 670 type: object 671 domain.Attributes: 672 additionalProperties: {} 673 type: object 674 domain.Badge: 675 properties: 676 Code: 677 type: string 678 Label: 679 type: string 680 type: object 681 domain.BundleConfiguration: 682 additionalProperties: 683 $ref: '#/definitions/domain.ChoiceConfiguration' 684 type: object 685 domain.CategoryTeaser: 686 properties: 687 Code: 688 description: Code the identifier of the Category 689 type: string 690 Name: 691 description: Name is the speaking name of the category 692 type: string 693 Path: 694 description: The Path (root to leaf) for this Category - separated by "/" 695 type: string 696 type: object 697 domain.ChoiceConfiguration: 698 properties: 699 MarketplaceCode: 700 type: string 701 Qty: 702 type: integer 703 VariantMarketplaceCode: 704 type: string 705 type: object 706 domain.Error: 707 properties: 708 ErrorCode: 709 type: string 710 ErrorMessage: 711 type: string 712 type: object 713 domain.FlowActionData: 714 properties: 715 DisplayData: 716 description: DisplayData holds data, normally HTML to be displayed to the 717 user 718 type: string 719 FormParameter: 720 additionalProperties: 721 $ref: '#/definitions/domain.FormField' 722 type: object 723 URL: 724 description: URL is used to pass URL data to the user if the current state 725 needs some 726 type: string 727 WalletDetails: 728 $ref: '#/definitions/domain.WalletDetails' 729 type: object 730 domain.FlowStatus: 731 properties: 732 Action: 733 description: Action to perform to proceed in the payment flow. If status is 734 "payment_waiting_for_customer" this field contains information about what 735 to do - e.g. "redirect" or "show_iframe" 736 type: string 737 ActionData: 738 $ref: '#/definitions/domain.FlowActionData' 739 Data: 740 description: Data contains additional information related to the action / 741 flow 742 Error: 743 allOf: 744 - $ref: '#/definitions/domain.Error' 745 description: Error contains additional information in case of an error (e.g. 746 payment failed) 747 Status: 748 description: Status of the payment flow. E.g. "payment_completed", "payment_waiting_for_customer" 749 or "payment_failed" 750 type: string 751 type: object 752 domain.FormField: 753 properties: 754 Value: 755 items: 756 type: string 757 type: array 758 type: object 759 domain.LoyaltyEarningInfo: 760 properties: 761 Default: 762 $ref: '#/definitions/domain.Price' 763 Type: 764 type: string 765 type: object 766 domain.LoyaltyPriceInfo: 767 properties: 768 Context: 769 $ref: '#/definitions/domain.PriceContext' 770 Default: 771 $ref: '#/definitions/domain.Price' 772 DiscountText: 773 type: string 774 Discounted: 775 $ref: '#/definitions/domain.Price' 776 IsDiscounted: 777 type: boolean 778 MaxPointsToSpent: 779 type: string 780 MinPointsToSpent: 781 type: string 782 Type: 783 description: Type or Name of the Loyalty program 784 type: string 785 type: object 786 domain.PaymentRequestAPI: 787 properties: 788 CompleteURL: 789 type: string 790 Details: 791 type: string 792 MerchantValidationURL: 793 type: string 794 Methods: 795 type: string 796 Options: 797 type: string 798 type: object 799 domain.Price: 800 type: object 801 domain.PriceContext: 802 properties: 803 ChannelCode: 804 type: string 805 CustomerGroup: 806 type: string 807 DeliveryCode: 808 type: string 809 Locale: 810 type: string 811 type: object 812 domain.PriceInfo: 813 properties: 814 ActiveBase: 815 type: string 816 ActiveBaseAmount: 817 type: string 818 ActiveBaseUnit: 819 type: string 820 CampaignRules: 821 items: 822 type: string 823 type: array 824 Context: 825 $ref: '#/definitions/domain.PriceContext' 826 Default: 827 $ref: '#/definitions/domain.Price' 828 DenyMoreDiscounts: 829 type: boolean 830 DiscountText: 831 type: string 832 Discounted: 833 $ref: '#/definitions/domain.Price' 834 IsDiscounted: 835 type: boolean 836 TaxClass: 837 type: string 838 type: object 839 domain.SimpleProduct: 840 properties: 841 ActiveLoyaltyPrice: 842 $ref: '#/definitions/domain.LoyaltyPriceInfo' 843 ActivePrice: 844 $ref: '#/definitions/domain.PriceInfo' 845 Attributes: 846 $ref: '#/definitions/domain.Attributes' 847 AvailablePrices: 848 items: 849 $ref: '#/definitions/domain.PriceInfo' 850 type: array 851 Badges: 852 items: 853 $ref: '#/definitions/domain.Badge' 854 type: array 855 Categories: 856 items: 857 $ref: '#/definitions/domain.CategoryTeaser' 858 type: array 859 CategoryToCodeMapping: 860 items: 861 type: string 862 type: array 863 CreatedAt: 864 type: string 865 Description: 866 type: string 867 Identifier: 868 type: string 869 IsNew: 870 type: boolean 871 IsSaleable: 872 type: boolean 873 Keywords: 874 items: 875 type: string 876 type: array 877 LoyaltyEarnings: 878 description: LoyaltyEarnings holds optional infos about potential loyalty 879 earnings 880 items: 881 $ref: '#/definitions/domain.LoyaltyEarningInfo' 882 type: array 883 LoyaltyPrices: 884 description: LoyaltyPrices holds optional infos for products that can be paid 885 in a loyalty program 886 items: 887 $ref: '#/definitions/domain.LoyaltyPriceInfo' 888 type: array 889 MainCategory: 890 $ref: '#/definitions/domain.CategoryTeaser' 891 MarketPlaceCode: 892 type: string 893 Media: 894 items: 895 $ref: '#/definitions/ProductMedia' 896 type: array 897 RetailerCode: 898 type: string 899 RetailerName: 900 type: string 901 RetailerSku: 902 type: string 903 SaleableFrom: 904 type: string 905 SaleableTo: 906 type: string 907 ShortDescription: 908 type: string 909 Stock: 910 items: 911 $ref: '#/definitions/domain.Stock' 912 type: array 913 StockLevel: 914 description: 'Deprecated: use Stock[x].Level instead' 915 type: string 916 Teaser: 917 $ref: '#/definitions/domain.TeaserData' 918 Title: 919 type: string 920 UpdatedAt: 921 type: string 922 VisibleFrom: 923 type: string 924 VisibleTo: 925 type: string 926 type: object 927 domain.Stock: 928 properties: 929 Amount: 930 type: integer 931 DeliveryCode: 932 type: string 933 InStock: 934 type: boolean 935 Level: 936 type: string 937 type: object 938 domain.TeaserData: 939 properties: 940 Badges: 941 description: Badges optional slice of badges to teaser a product 942 items: 943 $ref: '#/definitions/domain.Badge' 944 type: array 945 MarketPlaceCode: 946 description: The sku that should be used to link from Teasers 947 type: string 948 Media: 949 description: Media 950 items: 951 $ref: '#/definitions/ProductMedia' 952 type: array 953 PreSelectedVariantSku: 954 description: PreSelectedVariantSku might be set for configurables to give 955 a hint to link to a variant of a configurable (That might be the case if 956 a user filters for an attribute and in the teaser the variant with that 957 attribute is shown) 958 type: string 959 ShortDescription: 960 type: string 961 ShortTitle: 962 type: string 963 TeaserAvailablePrices: 964 items: 965 $ref: '#/definitions/domain.PriceInfo' 966 type: array 967 TeaserLoyaltyEarningInfo: 968 allOf: 969 - $ref: '#/definitions/domain.LoyaltyEarningInfo' 970 description: TeaserLoyaltyEarning is the teaser for the loyalty earning used 971 in grid / list view 972 TeaserLoyaltyPriceInfo: 973 allOf: 974 - $ref: '#/definitions/domain.LoyaltyPriceInfo' 975 description: TeaserLoyaltyPriceInfo is the loyalty price that can be used 976 for teaser (e.g. on listing views) 977 TeaserPrice: 978 allOf: 979 - $ref: '#/definitions/domain.PriceInfo' 980 description: TeaserPrice is the price that should be shown in teasers (listview) 981 TeaserPriceIsFromPrice: 982 description: TeaserPriceIsFromPrice is set to true in cases where a product 983 might have different prices (e.g. configurable) 984 type: boolean 985 URLSlug: 986 type: string 987 type: object 988 domain.WalletDetails: 989 properties: 990 PaymentRequestAPI: 991 $ref: '#/definitions/domain.PaymentRequestAPI' 992 UsedPaymentMethod: 993 type: string 994 type: object 995 paymentResultError: 996 properties: 997 Code: 998 type: string 999 Message: 1000 type: string 1001 type: object 1002 placeorder.CreditCardInfo: 1003 properties: 1004 AnonymizedCardNumber: 1005 type: string 1006 CardHolder: 1007 type: string 1008 Expire: 1009 type: string 1010 Type: 1011 type: string 1012 type: object 1013 placeorder.PlacedOrderInfo: 1014 properties: 1015 DeliveryCode: 1016 type: string 1017 OrderNumber: 1018 type: string 1019 type: object 1020 productResultError: 1021 properties: 1022 Code: 1023 type: string 1024 Message: 1025 type: string 1026 type: object 1027 validation.ItemValidationError: 1028 properties: 1029 ErrorMessageKey: 1030 type: string 1031 ItemID: 1032 type: string 1033 type: object 1034 validation.Result: 1035 properties: 1036 CommonErrorMessageKey: 1037 type: string 1038 HasCommonError: 1039 type: boolean 1040 ItemResults: 1041 items: 1042 $ref: '#/definitions/validation.ItemValidationError' 1043 type: array 1044 type: object 1045 info: 1046 contact: 1047 email: flamingo@aoe.com 1048 name: Flamingo 1049 url: https://gitter.im/i-love-flamingo/community# 1050 description: Swagger (OpenAPI) Spec of all Flamingo Commerce modules 1051 license: 1052 name: MIT 1053 title: Flamingo Commerce API Spec 1054 version: "1.0" 1055 paths: 1056 /api/v1/cart: 1057 delete: 1058 produces: 1059 - application/json 1060 responses: 1061 "200": 1062 description: OK 1063 schema: 1064 $ref: '#/definitions/controller.CartAPIResult' 1065 "500": 1066 description: Internal Server Error 1067 schema: 1068 $ref: '#/definitions/controller.CartAPIResult' 1069 summary: Remove all stored cart information e.g. items, deliveries, billing 1070 address and returns the empty cart. 1071 tags: 1072 - Cart 1073 get: 1074 produces: 1075 - application/json 1076 responses: 1077 "200": 1078 description: OK 1079 schema: 1080 $ref: '#/definitions/controller.getCartResult' 1081 "500": 1082 description: Internal Server Error 1083 schema: 1084 $ref: '#/definitions/controller.CartAPIResult' 1085 summary: Get the current cart 1086 tags: 1087 - Cart 1088 /api/v1/cart/billing: 1089 put: 1090 consumes: 1091 - application/x-www-form-urlencoded 1092 parameters: 1093 - description: vat 1094 in: formData 1095 name: vat 1096 type: string 1097 - description: firstname 1098 in: formData 1099 name: firstname 1100 required: true 1101 type: string 1102 - description: lastname 1103 in: formData 1104 name: lastname 1105 required: true 1106 type: string 1107 - description: middlename 1108 in: formData 1109 name: middlename 1110 type: string 1111 - description: title 1112 in: formData 1113 name: title 1114 type: string 1115 - description: salutation 1116 in: formData 1117 name: salutation 1118 type: string 1119 - description: street 1120 in: formData 1121 name: street 1122 type: string 1123 - description: streetNr 1124 in: formData 1125 name: streetNr 1126 type: string 1127 - description: addressLine1 1128 in: formData 1129 name: addressLine1 1130 type: string 1131 - description: addressLine2 1132 in: formData 1133 name: addressLine2 1134 type: string 1135 - description: company 1136 in: formData 1137 name: company 1138 type: string 1139 - description: postCode 1140 in: formData 1141 name: postCode 1142 type: string 1143 - description: city 1144 in: formData 1145 name: city 1146 type: string 1147 - description: state 1148 in: formData 1149 name: state 1150 type: string 1151 - description: regionCode 1152 in: formData 1153 name: regionCode 1154 type: string 1155 - description: country 1156 in: formData 1157 name: country 1158 type: string 1159 - description: countryCode 1160 in: formData 1161 name: countryCode 1162 type: string 1163 - description: phoneAreaCode 1164 in: formData 1165 name: phoneAreaCode 1166 type: string 1167 - description: phoneCountryCode 1168 in: formData 1169 name: phoneCountryCode 1170 type: string 1171 - description: phoneNumber 1172 in: formData 1173 name: phoneNumber 1174 type: string 1175 - description: email 1176 in: formData 1177 name: email 1178 required: true 1179 type: string 1180 produces: 1181 - application/json 1182 responses: 1183 "200": 1184 description: OK 1185 schema: 1186 $ref: '#/definitions/controller.CartAPIResult' 1187 "500": 1188 description: Internal Server Error 1189 schema: 1190 $ref: '#/definitions/controller.CartAPIResult' 1191 summary: Adds billing infos to the current cart 1192 tags: 1193 - Cart 1194 /api/v1/cart/deliveries/items: 1195 delete: 1196 produces: 1197 - application/json 1198 responses: 1199 "200": 1200 description: OK 1201 schema: 1202 $ref: '#/definitions/controller.CartAPIResult' 1203 "500": 1204 description: Internal Server Error 1205 schema: 1206 $ref: '#/definitions/controller.CartAPIResult' 1207 summary: Remove all cart items from all deliveries and return the cart, keeps 1208 the delivery info untouched. 1209 tags: 1210 - Cart 1211 /api/v1/cart/delivery/{deliveryCode}: 1212 delete: 1213 parameters: 1214 - description: the identifier for the delivery in the cart 1215 in: path 1216 name: deliveryCode 1217 required: true 1218 type: string 1219 produces: 1220 - application/json 1221 responses: 1222 "200": 1223 description: OK 1224 schema: 1225 $ref: '#/definitions/controller.CartAPIResult' 1226 "500": 1227 description: Internal Server Error 1228 schema: 1229 $ref: '#/definitions/controller.CartAPIResult' 1230 summary: Cleans the given delivery from the cart 1231 tags: 1232 - Cart 1233 put: 1234 consumes: 1235 - application/x-www-form-urlencoded 1236 parameters: 1237 - description: the identifier for the delivery in the cart 1238 in: path 1239 name: deliveryCode 1240 required: true 1241 type: string 1242 - description: vat 1243 in: formData 1244 name: deliveryAddress.vat 1245 type: string 1246 - description: firstname 1247 in: formData 1248 name: deliveryAddress.firstname 1249 required: true 1250 type: string 1251 - description: lastname 1252 in: formData 1253 name: deliveryAddress.lastname 1254 required: true 1255 type: string 1256 - description: middlename 1257 in: formData 1258 name: deliveryAddress.middlename 1259 type: string 1260 - description: title 1261 in: formData 1262 name: deliveryAddress.title 1263 type: string 1264 - description: salutation 1265 in: formData 1266 name: deliveryAddress.salutation 1267 type: string 1268 - description: street 1269 in: formData 1270 name: deliveryAddress.street 1271 type: string 1272 - description: streetNr 1273 in: formData 1274 name: deliveryAddress.streetNr 1275 type: string 1276 - description: addressLine1 1277 in: formData 1278 name: deliveryAddress.addressLine1 1279 type: string 1280 - description: addressLine2 1281 in: formData 1282 name: deliveryAddress.addressLine2 1283 type: string 1284 - description: company 1285 in: formData 1286 name: deliveryAddress.company 1287 type: string 1288 - description: postCode 1289 in: formData 1290 name: deliveryAddress.postCode 1291 type: string 1292 - description: city 1293 in: formData 1294 name: deliveryAddress.city 1295 type: string 1296 - description: state 1297 in: formData 1298 name: deliveryAddress.state 1299 type: string 1300 - description: regionCode 1301 in: formData 1302 name: deliveryAddress.regionCode 1303 type: string 1304 - description: country 1305 in: formData 1306 name: deliveryAddress.country 1307 type: string 1308 - description: countryCode 1309 in: formData 1310 name: deliveryAddress.countryCode 1311 type: string 1312 - description: phoneAreaCode 1313 in: formData 1314 name: deliveryAddress.phoneAreaCode 1315 type: string 1316 - description: phoneCountryCode 1317 in: formData 1318 name: deliveryAddress.phoneCountryCode 1319 type: string 1320 - description: phoneNumber 1321 in: formData 1322 name: deliveryAddress.phoneNumber 1323 type: string 1324 - description: email 1325 in: formData 1326 name: deliveryAddress.email 1327 required: true 1328 type: string 1329 - description: useBillingAddress 1330 in: formData 1331 name: useBillingAddress 1332 type: boolean 1333 - description: shippingMethod 1334 in: formData 1335 name: shippingMethod 1336 type: string 1337 - description: shippingCarrier 1338 in: formData 1339 name: shippingCarrier 1340 type: string 1341 - description: locationCode 1342 in: formData 1343 name: locationCode 1344 type: string 1345 - description: desired date/time in RFC3339 1346 format: date-time 1347 in: formData 1348 name: desiredTime 1349 type: string 1350 produces: 1351 - application/json 1352 responses: 1353 "200": 1354 description: OK 1355 schema: 1356 $ref: '#/definitions/controller.CartAPIResult' 1357 "500": 1358 description: Internal Server Error 1359 schema: 1360 $ref: '#/definitions/controller.CartAPIResult' 1361 summary: Adds delivery infos, such as shipping address to the delivery for the 1362 cart 1363 tags: 1364 - Cart 1365 /api/v1/cart/delivery/{deliveryCode}/item: 1366 delete: 1367 parameters: 1368 - description: the identifier for the delivery in the cart 1369 in: path 1370 name: deliveryCode 1371 required: true 1372 type: string 1373 - description: the item that should be deleted 1374 in: query 1375 name: itemID 1376 required: true 1377 type: string 1378 produces: 1379 - application/json 1380 responses: 1381 "200": 1382 description: OK 1383 schema: 1384 $ref: '#/definitions/controller.CartAPIResult' 1385 "500": 1386 description: Internal Server Error 1387 schema: 1388 $ref: '#/definitions/controller.CartAPIResult' 1389 summary: Delete item from cart 1390 tags: 1391 - Cart 1392 post: 1393 parameters: 1394 - description: the identifier for the delivery in the cart 1395 in: path 1396 name: deliveryCode 1397 required: true 1398 type: string 1399 - description: the product identifier that should be added 1400 in: query 1401 name: marketplaceCode 1402 required: true 1403 type: string 1404 - description: optional the product identifier of the variant (for configurable 1405 products) that should be added 1406 in: query 1407 name: variantMarketplaceCode 1408 type: string 1409 - description: optional the qty that should be added 1410 in: query 1411 name: qty 1412 type: integer 1413 produces: 1414 - application/json 1415 responses: 1416 "200": 1417 description: OK 1418 schema: 1419 $ref: '#/definitions/controller.CartAPIResult' 1420 "500": 1421 description: Internal Server Error 1422 schema: 1423 $ref: '#/definitions/controller.CartAPIResult' 1424 summary: Add Item to cart 1425 tags: 1426 - Cart 1427 put: 1428 parameters: 1429 - description: the identifier for the delivery in the cart 1430 in: path 1431 name: deliveryCode 1432 required: true 1433 type: string 1434 - description: the item that should be updated 1435 in: query 1436 name: itemID 1437 required: true 1438 type: string 1439 - description: the new qty 1440 in: query 1441 name: qty 1442 required: true 1443 type: integer 1444 produces: 1445 - application/json 1446 responses: 1447 "200": 1448 description: OK 1449 schema: 1450 $ref: '#/definitions/controller.CartAPIResult' 1451 "500": 1452 description: Internal Server Error 1453 schema: 1454 $ref: '#/definitions/controller.CartAPIResult' 1455 summary: Update item in the cart 1456 tags: 1457 - Cart 1458 /api/v1/cart/gift-card: 1459 delete: 1460 parameters: 1461 - description: the couponCode that should be deleted as gift card 1462 in: query 1463 name: couponCode 1464 required: true 1465 type: string 1466 produces: 1467 - application/json 1468 responses: 1469 "200": 1470 description: OK 1471 schema: 1472 $ref: '#/definitions/controller.CartAPIResult' 1473 "500": 1474 description: Internal Server Error 1475 schema: 1476 $ref: '#/definitions/controller.CartAPIResult' 1477 summary: Remove Gift Card 1478 tags: 1479 - Cart 1480 post: 1481 parameters: 1482 - description: the gift card code 1483 in: query 1484 name: couponCode 1485 required: true 1486 type: string 1487 produces: 1488 - application/json 1489 responses: 1490 "200": 1491 description: OK 1492 schema: 1493 $ref: '#/definitions/controller.CartAPIResult' 1494 "500": 1495 description: Internal Server Error 1496 schema: 1497 $ref: '#/definitions/controller.CartAPIResult' 1498 summary: Apply Gift Card 1499 tags: 1500 - Cart 1501 /api/v1/cart/payment-selection: 1502 put: 1503 parameters: 1504 - description: name of the payment gateway - e.g. 'offline' 1505 in: query 1506 name: gateway 1507 required: true 1508 type: string 1509 - description: name of the payment method - e.g. 'offlinepayment_cashondelivery' 1510 in: query 1511 name: method 1512 required: true 1513 type: string 1514 produces: 1515 - application/json 1516 responses: 1517 "200": 1518 description: OK 1519 schema: 1520 $ref: '#/definitions/controller.CartAPIResult' 1521 "500": 1522 description: Internal Server Error 1523 schema: 1524 $ref: '#/definitions/controller.CartAPIResult' 1525 summary: Update/set the PaymentSelection for the current cart 1526 tags: 1527 - Cart 1528 /api/v1/cart/voucher: 1529 delete: 1530 parameters: 1531 - description: the couponCode that should be applied 1532 in: query 1533 name: couponCode 1534 required: true 1535 type: string 1536 produces: 1537 - application/json 1538 responses: 1539 "200": 1540 description: OK 1541 schema: 1542 $ref: '#/definitions/controller.CartAPIResult' 1543 "500": 1544 description: Internal Server Error 1545 schema: 1546 $ref: '#/definitions/controller.CartAPIResult' 1547 summary: Remove Voucher Code 1548 tags: 1549 - Cart 1550 post: 1551 parameters: 1552 - description: the couponCode that should be applied 1553 in: query 1554 name: couponCode 1555 required: true 1556 type: string 1557 produces: 1558 - application/json 1559 responses: 1560 "200": 1561 description: OK 1562 schema: 1563 $ref: '#/definitions/controller.CartAPIResult' 1564 "500": 1565 description: Internal Server Error 1566 schema: 1567 $ref: '#/definitions/controller.CartAPIResult' 1568 summary: Apply Voucher Code 1569 tags: 1570 - Cart 1571 /api/v1/cart/voucher-gift-card: 1572 post: 1573 description: Use this if you have one user input and that input can be used 1574 to either enter a voucher or a gift card 1575 parameters: 1576 - description: the couponCode that should be applied as gift card or voucher 1577 in: query 1578 name: couponCode 1579 required: true 1580 type: string 1581 produces: 1582 - application/json 1583 responses: 1584 "200": 1585 description: OK 1586 schema: 1587 $ref: '#/definitions/controller.CartAPIResult' 1588 "500": 1589 description: Internal Server Error 1590 schema: 1591 $ref: '#/definitions/controller.CartAPIResult' 1592 summary: Apply Gift Card or Voucher (auto detected) 1593 tags: 1594 - Cart 1595 /api/v1/checkout/placeorder: 1596 delete: 1597 produces: 1598 - application/json 1599 responses: 1600 "200": 1601 description: OK 1602 schema: 1603 type: boolean 1604 "500": 1605 description: Internal Server Error 1606 schema: 1607 $ref: '#/definitions/checkoutError' 1608 summary: Clears the last placed order if in final state 1609 tags: 1610 - Checkout 1611 get: 1612 produces: 1613 - application/json 1614 responses: 1615 "200": 1616 description: OK 1617 schema: 1618 $ref: '#/definitions/controller.placeOrderContext' 1619 "500": 1620 description: Internal Server Error 1621 schema: 1622 $ref: '#/definitions/checkoutError' 1623 summary: Returns the last saved context 1624 tags: 1625 - Checkout 1626 put: 1627 parameters: 1628 - description: the returnURL that should be used after an external payment flow 1629 in: query 1630 name: returnURL 1631 required: true 1632 type: string 1633 produces: 1634 - application/json 1635 responses: 1636 "201": 1637 description: 201 if new process was started 1638 schema: 1639 $ref: '#/definitions/controller.startPlaceOrderResult' 1640 "400": 1641 description: Bad Request 1642 schema: 1643 $ref: '#/definitions/checkoutError' 1644 "500": 1645 description: Internal Server Error 1646 schema: 1647 $ref: '#/definitions/checkoutError' 1648 summary: Starts the place order process, which is a background process handling 1649 payment and rollbacks if required. 1650 tags: 1651 - Checkout 1652 /api/v1/checkout/placeorder/cancel: 1653 post: 1654 produces: 1655 - application/json 1656 responses: 1657 "200": 1658 description: OK 1659 schema: 1660 type: boolean 1661 "500": 1662 description: Internal Server Error 1663 schema: 1664 $ref: '#/definitions/checkoutError' 1665 summary: Cancels a running place order process 1666 tags: 1667 - Checkout 1668 /api/v1/checkout/placeorder/refresh: 1669 post: 1670 produces: 1671 - application/json 1672 responses: 1673 "200": 1674 description: OK 1675 schema: 1676 $ref: '#/definitions/controller.placeOrderContext' 1677 "500": 1678 description: Internal Server Error 1679 schema: 1680 $ref: '#/definitions/checkoutError' 1681 summary: Returns the current place order context and proceeds the process in 1682 a non blocking way 1683 tags: 1684 - Checkout 1685 /api/v1/checkout/placeorder/refresh-blocking: 1686 post: 1687 description: This is useful to get the most recent place order context, for 1688 example after returning from an external payment provider 1689 produces: 1690 - application/json 1691 responses: 1692 "200": 1693 description: OK 1694 schema: 1695 $ref: '#/definitions/controller.placeOrderContext' 1696 "500": 1697 description: Internal Server Error 1698 schema: 1699 $ref: '#/definitions/checkoutError' 1700 summary: Proceeds the process and returns the place order context afterwards 1701 (blocking) 1702 tags: 1703 - Checkout 1704 /api/v1/payment/status: 1705 get: 1706 produces: 1707 - application/json 1708 responses: 1709 "200": 1710 description: OK 1711 schema: 1712 allOf: 1713 - $ref: '#/definitions/domain.FlowStatus' 1714 - properties: 1715 data: 1716 $ref: '#/definitions/cart.Cart' 1717 type: object 1718 "500": 1719 description: Internal Server Error 1720 schema: 1721 $ref: '#/definitions/paymentResultError' 1722 summary: Get the payment status of current cart (or last placed cart) 1723 tags: 1724 - Payment 1725 /api/v1/products/{marketplacecode}: 1726 get: 1727 parameters: 1728 - description: the marketplace code (idendifier) for the product 1729 in: path 1730 name: marketplacecode 1731 required: true 1732 type: string 1733 produces: 1734 - application/json 1735 responses: 1736 "200": 1737 description: OK 1738 schema: 1739 allOf: 1740 - $ref: '#/definitions/controller.APIResult' 1741 - properties: 1742 product: 1743 $ref: '#/definitions/domain.SimpleProduct' 1744 type: object 1745 "404": 1746 description: Not Found 1747 schema: 1748 $ref: '#/definitions/controller.APIResult' 1749 "500": 1750 description: Internal Server Error 1751 schema: 1752 $ref: '#/definitions/controller.APIResult' 1753 summary: Gets the requested product 1754 tags: 1755 - Product 1756 swagger: "2.0" 1757 tags: 1758 - description: All Cart related APIs endpoints, most suitable to be called from a 1759 browser, because they rely on the session and cookie headers. 1760 name: Cart 1761 - description: All Payment related APIs endpoints, most suitable to be called from 1762 a browser, because they rely on the session and cookie headers. 1763 name: Payment 1764 - description: All Product related APIs endpoints. 1765 name: Product 1766 - description: All Checkout related APIs endpoints, most suitable to be called from 1767 a browser, because they rely on the session and cookie headers. 1768 name: Checkout