openapi: 3.2.0 info: version: v2 title: MoreFlo.Public.Api Customers API servers: - url: https://api.moreflo.com tags: - name: Customers paths: /v2/customers: put: tags: - Customers summary: Update customers. operationId: Customers_Update parameters: - name: externalStoreId in: query description: Id to update if multistore admin. required: false schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' text/json: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' application/xml: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' text/xml: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' application/x-www-form-urlencoded: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' description: List of cashier users to update. required: true post: tags: - Customers summary: Create customers. operationId: Customers_Create parameters: - name: externalStoreId in: query description: Id to update if multistore admin. required: false schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' text/json: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' application/xml: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' text/xml: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' application/x-www-form-urlencoded: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' description: List of customers to create. required: true /v2/stores/{externalStoreId}/customers: put: tags: - Customers summary: Update customers. operationId: Customers_Update parameters: - name: externalStoreId in: path description: Id to update if multistore admin. required: true schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' text/json: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' application/xml: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' text/xml: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' application/x-www-form-urlencoded: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerUpdate' description: List of cashier users to update. required: true post: tags: - Customers summary: Create customers. operationId: Customers_Create parameters: - name: externalStoreId in: path description: Id to update if multistore admin. required: true schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' text/json: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' application/xml: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' text/xml: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' application/x-www-form-urlencoded: schema: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerCreate' description: List of customers to create. required: true /v2/customers/find: post: tags: - Customers summary: Find customer operationId: Customers_Find parameters: - name: externalStoreId in: query description: Id to update if multistore admin. required: false schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' requestBody: content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' description: Search information. required: true /v2/stores/{externalStoreId}/customers/find: post: tags: - Customers summary: Find customer operationId: Customers_Find parameters: - name: externalStoreId in: path description: Id to update if multistore admin. required: true schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' requestBody: content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerSearchQuery' description: Search information. required: true /v2/customers/get/{customerNumber}: get: tags: - Customers summary: Get customer operationId: Customers_Get parameters: - name: customerNumber in: path description: Customer number. required: true schema: type: string - name: externalStoreId in: query description: Id to update if multistore admin. required: false schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' /v2/stores/{externalStoreId}/customers/get/{customerNumber}: get: tags: - Customers summary: Get customer operationId: Customers_Get parameters: - name: customerNumber in: path description: Customer number. required: true schema: type: string - name: externalStoreId in: path description: Id to update if multistore admin. required: true schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/json: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' application/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' text/xml: schema: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomersResult' /v2/customers/nextcustomernumber: get: tags: - Customers summary: 'Get Next Available Customer Number Id to update if multistore admin.' operationId: Customers_GetNextAvailableCustomerNumber parameters: - name: externalStoreId in: query required: false schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: type: string text/json: schema: type: string application/xml: schema: type: string text/xml: schema: type: string /v2/stores/{externalStoreId}/customers/nextcustomernumber: get: tags: - Customers summary: 'Get Next Available Customer Number Id to update if multistore admin.' operationId: Customers_GetNextAvailableCustomerNumber parameters: - name: externalStoreId in: path required: true schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: type: string text/json: schema: type: string application/xml: schema: type: string text/xml: schema: type: string components: schemas: MoreFlo.Models.InterfaceModels.CustomerResult: description: Represents the result of an operation involving a Customer entity. type: object properties: Customer: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.Customer' description: The Customer entity resulting from the operation. CustomerNumber: description: The unique customer number. type: string Success: description: Indicates whether the API operation was successful. type: boolean ExtraInformation: description: 'A list of extra information or messages related to the API operation result. This can include error messages, warnings, or informational notes.' type: array items: type: string MoreFlo.Models.InterfaceModels.CustomerAddress: type: object properties: Type: enum: - Billing - Shipping type: string Name: type: string Address1: type: string Address2: type: string PostalCode: type: string City: type: string Country: type: string Email: type: string Phone1: type: string Phone2: type: string Mobile: type: string Fax: type: string MoreFlo.Models.InterfaceModels.CustomerUpdate: required: - Name type: object properties: Website: type: string AdditionalData: type: string Contacts: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerContact' Addresses: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerAddress' ParentId: format: int32 type: integer ResponsiblePersonnelId: format: int32 type: integer Origin: type: string CustomerNumber: description: MoreFlo customer number. type: string Reference: type: string Name: type: string Address1: type: string Address2: type: string PostCode: type: string City: type: string Country: type: string IdentityNo: type: string ReferenceNumber: format: int64 description: The other systems customer number or id. type: integer Email: type: string Telephone1: type: string Telephone2: type: string VatNumber: type: string IsExportCustomer: type: boolean Mobile: type: string Fax: type: string Note: type: string DateAdded: format: date-time type: string DateUpdated: format: date-time type: string ModifiedTime: format: date-time type: string MemberGroupId: format: int32 type: integer MemberGroup: type: string PermitsCommercial: type: boolean IsCompany: type: boolean IsInternalCustomer: type: boolean IsActive: type: boolean Blocked: description: Blocked because of an issue with Credit or something else type: boolean Id: format: int32 description: Member Id type: integer MoreFlo.Models.InterfaceModels.CustomerSearchQuery: type: object properties: SearchPhrase: type: string SearchType: enum: - AllFields - CustomerNumber - Name - IdentityNumber - Email - Mobile type: string PageSize: format: int32 type: integer ExactMatch: type: boolean OnlyInternalCustomer: type: boolean OnlyExternalCustomer: type: boolean MoreFlo.Models.InterfaceModels.Customer: required: - Name type: object properties: CustomerNumber: description: MoreFlo customer number. type: string Reference: type: string Name: type: string Address1: type: string Address2: type: string PostCode: type: string City: type: string Country: type: string IdentityNo: type: string ReferenceNumber: format: int64 description: The other systems customer number or id. type: integer Email: type: string Telephone1: type: string Telephone2: type: string VatNumber: type: string IsExportCustomer: type: boolean Mobile: type: string Fax: type: string Note: type: string DateAdded: format: date-time type: string DateUpdated: format: date-time type: string ModifiedTime: format: date-time type: string MemberGroupId: format: int32 type: integer MemberGroup: type: string PermitsCommercial: type: boolean IsCompany: type: boolean IsInternalCustomer: type: boolean IsActive: type: boolean Blocked: description: Blocked because of an issue with Credit or something else type: boolean Id: format: int32 description: Member Id type: integer MoreFlo.Models.InterfaceModels.CustomersResult: description: Represents a paged result containing a list of CustomerResult objects. type: object properties: ExtraInformation: description: A list of extra information or messages related to the paginated result. type: array items: type: string list: description: The list of data items for the current page. type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerResult' Page: format: int32 description: The current page number. type: integer Total: format: int32 description: The total number of pages available. type: integer PageSize: format: int32 description: The number of data items per page. type: integer MoreFlo.Models.InterfaceModels.CustomerCreate: required: - Name type: object properties: UpdateOnExisting: type: boolean Website: type: string AdditionalData: type: string Contacts: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerContact' Addresses: type: array items: $ref: '#/components/schemas/MoreFlo.Models.InterfaceModels.CustomerAddress' ParentId: format: int32 type: integer ResponsiblePersonnelId: format: int32 type: integer Origin: type: string CustomerNumber: description: MoreFlo customer number. type: string Reference: type: string Name: type: string Address1: type: string Address2: type: string PostCode: type: string City: type: string Country: type: string IdentityNo: type: string ReferenceNumber: format: int64 description: The other systems customer number or id. type: integer Email: type: string Telephone1: type: string Telephone2: type: string VatNumber: type: string IsExportCustomer: type: boolean Mobile: type: string Fax: type: string Note: type: string DateAdded: format: date-time type: string DateUpdated: format: date-time type: string ModifiedTime: format: date-time type: string MemberGroupId: format: int32 type: integer MemberGroup: type: string PermitsCommercial: type: boolean IsCompany: type: boolean IsInternalCustomer: type: boolean IsActive: type: boolean Blocked: description: Blocked because of an issue with Credit or something else type: boolean Id: format: int32 description: Member Id type: integer MoreFlo.Models.InterfaceModels.CustomerContact: type: object properties: FirstName: type: string LastName: type: string Email: type: string Phone: type: string Id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 securitySchemes: basic: type: http scheme: basic description: Basic HTTP Authentication