Richemont.Booster2.PublicApi

<back to all web services

ExportInvoice

Requires Authentication
The following routes are available for this service:
POST/invoice/{brand}/exportExport Invoice DataCreate a invoice in a POS you are authorised for
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class ExportInvoice
    {
        /**
        * Brand Trigram, e.g. CAR, IWC
        */
        @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true)
        public String brand = null;

        /**
        * Pos Legacy IDs / Codes
        */
        @ApiMember(Description="Pos Legacy IDs / Codes", IsRequired=true)
        public ArrayList<String> posCodes = null;

        /**
        * Date To
        */
        @ApiMember(Description="Date To")
        public Date dateTo = null;

        /**
        * Date From
        */
        @ApiMember(Description="Date From")
        public Date dateFrom = null;

        /**
        * Reason Code e.g. Y00, Y06
        */
        @ApiMember(Description="Reason Code e.g. Y00, Y06")
        public ArrayList<String> reasonCodes = null;

        /**
        * Product Categories
        */
        @ApiMember(Description="Product Categories")
        public ArrayList<ProductCategory> productCategories = null;

        /**
        * Export Request ID of the API Consumers
        */
        @ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true)
        public String downloadRequestId = null;
        
        public String getBrand() { return brand; }
        public ExportInvoice setBrand(String value) { this.brand = value; return this; }
        public ArrayList<String> getPosCodes() { return posCodes; }
        public ExportInvoice setPosCodes(ArrayList<String> value) { this.posCodes = value; return this; }
        public Date getDateTo() { return dateTo; }
        public ExportInvoice setDateTo(Date value) { this.dateTo = value; return this; }
        public Date getDateFrom() { return dateFrom; }
        public ExportInvoice setDateFrom(Date value) { this.dateFrom = value; return this; }
        public ArrayList<String> getReasonCodes() { return reasonCodes; }
        public ExportInvoice setReasonCodes(ArrayList<String> value) { this.reasonCodes = value; return this; }
        public ArrayList<ProductCategory> getProductCategories() { return productCategories; }
        public ExportInvoice setProductCategories(ArrayList<ProductCategory> value) { this.productCategories = value; return this; }
        public String getDownloadRequestId() { return downloadRequestId; }
        public ExportInvoice setDownloadRequestId(String value) { this.downloadRequestId = value; return this; }
    }

    public static class ProductCategory
    {
        /**
        * Brand Category ID
        */
        @ApiMember(Description="Brand Category ID")
        public String brandCategoryId = null;

        /**
        * Grand Category ID
        */
        @ApiMember(Description="Grand Category ID", IsRequired=true)
        public String grandCategoryId = null;

        /**
        * Master Category ID
        */
        @ApiMember(Description="Master Category ID")
        public String masterCategoryId = null;

        /**
        * Category ID
        */
        @ApiMember(Description="Category ID")
        public String categoryId = null;

        /**
        * Sub Category ID
        */
        @ApiMember(Description="Sub Category ID")
        public String subCategoryId = null;
        
        public String getBrandCategoryId() { return brandCategoryId; }
        public ProductCategory setBrandCategoryId(String value) { this.brandCategoryId = value; return this; }
        public String getGrandCategoryId() { return grandCategoryId; }
        public ProductCategory setGrandCategoryId(String value) { this.grandCategoryId = value; return this; }
        public String getMasterCategoryId() { return masterCategoryId; }
        public ProductCategory setMasterCategoryId(String value) { this.masterCategoryId = value; return this; }
        public String getCategoryId() { return categoryId; }
        public ProductCategory setCategoryId(String value) { this.categoryId = value; return this; }
        public String getSubCategoryId() { return subCategoryId; }
        public ProductCategory setSubCategoryId(String value) { this.subCategoryId = value; return this; }
    }

    public static class ExportInvoiceResponse
    {
        /**
        * Unique Identifier of the Export Request created
        */
        @ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true)
        public UUID asyncTaskId = null;
        
        public UUID getAsyncTaskId() { return asyncTaskId; }
        public ExportInvoiceResponse setAsyncTaskId(UUID value) { this.asyncTaskId = value; return this; }
    }

}

Java ExportInvoice DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /invoice/{brand}/export HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"brand":"String","posCodes":["String"],"dateTo":"\/Date(-62135596800000-0000)\/","dateFrom":"\/Date(-62135596800000-0000)\/","reasonCodes":["String"],"productCategories":[{"brandCategoryId":"String","grandCategoryId":"String","masterCategoryId":"String","categoryId":"String","subCategoryId":"String"}],"downloadRequestId":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"asyncTaskId":"00000000000000000000000000000000"}