BokaMera.API.Host

<back to all web services

UpdateArticleMappings

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/articles/mappingsUpdate external article mappings for the company articlesCreate or update mappings between BokaMera articles and articles in an external system, for example e-accounting
import Foundation
import ServiceStack

// @ValidateRequest(Validator="IsAuthenticated")
public class UpdateArticleMappings : ICompany, Codable
{
    /**
    * Company to update article mappings for
    */
    // @ApiMember(Description="Company to update article mappings for")
    public var companyId:String?

    /**
    * The article mappings to create or update
    */
    // @ApiMember(Description="The article mappings to create or update", IsRequired=true)
    public var articleMappings:[ArticleMappingToHandle] = []

    required public init(){}
}

public class ArticleMappingToHandle : Codable
{
    /**
    * The id of an existing mapping to update; leave empty to create a new one
    */
    // @ApiMember(Description="The id of an existing mapping to update; leave empty to create a new one")
    public var id:String?

    /**
    * The BokaMera article id
    */
    // @ApiMember(Description="The BokaMera article id")
    public var articleId:Int

    /**
    * The Reference Type: StripeArticle = 1, EAccountingArticle = 2
    */
    // @ApiMember(Description="The Reference Type: StripeArticle = 1, EAccountingArticle = 2")
    public var referenceType:String

    /**
    * The external reference; Values for EAccountingArticle, StripeArticle
    */
    // @ApiMember(Description="The external reference; Values for EAccountingArticle, StripeArticle")
    public var externalReference:String

    required public init(){}
}


Swift UpdateArticleMappings DTOs

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

HTTP + JSV

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

PUT /articles/mappings HTTP/1.1 
Host: api.bookmore.dev 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	ArticleMappings: 
	[
		{
			Id: 00000000-0000-0000-0000-000000000000,
			ArticleId: 0,
			ReferenceType: String,
			ExternalReference: String
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

[
	{
		ArticleId: 0,
		ExternalReference: String,
		ReferenceType: String
	}
]