Richemont.Booster2.PublicApi

<back to all web services

ImportRequest

Requires Authentication
The following routes are available for this service:
POST/tasks/{brand}/importrequestUpload requestUpload sell-outs and customers provided in a file
import 'package:servicestack/servicestack.dart';

class ImportRequestResponse implements IConvertible
{
    /**
    * Unique Identifier of the Import Sell-Out and Customer request created
    */
    // @ApiMember(Description="Unique Identifier of the Import Sell-Out and Customer request created", IsRequired=true)
    String? asyncTaskId;

    ImportRequestResponse({this.asyncTaskId});
    ImportRequestResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        asyncTaskId = json['asyncTaskId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'asyncTaskId': asyncTaskId
    };

    getTypeName() => "ImportRequestResponse";
    TypeContext? context = _ctx;
}

class ImportRequest implements IConvertible
{
    /**
    * Brand Trigram, e.g. CAR, IWC
    */
    // @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true)
    String? brand;

    /**
    * Public key of the file in cloud server
    */
    // @ApiMember(Description="Public key of the file in cloud server", IsRequired=true)
    String? externalFileId;

    /**
    * Type of import e.g. 'SelloutAndCustomer', 'Sellout'
    */
    // @ApiMember(Description="Type of import e.g. 'SelloutAndCustomer', 'Sellout'", IsRequired=true)
    String? type;

    /**
    * B2 document reference to link the file with the Salesforce record
    */
    // @ApiMember(Description="B2 document reference to link the file with the Salesforce record")
    String? downloadRequestId;

    ImportRequest({this.brand,this.externalFileId,this.type,this.downloadRequestId});
    ImportRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        brand = json['brand'];
        externalFileId = json['externalFileId'];
        type = json['type'];
        downloadRequestId = json['downloadRequestId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'brand': brand,
        'externalFileId': externalFileId,
        'type': type,
        'downloadRequestId': downloadRequestId
    };

    getTypeName() => "ImportRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: <String, TypeInfo> {
    'ImportRequestResponse': TypeInfo(TypeOf.Class, create:() => ImportRequestResponse()),
    'ImportRequest': TypeInfo(TypeOf.Class, create:() => ImportRequest()),
});

Dart ImportRequest DTOs

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

HTTP + XML

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

POST /tasks/{brand}/importrequest HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ImportRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.NightlyProcess.ServiceModel">
  <brand>String</brand>
  <downloadRequestId>String</downloadRequestId>
  <externalFileId>String</externalFileId>
  <type>String</type>
</ImportRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ImportRequestResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Richemont.Booster2.PublicApi.NightlyProcess.ServiceModel">
  <asyncTaskId>00000000-0000-0000-0000-000000000000</asyncTaskId>
</ImportRequestResponse>