### CartRover Merchant and Warehouse Setup API Source: https://developers.cartrover.com/index This section details the CartRover API endpoints for setting up new merchants and managing warehouse-related configurations. These endpoints are used for whitelabeling CartRover functionality and integrating new business accounts. ```APIDOC New Merchant (Warehouse Accounts): Endpoint: /wms/merchant Method: POST Description: Creates a new merchant user for warehouse accounts and returns API credentials. Uses Warehouse level API credentials. Note: Merchant API credentials are only returned once upon creation. New Merchant Sub Account (Master Accounts): Endpoint: /master/merchant Method: POST Description: Creates a new Merchant Account as a sub-account. Uses Master level API credentials. Returns the Account Number for the new account. New Warehouse Sub Account (Master Accounts): Endpoint: /master/warehouse Method: POST Description: Creates a new Warehouse Account as a sub-account. Uses Master level API credentials. Returns the Account Number for the new account. Related: See Sub Account Access documentation for details on accessing sub-accounts. List All Available Carts: Endpoint: /cart/listall Method: GET Description: Displays a list of available cart connections and their required setup parameters. Uses the merchant's level API credentials. ``` -------------------------------- ### Optional Cart Calls Source: https://developers.cartrover.com/index Additional useful API calls related to cart management, including listing setup carts and skipped orders. ```APIDOC List Setup Carts: GET /cart/list Description: Retrieve a list of all order source connections currently set up. Returns: - A list of configured cart connections. List Skipped Orders: GET /merchant/skipped_orders Description: Retrieve a list of orders that were skipped during the synchronization process. Returns: - A list of skipped orders with relevant information. ``` -------------------------------- ### CartRover API Rate Limit Error Example Source: https://developers.cartrover.com/index Illustrates the JSON response when the CartRover API rate limit is exceeded. It indicates a failure due to excessive requests. ```json { "success_code": false, "error_code": "RateLimit", "message": "Over API Limit. Please slow down requests." } ``` -------------------------------- ### CartRover PHP Client Integration Source: https://developers.cartrover.com/index Provides information on how to integrate the official CartRover PHP client library into a project for easier API interaction. ```PHP // Include the official CartRover PHP client directly in your project. // Example usage would depend on the client's methods. ``` -------------------------------- ### POST New Warehouse Sub Account Source: https://developers.cartrover.com/index Creates a new Warehouse / 3PL account. Requires company details and optionally allows for user and WMS information. The API uses Basic Authentication. ```APIDOC POST /v1/master/warehouse **Request Body Parameters:** * **company** (Array, Required): Company details. * **company** (String, 45 chars, Required): Company Name. * **phone** (String, 45 chars, Optional): Company Phone Number. * **user** (Array, Optional): Optionally create a new user for this warehouse. * **name** (String, 45 chars, Required): User Name. * **email** (String, 255 chars, Required): User email. * **password** (String, 45 chars, Optional): Account activation will be sent if the user object is sent with no password. * **repeat_password** (String, 45 chars, Optional): Must match the password. * **wms** (Array, Optional): Order Destination Info. * **wms_name** (String, Required): Which WMS should be setup? * **wms_params** (Array, Optional): Array of WMS level param values to set for this account. This section is only usable by independent Merchant accounts. **Response Fields:** * **warehouse_pk** (Int): Unique identifier for this warehouse account. **Example Request Body:** ```json { "company": { "company": "My Company Name", "phone": "1-805-399-2278" }, "user": { "name": "Mrs. Bigglesworth", "email": "biggle@evil.com", "password": "Optional Password", "repeat_password": "Optional Password" }, "wms": { "wms_name": "WMS_3PL", "wms_params": {} } } ``` **Example cURL Request:** ```curl curl --location 'https://api.cartrover.com/v1/master/warehouse' \ --header 'Content-Type: application/json' \ --data-raw '{ "company": { "company": "My Company Name", "phone": "1-805-399-2278" }, "user": { "name": "Mrs. Bigglesworth", "email": "biggle@evil.com", "password": "Optional Password", "repeat_password": "Optional Password" }, "wms": { "wms_name": "WMS_3PL", "wms_params": {} } }' ``` **Example Success Response:** ```json { "success_code": true, "response": { "fclient_pk": 1023 } } ``` ``` -------------------------------- ### CartRover API Authentication (Basic Auth) Source: https://developers.cartrover.com/index Demonstrates how to authenticate with the CartRover API using Basic Access Authentication. This involves concatenating the API user and key, Base64 encoding the result, and passing it in the Authorization header. ```cURL curl -u "api_user:api_key" https://api.cartrover.com/endpoint ``` ```APIDOC Authorization: Basic BASE64ENCODEDSTRING Where BASE64ENCODEDSTRING is the Base64 encoding of "api_user:api_key". ``` -------------------------------- ### CartRover Utility API Endpoints Source: https://developers.cartrover.com/index This section lists various optional CartRover API endpoints for utility functions such as managing alerts, creating new warehouses, and handling order cancellations. ```APIDOC New Warehouse: Endpoint: /merchant/warehouse Method: POST Description: Creates a new warehouse entry. List Alerts: Endpoint: /merchant/alerts Method: GET Description: Retrieves a list of alerts. ``` -------------------------------- ### CartRover Inventory and Product Management API Source: https://developers.cartrover.com/index This section covers the CartRover API endpoints for managing product data and inventory levels. Accurate inventory updates are essential for reflecting real-time stock availability across integrated sales channels. ```APIDOC Update Inventory: Endpoint: /merchant/inventory/update Method: POST Description: Posts inventory data to CartRover, which then forwards it to connected order sources. Updates can be real-time or batched. Parameters: inventory_data: Data representing current inventory levels. Note: CartRover accounts for sales between inventory posts to ensure accurate levels are passed to order sources. Get Product Data: Endpoint: /merchant/product/ Method: GET Description: Retrieves product data from CartRover. Upload Product Data: Endpoint: /merchant/product/ Method: POST Description: Uploads product data to CartRover. ``` -------------------------------- ### Cart Connection Management Source: https://developers.cartrover.com/index Endpoints for setting up, listing, retrieving, and updating cart connections. These endpoints allow merchants to integrate their e-commerce platforms with CartRover. ```APIDOC New Cart: POST /cart/new Description: Pass connection credentials and initial settings to set up a new cart connection. CartRover will verify credentials or return an OAuth redirect URL. Parameters: - connection_credentials: Credentials for the e-commerce platform. - initial_settings: Initial configuration for the connection. Returns: - Saved and verified credentials, or an OAuth redirect URL. List Setup Carts: GET /cart/list Description: Retrieve a list of all currently set up order source connections. Returns: - A list of configured cart connections. Get Cart: GET /cart/list/{order_source} Description: Retrieve the current settings for a specific order source connection. Parameters: - order_source: The identifier for the specific order source connection. Returns: - The current settings for the specified cart connection. Update Cart: PUT /cart/edit/{order_source} Description: Update credentials or settings for a specific order source connection. Parameters: - order_source: The identifier for the specific order source connection to update. - updated_credentials: New credentials for the connection. - updated_settings: New settings for the connection. Returns: - Confirmation of the updated cart connection settings. ``` -------------------------------- ### CartRover Order Management API Source: https://developers.cartrover.com/index This section details the CartRover API endpoints for managing orders throughout their lifecycle. It covers downloading new orders, acknowledging their status, and marking them as shipped with tracking details. These operations are crucial for accurate inventory calculations and timely fulfillment. ```APIDOC List Orders by Status: Endpoint: /merchant/orders/list/ Method: GET Description: Retrieves a list of orders based on their status. Use 'new' to download new orders. Parameters: status: The status of the orders to retrieve (e.g., 'new'). Note: This functionality is planned to be available as a webhook in the future. Update Order Status: Endpoint: /merchant/orders/update/ Method: POST Description: Updates the status of an order. Can be used to acknowledge orders ('at_wms') or mark them as shipped ('shipped'). Parameters: order_id: The ID of the order to update. status: The new status for the order (e.g., 'at_wms', 'shipped'). shipments (optional): A list of shipment details, including tracking numbers. If omitted for 'shipped' status, CartRover assumes the entire order shipped. Minimum required is a tracking number. Note: Multiple calls can be made for the same order if packages ship at different times. Cancel/Refund Order in Cart: Endpoint: /merchant/orders/cart_cancel Method: POST Description: Cancels or refunds an order within the CartRover system. ``` -------------------------------- ### CartRover API Error Response Format Source: https://developers.cartrover.com/index Details the standard JSON format for error responses from the CartRover API. It includes fields for success status, error code, and a specific error message. ```json { "success_code": false, "error_code": "Invalid | Failure | RateLimit", "message": "Specific Error Message" } ``` -------------------------------- ### CartRover API Timestamp Format Source: https://developers.cartrover.com/index Specifies the required format for submitting timestamps to the CartRover API (ISO 8601 with timezone) and the format returned by the API (ISO 8601 in UTC). ```APIDOC Input: ISO 8601 format (e.g., 2018-08-27T02:24:58+00:00) Output: ISO 8601 format in UTC (e.g., 2018-08-27T02:24:58+00:00) Note: When passing a timestamp as a GET parameter, percent encode the '+' symbol as '%2B'. ``` -------------------------------- ### Merchant Alert Monitoring Source: https://developers.cartrover.com/index Endpoint for retrieving active alerts and issues related to merchant operations, such as failed order or tracking syncs. ```APIDOC List Alerts: GET /merchants/alerts Description: Get a list of all active alerts/issues for the merchant. This includes orders, tracking, and inventory records that failed to sync and require review. Returns: - A list of active alerts and associated details. ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.