| POST | /users | Create user | Creates a new user account and customer profile. |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BokaMera.API.ServiceModel.Dtos;
namespace BokaMera.API.ServiceModel.Dtos
{
[ApiResponse(Description="Returned if there is a validation error on the input parameters", StatusCode=400)]
[ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401)]
public partial class CreateUser
{
[ApiMember(IsRequired=true)]
public virtual string Firstname { get; set; }
[ApiMember(IsRequired=true)]
public virtual string Lastname { get; set; }
[ApiMember]
public virtual string Phone { get; set; }
[ApiMember(IsRequired=true)]
public virtual string Email { get; set; }
public virtual InvoiceAddressToHandle InvoiceAddress { get; set; }
}
public partial class CreateUserResponse
{
public virtual Object ResponseStatus { get; set; }
public virtual Guid? Id { get; set; }
public virtual Guid? UserId { get; set; }
public virtual string Email { get; set; }
public virtual string Firstname { get; set; }
public virtual string Lastname { get; set; }
public virtual string Phone { get; set; }
public virtual DateTime? CreatedDate { get; set; }
public virtual InvoiceAddressResponse InvoiceAddress { get; set; }
}
public partial class InvoiceAddressResponse
{
public virtual Guid InvoiceAddressId { get; set; }
public virtual Guid? UserId { get; set; }
public virtual string CorporateIdentityNumber { get; set; }
public virtual string InvoiceAddress1 { get; set; }
public virtual string InvoiceAddress2 { get; set; }
public virtual string InvoiceCity { get; set; }
public virtual string InvoicePostalCode { get; set; }
public virtual string InvoiceCountryCode { get; set; }
}
public partial class InvoiceAddressToHandle
: IInvoiceAddress
{
public virtual string CorporateIdentityNumber { get; set; }
public virtual string InvoiceAddress1 { get; set; }
public virtual string InvoiceAddress2 { get; set; }
public virtual string InvoiceCity { get; set; }
public virtual string InvoicePostalCode { get; set; }
public virtual string InvoiceCountryCode { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /users HTTP/1.1
Host: api.bokamera.se
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateUser xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<Email>String</Email>
<Firstname>String</Firstname>
<InvoiceAddress>
<CorporateIdentityNumber>String</CorporateIdentityNumber>
<InvoiceAddress1>String</InvoiceAddress1>
<InvoiceAddress2>String</InvoiceAddress2>
<InvoiceCity>String</InvoiceCity>
<InvoiceCountryCode>String</InvoiceCountryCode>
<InvoicePostalCode>String</InvoicePostalCode>
</InvoiceAddress>
<Lastname>String</Lastname>
<Phone>String</Phone>
</CreateUser>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CreateUserResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<CreatedDate>0001-01-01T00:00:00</CreatedDate>
<Email>String</Email>
<Firstname>String</Firstname>
<Id>00000000-0000-0000-0000-000000000000</Id>
<InvoiceAddress>
<CorporateIdentityNumber>String</CorporateIdentityNumber>
<InvoiceAddress1>String</InvoiceAddress1>
<InvoiceAddress2>String</InvoiceAddress2>
<InvoiceAddressId>00000000-0000-0000-0000-000000000000</InvoiceAddressId>
<InvoiceCity>String</InvoiceCity>
<InvoiceCountryCode>String</InvoiceCountryCode>
<InvoicePostalCode>String</InvoicePostalCode>
<UserId>00000000-0000-0000-0000-000000000000</UserId>
</InvoiceAddress>
<Lastname>String</Lastname>
<Phone>String</Phone>
<ResponseStatus />
<UserId>00000000-0000-0000-0000-000000000000</UserId>
</CreateUserResponse>