# upsertBusinessInformation - Update business information of a store

Description

Update business information of a store.
Those information will be displayed to the seller in Mirakl Connect.
They are mandatory to consider a store as usable in Mirakl Connect.
This API is replacing all data at once. Developer have to provide the complete state every time.



Call Frequency

Recommended usage: 1 per minute
Maximum usage: 5 per minute

Endpoint: PUT /v1/channels/{channel_id}/stores/{channel_store_id}
Security: Bearer

## Path parameters:

  - `channel_id` (string, required)

  - `channel_store_id` (string, required)
    Id of the store in channel

## Request fields (application/json):

  - `currency` (string, required)
    Currency tag, expected in ISO 4217 format. Cannot be changed later.
    Example: "USD"

  - `kyc_status` (string)
    KYC (Know Your Customer) status of the configuration.
If KYC is not required, the status will be set to NOT_REQUIRED.


Enum: "PENDING_SUBMISSION", "PENDING_APPROVAL", "REFUSED", "APPROVED", "NOT_REQUIRED"

  - `kyc_status_reason` (string)
    Reason of a problem with the KYC configuration.
This information can be displayed to the seller if needed in Mirakl Connect

  - `missing_configuration` (boolean)
    Indicates if the store is missing configuration to be properly functioning.
This can be either required information not filled or documents not sent.
False indicates that there is no missing configuration for the store.
True will raise a warning to the seller stating that they need to configure their store.

  - `payment_information_configured` (boolean)
    Indicates if a payment method is configured for the store.

  - `payment_information_warning` (string)
    Reason of a problem with the payment configuration.
A null value indicates no problems encountered, payment configuration is valid.
Any content will raise a warning in Mirakl Connect for the seller stating that there might be a problem 
with how their payment method is configured in the Marketplace where their store is located.

  - `quality_suspension_reasons` (array)
    List of reasons for the suspension of the store related to quality standard defined by the Marketplace.
A null or empty value indicates no problems encountered, store is not suspended.
Any content will raise a warning in Mirakl Connect for the seller stating that there might be 
quality issues with their store.

  - `quality_suspension_reasons.period` (string)
    Period considered by the Marketplace for the statistics related to the rule.
    Example: "Last month"

  - `quality_suspension_reasons.rule` (string, required)
    Rule that triggered the suspension of the store.
This can be a rule related to quality, payment, shipping or any other rule defined by the Marketplace.
By assembling every parameters, we can build a human readable description of the rule.
    Example: "Evaluation Grade last month was lower than 3.5 expected to never be lower than 4.0"

  - `quality_suspension_reasons.rule_comparison_method` (string)
    Comparison method used by the Marketplace to evaluate the rule.
    Example: "lower than"

  - `quality_suspension_reasons.rule_type` (string)
    Type of the rule that triggered the suspension of the store such as DECIMAL or INTEGER.
    Example: "DECIMAL"

  - `quality_suspension_reasons.stat_value` (number)
    Value of the statistic that triggered the rule.
This is the value that was compared to the threshold defined by the Marketplace.
    Example: 3.5

  - `quality_suspension_reasons.threshold` (number)
    Threshold value defined by the Marketplace for the rule.
If the stat_value is lower than this threshold, the store is considered suspended.

  - `shipping_warning` (string)
    Reason of a problem with the shipping configuration.
A null value indicates no problems encountered, shipping configuration is valid.

  - `sub_channels` (array)
    List of sales channels inside the Marketplace where the store is located.
This is useful for marketplaces where sellers have a global product catalog with multiple sales channels.
One store can be provided per seller with as many sub channels as the sales channels the store operates in.
By doing so, the store will receive offers, prices and stock updates per sub channel. Product events will come once for the store.

Sub channels are a critical part, it can impact the business of a seller. 
By deleting one the seller participates in, all offers synchronization will stop for the marketplace sales channel it relates to. Orders should also not be sent anymore to Connect.

Behavior for the sub channel field:
- Can be null if it was never filled before.
- Can be an empty array if it was never filled before.
- Cannot be emptied if there was at least one item before.
How to:
- Add a new sub channel: add it to the list.
- Update an existing sub channel: update the item in the list with the same id.
- Delete an existing sub channel: remove it from the list.

  - `sub_channels.currency` (string, required)
    Currency tag of the sub-channel, expected in ISO 4217 format. Cannot be changed later.
    Example: "USD"

  - `sub_channels.id` (string, required)
    Id of the sub-channel inside the Marketplace where the store is located.
    Example: 12345

  - `sub_channels.name` (string, required)
    Name of the sub-channel inside the Marketplace where the store is located.
    Example: "Premium Sellers"

  - `updated_at` (string, required)
    Date of the last update of the store information.
Older event for a store will not be saved.

## Response 400 fields (application/json):

  - `code` (string, required)
    Error code (immutable)

  - `errors` (array)

  - `errors.extensions` (object)
    Free map where you find additional context data to better describe the error

  - `errors.field` (string)
    JsonPath to the field where the error occurred

  - `errors.message` (string, required)
    Literal string error item description (Please do not base your error handling on this field since it is subject to change)

  - `extensions` (object)
    Free map where you find additional context data to better describe the error

  - `message` (string, required)
    Literal string error description (Please do not base your error handling on this field since it is subject to change)


## Response 200 fields
