{"method":"GET","path":"https://api.revcent.com/v2/user_shops/{user_shop_id}","summary":"Get A User Shop","description":"Retrieve the details of a specific user shop. If you do not have a user shop ID, run the GetUserShops operation to get a list of user shops, then confirm the shop with the user.","operationId":"GetUserShop","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}},{"name":"remote_data","in":"query","description":"To retrieve remote items from the user third party shop. Applies to WooCommerce stores only. This allows you to retrieve one ore more item types from the remote store that may not have been created in RevCent yet, or items that have been updated in the remote store but need to be updated in RevCent.<br><br>Options:<br><br>'shipping_methods': Get the remote shops' shipping methods and map them correctly to the RevCent users' third party shop shipping methods.<br><br>'offline_payment_methods': Get the remote shops' payment methods and map them correctly to the RevCent users' third party shop offline payment methods with possible third party integration.<br><br>'products': Get the remote shops' products. Use this option to retrieve products from the remote shop, with an 'exists_in_revcent' flag indicating whether the product should be created or updated in RevCent. Warning: The 'products' option should be typically be avoided as the response payload can potentially be very large. It is recommended to use the SyncProducts operation instead for syncing products between the remote shop and RevCent.","required":false,"schema":{"type":"array","items":{"type":"string","enum":["products","shipping_methods","offline_payment_methods"]}},"style":"form","explode":true}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"encoding":{},"schema":{"additionalProperties":false,"properties":{},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"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":"The API call response code, 1 = Success","type":"integer","enum":[1]}},"title":"APICallResponseInfo","type":"object","additionalProperties":false},{"type":"object","additionalProperties":false,"properties":{"created_date_unix":{"description":"The unix timestamp of when the item was created.","type":"integer","format":"unix-time"},"campaign":{"type":"object","additionalProperties":false,"description":"The campaign associated with the user shop.","properties":{"id":{"type":"string","description":"A 20 character campaign ID.","minLength":20,"maxLength":20},"name":{"description":"The campaign name.","type":"string"}}},"payment_profile":{"type":"object","additionalProperties":false,"description":"The payment profile associated with the user shop.","properties":{"id":{"type":"string","description":"A 20 character payment profile ID.","minLength":20,"maxLength":20},"name":{"description":"The payment profile name.","type":"string"}}},"api_account":{"type":"object","additionalProperties":false,"description":"The API account attached to the user shop.","properties":{"id":{"type":"string","description":"A 20 character API account ID.","minLength":20,"maxLength":20},"name":{"description":"The API account name.","type":"string"}}},"webhook":{"type":"object","additionalProperties":false,"description":"The webhook associated with the user shop.","properties":{"id":{"type":"string","description":"A 20 character webhook ID.","minLength":20,"maxLength":20},"name":{"description":"The webhook name.","type":"string"}}},"description":{"description":"The user shop description.","type":"string"},"enabled":{"description":"Whether the user shop is currently enabled.","type":"boolean"},"id":{"type":"string","description":"A 20 character user shop ID.","minLength":20,"maxLength":20},"name":{"description":"The user shop name.","type":"string"},"shop_version":{"description":"The user shop version corresponding to the site shop.","type":"string"},"live_mode":{"description":"Whether the shop is currently in live or test mode.","type":"boolean"},"url":{"description":"The user shop url.","type":"string"},"fields_saved":{"description":"An array of fields required for the site shop which have been saved for the user shop.","type":"array","items":{"type":"string","description":"An individual field required for the associated site shop."}},"site_shop":{"type":"object","additionalProperties":false,"description":"The site shop attached to the user shop.","properties":{"id":{"type":"string","description":"A 20 character site shop ID.","minLength":20,"maxLength":20},"name":{"description":"The site shop name.","type":"string"},"description":{"description":"The site shop description.","type":"string"}}},"offline_payment_methods":{"type":"array","description":"An array of offline payment methods that have been saved to the user shop in RevCent. It is important that alternate payment methods in the remote shop are added in RevCent to the third party shop to ensure payments are successfully recorded with the correct mapping. You can modify offline payment method(s) via the EditUserShop operation. Offline payment methods are payment methods that are not processed via credit card or PayPal, and are instead 'alternate' payments such as Sezzle, Klarna, AfterPay, Amazon Pay, etc. Any payment method that is not processed via credit card or PayPal can be considered an offline payment method and added to the user shop as an offline payment method. It is important to map offline payment methods to a third party integration if applicable. For example, if an offline payment method is Sezzle, the user should create a third party integration in RevCent for their Sezzle account. Linking offline payment methods to a native third party integration in RevCent allows RevCent to process refunds, retrieve payment details and more.","items":{"type":"object","additionalProperties":false,"properties":{"id":{"description":"The payment ID from the third party shop.","type":"string"},"name":{"description":"The payment name from the third party shop.","type":"string"},"method_title":{"description":"The payment method title from the third party shop.","type":"string"},"method_description":{"description":"The offline payment method description from the third party shop.","type":"string"},"third_party_integration":{"type":"object","additionalProperties":false,"description":"The third party integration associated with the offline payment method. This is used to connect the offline payment method to the actual third party integration in RevCent that will process the payment when the offline payment method is used in a transaction.","properties":{"id":{"type":"string","description":"A 20 character user third party integration ID.","minLength":20,"maxLength":20},"name":{"description":"The third party integration name.","type":"string"},"description":{"description":"The third party integration description.","type":"string"},"enabled":{"description":"Whether the third party integration is currently enabled.","type":"boolean"},"third_party":{"type":"object","additionalProperties":false,"description":"The third party associated with the third party integration. The third party represents the actual site third party integration in RevCent.","properties":{"id":{"type":"string","description":"A 20 character system third party integration ID.","minLength":20,"maxLength":20},"name":{"description":"The third party name.","type":"string"},"description":{"description":"The third party description.","type":"string"},"integration_type":{"description":"The third party integration type.","type":"string"}}}}}}}},"shipping_methods":{"type":"array","description":"An array of shipping methods that have been saved to the user shop in RevCent. All shipping methods must be properly mapped to the appropriate provider and provider method. It is important that shipping method(s) in the remote shop are added to the third party shop in RevCent to ensure shipments are successfully shipped using the correct carrier. You can modify the third party shop shipping method(s) via the EditUserShop operation.","items":{"type":"object","additionalProperties":false,"properties":{"third_party_shipping_id":{"description":"The shipping method ID from the third party shop. This is the unique ID from the remote shop and must be accurate to correctly ship items purchased on the remote shop.","type":"string"},"third_party_shipping_name":{"description":"The shipping method name from the third party shop.","type":"string"},"method_title":{"description":"The shipping method title from the third party shop.","type":"string"},"provider":{"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.","type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"A 20 character site shipping provider ID.","minLength":20,"maxLength":20},"name":{"description":"The shipping provider name.","type":"string"},"name_lower":{"description":"The shipping provider name in lowercase.","type":"string"}}},"provider_method":{"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.","type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"A 20 character site shipping provider method ID.","minLength":20,"maxLength":20},"display_name":{"description":"The shipping method display name.","type":"string"},"identifier":{"description":"The shipping method identifier.","type":"string"}}}}}},"remote_data":{"type":"object","additionalProperties":false,"description":"The remote data object is returned when the query parameter 'remote_data' is present during the GetUserShop operation. Depending on the values for the query 'remote_data', the appropriate items will be retrieved from the remote shop and provided in the response. This helps when configuring a third party shop in RevCent, specifically the shipping methods and offline payment methods. It also helps when wanting to import or create products in RevCent which originated in a remote third party shop.","properties":{"products":{"type":"array","description":"An array of products retrieved from the remote shop. This is returned when the query parameter 'remote_data' includes 'products' when performing the GetUserShop operation. Products will include the necessary fields for creating or updating a product in RevCent via CreateProduct or EditProduct operation. It is extremely important to include the 'internal_id' when creating or editing a product in RevCent specific to a remote shop.","items":{"type":"object","additionalProperties":false,"properties":{"exists_in_revcent":{"type":"boolean","description":"Very important: This property indicates if the product already exists in RevCent. If exists_in_revcent = true, use the EditProduct operation if you wish to make any necessary changes using the 20 character 'id' property. Do not create a new product if exists_in_revcent = true. If exists_in_revcent = false, the product needs to be created in RevCent via the CreateProduct operation."},"id":{"description":"The RevCent product ID. This will be present if the product has already been created in RevCent. If wanting to modify the product with updated data, use the EditProduct operation and this ID. If this value is empty, null or not present it means that the product does not currently exist in RevCent and should be created.","type":"string"},"internal_id":{"type":"string","description":"The products' ID from the third party shop. This is the unique ID from the remote shop and must be accurate when creating or editing the product in RevCent. It is extremely important that the internal_id property is present when creating or editing a product in RevCent for a product coming from a remote shop."},"sku":{"description":"The product SKU.","type":"string"},"name":{"description":"The product name from the third party shop.","type":"string"},"description":{"description":"The product short description from the third party shop.","type":"string"},"description_html":{"description":"The product description in HTML format from the third party shop.","type":"string"},"enabled":{"description":"Whether the product is currently enabled in the remote shop.","type":"boolean"},"url":{"type":"string","description":"The URL to the product in the remote shop."},"image_url":{"type":"string","description":"The URL to the product image in the remote shop."},"price":{"type":"string","description":"The product price from the third party shop. This should be a string to ensure accurate representation of the price, specifically with regards to decimal points."},"cost":{"type":"number","format":"float","description":"Your estimated cost for the product. This is used for your internal tracking and reporting in RevCent and is not required to be sent."},"is_shippable":{"type":"boolean","description":"Whether the product is shippable or not in the remote shop. This is important to know when creating/editing the product in RevCent. You must assign the correct fulfillment account to a product in RevCent that is shippable. Get a list of user fulfillment accounts using the GetFulfillmentAccounts operation, and assign the appropriate fulfillment account to the product."},"fulfillment_account":{"type":"string","description":"The 20 character ID of the fulfillment account associated with the product. This is required if the product is shippable. Get a list of user fulfillment accounts using the GetFulfillmentAccounts operation, and assign the appropriate fulfillment account to the product when creating or editing a product."},"third_party_shop":{"type":"string","description":"The 20 character ID of the third party shop associated with the product. This should be the same ID as the third party shop."},"subscription_profile":{"type":"string","description":"The 20 character ID of the subscription profile associated with the product. This is required if the product is a subscription product. Get a list of subscription profiles using the GetSubscriptionProfiles operation, and assign the appropriate subscription profile to the product when creating or editing a product."},"trial_days":{"type":"integer","description":"If the product is a trial product, the number of days the trial will last. This will be non-empty when the product has already been created in RevCent with an associated trial period."},"parent_product":{"type":"string","description":"If the product is the child of another product, the internal ID from the third party shop for the parent product. If not null or empty, provide this value as the 'parent_product' property when creating or editing a product via CreateProduct or EditProduct operations."},"google_product_category":{"type":"string","description":"The Google product category ID for the product. This is used for product listings including agentic commerce such as ChatGPT Instant Checkout. The product category should be the most specific category possible that accurately describes the product. A list of valid product categories with ID's can be found here: <a href=\"https://www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt\" target=\"_blank\">https://www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt</a>"},"metadata":{"type":"string","description":"A JSON string representing a metadata array from the remote shop."},"msrp":{"type":"string","description":"The MSRP of the product."},"is_price_sale":{"type":"boolean","description":"Whether the product is currently on sale in the remote shop."},"price_sale":{"type":"string","description":"The sale price of the product in the remote shop, if is_price_sale is true."},"is_discount":{"type":"boolean","description":"Whether the product is currently discounted in the remote shop."},"discount_rate":{"type":"string","description":"The discount rate of the product in the remote shop, if is_discount is true."},"in_stock":{"type":"boolean","description":"Whether the product is currently in stock in the remote shop."},"stock":{"type":"integer","description":"The current stock quantity of the product in the remote shop."},"brand":{"type":"string","description":"The product brand in the remote shop."},"material":{"type":"string","description":"The product material."},"age_group":{"type":"string","description":"The product age group.","enum":["adult","kids","toddler","infant","newborn"]},"condition":{"type":"string","description":"The product condition.","enum":["new","used","refurbished"]},"rating_value":{"type":"string","description":"The product rating value in the remote shop."},"rating_count":{"type":"integer","description":"The product rating count in the remote shop."},"upc":{"type":"string","description":"The product UPC. Recommended if wishing to list via agentic commerce."},"isbn":{"type":"string","description":"The product ISBN."},"asin":{"type":"string","description":"The product ASIN."},"mpn":{"type":"string","description":"The product MPN."},"ean":{"type":"string","description":"The product EAN."},"weight":{"type":"string","description":"The product weight in pounds. This should be a string to ensure accurate representation of the weight, specifically with regards to decimal points."},"length":{"type":"string","description":"The product length in inches. This should be a string to ensure accurate representation of the length, specifically with regards to decimal points."},"width":{"type":"string","description":"The product width in inches. This should be a string to ensure accurate representation of the width, specifically with regards to decimal points."},"height":{"type":"string","description":"The product height in inches. This should be a string to ensure accurate representation of the height, specifically with regards to decimal points."},"date_last_updated_in_remote_shop":{"type":"string","description":"The date the product was last modified in the remote shop. This may help to keep track of when syncing products between the remote shop and RevCent, specifically to know when to update the product in RevCent based on changes in the remote shop. Compare to date_last_updated_in_revcent to determine if an update is needed. If date_last_updated_in_remote_shop is after date_last_updated_in_revcent, then the product in RevCent may need to be updated based on changes in the remote shop."},"date_last_updated_in_revcent":{"type":"string","description":"The date the product was last modified in RevCent. This may help to keep track of when syncing products between the remote shop and RevCent, specifically to know when to update the product in RevCent based on changes in the remote shop. Compare to date_last_updated_in_remote_shop to determine if an update is needed. If date_last_updated_in_remote_shop is after date_last_updated_in_revcent, then the product in RevCent may need to be updated based on changes in the remote shop."}}}},"shipping_methods":{"type":"array","description":"An array of shipping methods retrieved from the remote shop. This is returned when the query parameter 'remote_data' includes 'shipping_methods' when performing the GetUserShop operation. This helps to know which shipping methods are being used in the remote shop and ensure those shipping methods are properly added and mapped in the third party shop in RevCent. Each shipping method should be mapped using the provider and provider methods.","items":{"type":"object","additionalProperties":false,"properties":{"id":{"description":"The shipping method ID from the third party shop. When adding shipping methods to a third party shop via CreateUserShop or EditUserShop, this value should be the third_party_id for the individual method.","type":"string"},"name":{"description":"The shipping method name from the third party shop.","type":"string"},"description":{"description":"The shipping method description from the third party shop.","type":"string"},"enabled":{"description":"Whether the shipping method is currently enabled in the remote shop.","type":"boolean"}}}},"offline_payment_methods":{"type":"array","description":"An array of offline payment methods retrieved from the remote shop. This is returned when the query parameter 'remote_data' includes 'offline_payment_methods' when performing the GetUserShop operation. This helps to know which offline payment methods are being used in the remote shop and ensure those offline payment methods are properly added and mapped in the third party shop in RevCent. For example, if an offline payment method is Sezzle, the RevCent user should have a third party integration for the specific Sezzle account being used in the third party shop for the payment method.","items":{"type":"object","additionalProperties":false,"properties":{"id":{"description":"The offline payment method ID from the third party shop. When adding offline payment methods to a third party shop via CreateUserShop or EditUserShop, this value should be the third_party_id for the individual method.","type":"string"},"name":{"description":"The offline payment method name from the third party shop.","type":"string"},"method_title":{"description":"The offline payment method title from the third party shop.","type":"string"},"method_description":{"description":"The offline payment method description from the third party shop.","type":"string"},"description":{"description":"The offline payment method description from the third party shop.","type":"string"},"enabled":{"description":"Whether the offline payment method is currently enabled in the remote shop.","type":"boolean"}}}}}},"updated_date_unix":{"description":"The unix timestamp of when the item was last updated.","type":"integer","format":"unix-time"}}}]}}},"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."}}}