| POST | /invoice/{brand}/export | Export Invoice Data | Create a invoice in a POS you are authorised for |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Richemont.Booster2.PublicApi.Purchase.ServiceModel;
using Richemont.Booster2.PublicApi.Common.ServiceModel;
namespace Richemont.Booster2.PublicApi.Common.ServiceModel
{
public partial class ProductCategory
{
///<summary>
///Brand Category ID
///</summary>
[ApiMember(Description="Brand Category ID")]
public virtual string brandCategoryId { get; set; }
///<summary>
///Grand Category ID
///</summary>
[ApiMember(Description="Grand Category ID", IsRequired=true)]
public virtual string grandCategoryId { get; set; }
///<summary>
///Master Category ID
///</summary>
[ApiMember(Description="Master Category ID")]
public virtual string masterCategoryId { get; set; }
///<summary>
///Category ID
///</summary>
[ApiMember(Description="Category ID")]
public virtual string categoryId { get; set; }
///<summary>
///Sub Category ID
///</summary>
[ApiMember(Description="Sub Category ID")]
public virtual string subCategoryId { get; set; }
}
}
namespace Richemont.Booster2.PublicApi.Purchase.ServiceModel
{
public partial class ExportInvoice
{
public ExportInvoice()
{
posCodes = new List<string>{};
reasonCodes = new List<string>{};
productCategories = new List<ProductCategory>{};
}
///<summary>
///Brand Trigram, e.g. CAR, IWC
///</summary>
[ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true)]
public virtual string brand { get; set; }
///<summary>
///Pos Legacy IDs / Codes
///</summary>
[ApiMember(Description="Pos Legacy IDs / Codes", IsRequired=true)]
public virtual List<string> posCodes { get; set; }
///<summary>
///Date To
///</summary>
[ApiMember(Description="Date To")]
public virtual DateTime? dateTo { get; set; }
///<summary>
///Date From
///</summary>
[ApiMember(Description="Date From")]
public virtual DateTime? dateFrom { get; set; }
///<summary>
///Reason Code e.g. Y00, Y06
///</summary>
[ApiMember(Description="Reason Code e.g. Y00, Y06")]
public virtual List<string> reasonCodes { get; set; }
///<summary>
///Product Categories
///</summary>
[ApiMember(Description="Product Categories")]
public virtual List<ProductCategory> productCategories { get; set; }
///<summary>
///Export Request ID of the API Consumers
///</summary>
[ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true)]
public virtual string downloadRequestId { get; set; }
}
public partial class ExportInvoiceResponse
{
///<summary>
///Unique Identifier of the Export Request created
///</summary>
[ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true)]
public virtual Guid asyncTaskId { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
Content-Type: application/json
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: application/json
Content-Length: length
{"asyncTaskId":"00000000000000000000000000000000"}