DX STF Client API

<back to all web services

UpdateInvoiceClientProcessed

Invoice Requests

Invoice

Requires Authentication
The following routes are available for this service:
PUT/api/invoice/{InvoiceId}/processedUpdate invoice as customer processed, will also acknowledge invoice if not yet set.
import 'package:servicestack/servicestack.dart';

class TokenDto implements ICommandResponse, IConvertible
{
    String token = "";

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

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

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

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

/**
* Invoice
*/
// @Api(Description="Invoice")
// @ApiResponse(Description="Command received", IsDefaultResponse=true, ResponseType=typeof(TokenDto), StatusCode=202)
class UpdateInvoiceClientProcessed implements IConvertible
{
    /**
    * Invoice ID or Token
    */
    // @ApiMember(Description="Invoice ID or Token", ExcludeInSchema=true, ParameterType="path")
    String invoiceId = "";

    /**
    * Customer invoice reference in destination system
    */
    // @ApiMember(Description="Customer invoice reference in destination system")
    String customerReference = "";

    /**
    * Date and Time invoice was processed in destination system
    */
    // @ApiMember(Description="Date and Time invoice was processed in destination system")
    DateTime customerProcessedDate = DateTime(0);

    UpdateInvoiceClientProcessed({this.invoiceId,this.customerReference,this.customerProcessedDate});
    UpdateInvoiceClientProcessed.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        invoiceId = json['invoiceId'];
        customerReference = json['customerReference'];
        customerProcessedDate = JsonConverters.fromJson(json['customerProcessedDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'invoiceId': invoiceId,
        'customerReference': customerReference,
        'customerProcessedDate': JsonConverters.toJson(customerProcessedDate,'DateTime',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'stf_api_uat.data_xchange.co.za', types: <String, TypeInfo> {
    'TokenDto': TypeInfo(TypeOf.Class, create:() => TokenDto()),
    'UpdateInvoiceClientProcessed': TypeInfo(TypeOf.Class, create:() => UpdateInvoiceClientProcessed()),
});

Dart UpdateInvoiceClientProcessed DTOs

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

HTTP + JSON

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

PUT /api/invoice/{InvoiceId}/processed HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"customerReference":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{}