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
namespace BokaMera.API.ServiceModel.Dtos

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type ArticleMappingToHandle() = 
        ///<summary>
        ///The id of an existing mapping to update; leave empty to create a new one
        ///</summary>
        [<ApiMember(Description="The id of an existing mapping to update; leave empty to create a new one")>]
        member val Id:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///The BokaMera article id
        ///</summary>
        [<ApiMember(Description="The BokaMera article id")>]
        member val ArticleId:Int32 = new Int32() with get,set

        ///<summary>
        ///The Reference Type: StripeArticle = 1, EAccountingArticle = 2
        ///</summary>
        [<ApiMember(Description="The Reference Type: StripeArticle = 1, EAccountingArticle = 2")>]
        member val ReferenceType:String = null with get,set

        ///<summary>
        ///The external reference; Values for EAccountingArticle, StripeArticle
        ///</summary>
        [<ApiMember(Description="The external reference; Values for EAccountingArticle, StripeArticle")>]
        member val ExternalReference:String = null with get,set

    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type UpdateArticleMappings() = 
        ///<summary>
        ///Company to update article mappings for
        ///</summary>
        [<ApiMember(Description="Company to update article mappings for")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///The article mappings to create or update
        ///</summary>
        [<ApiMember(Description="The article mappings to create or update", IsRequired=true)>]
        member val ArticleMappings:ResizeArray<ArticleMappingToHandle> = null with get,set

F# UpdateArticleMappings DTOs

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

HTTP + CSV

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: testapi.bokamera.se 
Accept: text/csv
Content-Type: text/csv
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/csv
Content-Length: length

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