> ## Documentation Index
> Fetch the complete documentation index at: https://docs.turtles.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrations

> Connect your existing commerce platform to Turtles.

export const CopyButton = ({text}) => {
  const handleClick = event => {
    const button = event.currentTarget;
    navigator.clipboard.writeText(text).then(() => {
      const copyIcon = button.querySelector('.copy-icon');
      const checkIcon = button.querySelector('.check-icon');
      copyIcon.style.display = 'none';
      checkIcon.style.display = 'inline-block';
      setTimeout(() => {
        copyIcon.style.display = 'inline-block';
        checkIcon.style.display = 'none';
      }, 2000);
    });
  };
  return <button type="button" onClick={handleClick} aria-label="Copy to clipboard" title="Copy to clipboard" style={{
    display: 'inline-flex',
    alignItems: 'center',
    justifyContent: 'center',
    verticalAlign: 'middle',
    width: '28px',
    height: '28px',
    marginLeft: '6px',
    padding: 0,
    borderRadius: '6px',
    border: '1px solid rgba(128, 128, 128, 0.35)',
    background: 'transparent',
    cursor: 'pointer',
    transition: 'background-color 150ms ease'
  }} onMouseEnter={e => {
    e.currentTarget.style.backgroundColor = 'rgba(128, 128, 128, 0.15)';
  }} onMouseLeave={e => {
    e.currentTarget.style.backgroundColor = 'transparent';
  }}>
      <svg className="copy-icon" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" style={{
    display: 'inline-block'
  }}>
        <rect width="14" height="14" x="8" y="8" rx="2" ry="2" />
        <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
      </svg>
      <svg className="check-icon" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" style={{
    display: 'none'
  }}>
        <path d="M20 6 9 17l-5-5" />
      </svg>
    </button>;
};

### Supported platforms

* **Shopify:** Live
* **Amazon:** Coming soon
* **BigCommerce:** Coming soon
* **Magento (Adobe Commerce):** Coming soon
* **Salesforce Commerce Cloud:** Coming soon
* **WooCommerce:** Coming soon

<div style={{ height: '90px' }} />

### Connect your Shopify to Turtles

<Check>
  To begin, you must have 'App Development' permissions in Shopify Admin
</Check>

<Steps>
  <Step title="Create your Turtles app">
    1. Visit [https://dev.shopify.com/dashboard/](https://dev.shopify.com/dashboard/)
    2. Click **Create app**, name it `Turtles` and click **Create**
  </Step>

  <Step title="App setup">
    1. Set the app URL to `https://app.turtles.com` <CopyButton text="https://app.turtles.com" />
    2. Set 'Scopes' to `read_products,read_inventory,write_orders` <CopyButton text="read_products,read_inventory,write_orders" />
    3. Leave everything else as the default values or empty
    4. Click **Release** at the bottom, and then click **Release** again when the confirmation popup is displayed
  </Step>

  <Step title="Connect to Turtles">
    1. In the Shopify dashboard, click **Settings** from the left sidebar and copy the Client ID and secret
    2. Go back to the **Turtles Portal**, and paste the Client ID and secret
    3. Click **Connect Shopify**
    4. Click **Install** on the Shopify installation page to finish authorizing the app

           <img src="https://mintcdn.com/turtlescom/o9DLsCjJsyqRtcRG/images/shopify-settings.png?fit=max&auto=format&n=o9DLsCjJsyqRtcRG&q=85&s=46fe91296dc6860b4593d6a7bb880ba6" alt="Shopify" width="2534" height="594" data-path="images/shopify-settings.png" />
  </Step>
</Steps>

### Troubleshooting Shopify

<AccordionGroup>
  <Accordion title="Shopify app is missing permissions">
    This means the app is missing one of the 3 required scopes. Here's how to fix it:

    1. Visit [https://dev.shopify.com/dashboard/](https://dev.shopify.com/dashboard/)
    2. Click on the **Turtles** app to open it
    3. Click **Versions** from the left sidebar
    4. Click **Create version**
    5. Change 'Scopes' to `read_products,read_inventory,write_orders` <CopyButton text="read_products,read_inventory,write_orders" />
    6. Click **Release** at the bottom, and then click **Release** again when the confirmation popup is displayed
    7. In the Shopify dashboard, click **Settings** from the left sidebar and copy the **Client ID** and **secret**
    8. Go back to the **Turtles Portal**, and paste the **Client ID** and **secret**
    9. Click **Install** on the Shopify installation page to finish authorizing the app
  </Accordion>

  <Accordion title="OAuth error invalid_request: The redirect_uri and application url must have matching hosts">
    <img src="https://mintcdn.com/turtlescom/o9DLsCjJsyqRtcRG/images/oops.png?fit=max&auto=format&n=o9DLsCjJsyqRtcRG&q=85&s=d54751c6189b436af883aac33504f03b" alt="Oops" style={{ maxWidth: '600px' }} width="1322" height="887" data-path="images/oops.png" />

    This means the App URL was entered incorrectly during app setup. Here's how to fix it:

    1. Visit [https://dev.shopify.com/dashboard/](https://dev.shopify.com/dashboard/)
    2. Click on the **Turtles** app to open it
    3. Click **Versions** from the left sidebar
    4. Click **Create version**
    5. In the URLs section, change 'App URL' to `https://app.turtles.com` <CopyButton text="https://app.turtles.com" />
    6. Click **Release** at the bottom, and then click **Release** again when the confirmation popup is displayed
    7. In the Shopify dashboard, click **Settings** from the left sidebar and copy the **Client ID** and **secret**
    8. Go back to the **Turtles Portal**, and paste the **Client ID** and **secret**
    9. Click **Install** on the Shopify installation page to finish authorizing the app
  </Accordion>
</AccordionGroup>

<div style={{ height: '90px' }} />

### WooCommerce Integration Guide

<Steps>
  <Step title="Generate API keys">
    1. Go to: WooCommerce > Settings > Advanced > REST API.

           <img src="https://mintcdn.com/turtlescom/Zb7Wz6Kw8JztGtTe/images/woo/form.png?fit=max&auto=format&n=Zb7Wz6Kw8JztGtTe&q=85&s=36cf1a98931aaf1e35da17fad0599be4" alt="WooCommerce" width="993" height="489" data-path="images/woo/form.png" />

    2. Click Create an API key OR Add Key. You’ll be taken to the Key Details screen.

    3. Add a Description.

    4. Select the User you would like to generate a key for in the dropdown.

    5. Select Read/Write access

    6. Click Generate API Key, and WooCommerce creates API keys for that user.

    7. Now that keys have been generated, you should see Consumer Key and Consumer Secret keys.

           <img src="https://mintcdn.com/turtlescom/Zb7Wz6Kw8JztGtTe/images/woo/done.png?fit=max&auto=format&n=Zb7Wz6Kw8JztGtTe&q=85&s=eab2cc3c3c229eaa1a0d3d3e2c3e6e40" alt="WooCommerce" width="998" height="583" data-path="images/woo/done.png" />
  </Step>

  <Step title="Connect to Turtles">
    1. Log in to your [Turtles Dashboard](https://app.turtles.com)
    2. Navigate to **Settings > Integrations**
    3. Click **Connect WooCommerce**
    4. Fill in the Store URL, Consumer key and secret
  </Step>
</Steps>

Need help? Contact [support@turtles.com](mailto:support@turtles.com)
