{"method":"POST","path":"https://api.revcent.com/v2/user_shops/{user_shop_id}","summary":"Edit A User Shop","description":"Edit a user shop in RevCent. Only provide the properties you wish to modify. Properties not provided will remain unchanged. View markdown documentation at https://revcent.com/documentation/markdown/mcp/operation/EditUserShop.md for an in-depth overview of this operation.","operationId":"EditUserShop","parameters":[{"in":"path","name":"user_shop_id","description":"The user shop ID.","required":true,"schema":{"type":"string","description":"A 20 character user shop ID.","minLength":20,"maxLength":20}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"name":{"description":"The user shop name. Must be unique from other user shop names.","type":"string"},"description":{"description":"The user shop description.","type":"string"},"url":{"type":"string","description":"The shop URL. Confirm the exact URL with the user before creating the user shop."},"payment_profile_id":{"type":"string","description":"A 20 character payment profile ID to associate with the user shop. This determines the payment profile that will process credit card transactions. If you do not have a payment profile ID, or a payment profile ID is invalid, automatically get a list of available payment profiles using the GetPaymentProfiles operation and find the appropriate payment profile and its ID. Confirm with the user the specific payment profile they want.","minLength":20,"maxLength":20},"campaign_id":{"type":"string","description":"A 20 character campaign ID to associate with the user shop. If you do not have a campaign ID, or a campaign ID is invalid, automatically get a list of available campaigns using the GetCampaigns operation and find the appropriate campaign and its ID. Confirm with the user the specific campaign they want.","minLength":20,"maxLength":20},"site_shop_id":{"type":"string","description":"A 20 character site shop ID which is associated with the user shop. If you do not have a site shop ID, or a site shop ID is invalid, automatically get a list of available site shops using the GetSiteShops operation and find the appropriate site shop and its ID. Confirm with the user the specific site shop they want.","minLength":20,"maxLength":20},"site_shop_version":{"type":"string","description":"The version of the shop software. For WooCommerce stores, the value should be '3'. Confirm the exact version with the user before creating the user shop. A WooCommerce store should have a version of '3'."},"offline_payment_methods":{"description":"An array of objects, each containing the name and possible third party integration for offline payment methods being used on the remote shop. Get the remote shop offline payment methods using the GetUserShop operation with the remote_data query parameter containing 'offline_payment_methods'. It is important to map offline payment methods being used in a remote shop to third party integration, where applicable. When editing a user shops' offline_payment_methods it is important to include all methods, as the array will be replaced in its entirety. If there are no offline payment methods, provide an empty array.","type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"description":"The remote shop id for the individual offline payment method. This should be the ID returned from the remote shop in the remote_data.offline_payment_methods[payment_method] when retrieving the remote shop offline payment methods using the GetUserShop operation with the remote_data query parameter containing 'offline_payment_methods'.","type":"string"},"name":{"description":"The name of the offline payment method. This should be the name returned from the remote shop in the remote_data.offline_payment_methods[payment_method] when retrieving the remote shop offline payment methods using the GetUserShop operation with the remote_data query parameter containing 'offline_payment_methods'.","type":"string"},"description":{"description":"The description of the offline payment method. This should be the description returned from the remote shop in the remote_data.offline_payment_methods[payment_method] when retrieving the remote shop offline payment methods using the GetUserShop operation with the remote_data query parameter containing 'offline_payment_methods'.","type":"string"},"method_title":{"description":"The method title of the offline payment method. This should be the method_title returned from the remote shop in the remote_data.offline_payment_methods[payment_method] when retrieving the remote shop offline payment methods using the GetUserShop operation with the remote_data query parameter containing 'offline_payment_methods'.","type":"string"},"method_description":{"description":"The method description of the offline payment method. This should be the method_description returned from the remote shop in the remote_data.offline_payment_methods[payment_method] when retrieving the remote shop offline payment methods using the GetUserShop operation with the remote_data query parameter containing 'offline_payment_methods'.","type":"string"},"third_party_integration":{"description":"The third party integration ID to associate with the offline payment method if applicable. This should be the ID of the third party integration within RevCent that corresponds to the offline payment method. Mapping the offline payment method to a third party integration allows for better tracking and reporting of transactions using that offline payment method. If there is no corresponding third party integration or you do not wish to associate one, provide a null value. Note: The site integration for a user integration should be of type 'offline_payment' to be applicable as a third party integration for an offline payment method.","type":"string"}},"required":["id","name"]}},"shipping_methods":{"type":"array","description":"An array of objects, each containing the name of the shipping method being used on the remote shop. Get the remote shop shipping methods using the GetUserShop operation with the remote_data query parameter containing 'shipping_methods'. When editing a user shops' shipping_methods it is important to include all methods, as the array will be replaced in its entirety. If there are no shipping methods, provide an empty array.","items":{"type":"object","additionalProperties":false,"properties":{"third_party_shipping_id":{"description":"The remote shop id for the individual shipping method. This should be the third_party_shipping_id returned from the remote shop in the remote_data.shipping_methods[shipping_method] when retrieving the remote shop shipping methods using the GetUserShop operation with the remote_data query parameter containing 'shipping_methods'.","type":"string"},"third_party_shipping_name":{"description":"The third_party_shipping_name of the shipping method. This should be the third_party_shipping_name returned from the remote shop in the remote_data.shipping_methods[shipping_method]. Use this name to accurately map the provider property to a shipping provider within RevCent.","type":"string"},"provider":{"type":"string","description":"The shipping method provider in RevCent that is associated with this specific shipping method. Get a list of shipping providers via the GetShippingProviders operation. This must be a 20 character ID for a shipping provider in RevCent."},"provider_method":{"type":"string","description":"The shipping method in RevCent that is associated with this specific shop shipping method. Get a list of shipping methods for the related provider via the GetShippingProvider operation. This must be a 20 character ID for a shipping provider method in RevCent which is associated with the provider."}},"required":["third_party_shipping_id","third_party_shipping_name","provider","provider_method"]}},"fields":{"description":"An array of objects, each containing the id and value of the fields corresponding to the site shop. Get the site shop fields by using the GetSiteShop operation when the site_shop_id is confirmed.","type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"description":"The id for the individual field according to the site shop fields required.","type":"string"},"value":{"description":"The value for the individual field according to the site shop fields required.","type":"string"}},"required":["id","value"]}}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"","properties":{"api_call_id":{"type":"string","description":"A 20 character API call ID.","minLength":20,"maxLength":20},"api_call_unix":{"description":"Unix timestamp of when the API call was initiated.","type":"integer","format":"unix-time"},"code":{"description":"API call response code.","type":"integer","format":"int32","enum":[1]},"user_shop_id":{"type":"string","description":"A 20 character user shop ID.","minLength":20,"maxLength":20},"result":{"type":"string"}},"type":"object","additionalProperties":false}}},"description":"Successful response."},"default":{"content":{"application/json":{"schema":{"description":"","properties":{"api_call_id":{"type":"string","description":"A 20 character API call ID.","minLength":20,"maxLength":20},"api_call_unix":{"description":"Unix timestamp of when the API call was initiated.","type":"integer","format":"unix-time"},"code":{"description":"This value indicates that there is an error. Will always be 0.","type":"integer","enum":[0]},"error_code":{"description":"The specific error code.","type":"string"},"message":{"description":"A human readable description of the error.","type":"string"},"result":{"description":"A description of the API call result.","type":"string"}},"title":"APIStandardErrors","type":"object","additionalProperties":false}}},"description":"Error response."}}}