PHPackages                             pango-lier/etsy-php-v3 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. pango-lier/etsy-php-v3

ActiveLibrary[API Development](/categories/api)

pango-lier/etsy-php-v3
======================

Simple PHP Laravel Etsy-API-V3--Guzzel

371PHP

Since Sep 23Pushed 3y ago2 watchersCompare

[ Source](https://github.com/pango-lier/etsy-php-v3)[ Packagist](https://packagist.org/packages/pango-lier/etsy-php-v3)[ RSS](/packages/pango-lier-etsy-php-v3/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

etsy-php-v3
===========

[](#etsy-php-v3)

PHP-Laravel-Redis-Guzzel
========================

[](#php-laravel-redis-guzzel)

Setup EtsyOauth.php Example, Get Token.
=======================================

[](#setup-etsyoauthphp-example-get-token)

Config Etsy client\_id ,etsy\_scope
-----------------------------------

[](#config-etsy-client_id-etsy_scope)

```
public function __construct($accountId = null, $access_token = null, $refresh_token = null)
    {
        $this->accountId = $accountId;
        $this->client = new EtsyClient(env('ETSY_KEYSTRING'), ETSY_SCOPE);
    }

```

Requesting an OAuth Token
-------------------------

[](#requesting-an-oauth-token)

### Step 1: Request an Authorization Code

[](#step-1-request-an-authorization-code)

Get URL to redirect to Etsy Store

```
$getUrlRedirect= (new EtsyOauth())->getUrlRedirect(route('callback.verifier'));

```

### Step 2: Grant Access

[](#step-2-grant-access)

### Step 3: Request an Access Token

[](#step-3-request-an-access-token)

```
$token = (new EtsyOauth())->getAccessToken($request->state, $request->code, route('callback.verifier'));

```

Token will be saved in Redis.

EtsyApi.php
===========

[](#etsyapiphp)

- Map methods.json to etsy method function.

EtsyClient.php
==============

[](#etsyclientphp)

- Guzzle client.

How to use etsy-php-v3
======================

[](#how-to-use-etsy-php-v3)

Step 1: Get auth account.
-------------------------

[](#step-1-get-auth-account)

```
$etsyOauth = new EtsyOauth($accountId);
$api = $etsyOauth->getApi();

```

Call api
--------

[](#call-api)

Step 2: check file methods.json .
---------------------------------

[](#step-2-check-file-methodsjson-)

```
  "createDraftListing": {
    "http_method": "post",
    "content-type": "application/x-www-form-urlencoded",
    "uri": "/v3/application/shops/{shop_id}/listings",
    "params": { "shop_id": { "minimum": 1, "required": true, "type": "integer" } },
    "query": [],
    "data": {
      "quantity": { "type": "integer", "required": true },
      "title": { "type": "string", "required": true },
      "description": { "type": "string", "required": true },
      "price": { "type": "float", "required": true },
      "who_made": { "type": "string", "required": true },
      "when_made": { "type": "string", "required": true },
      "taxonomy_id": { "type": "integer", "required": true },
      "shipping_profile_id": { "type": "integer", "required": true },
      "materials": { "type": "array", "required": false },
      "shop_section_id": { "type": "integer", "required": false },
      "processing_min": { "type": "integer", "required": false },
      "processing_max": { "type": "integer", "required": false },
      "tags": { "type": "array", "required": false },
      "recipient": { "type": "string", "required": false },
      "occasion": { "type": "string", "required": false },
      "styles": { "type": "array", "required": false },
      "item_weight": { "type": "float", "required": false },
      "item_length": { "type": "float", "required": false },
      "item_width": { "type": "float", "required": false },
      "item_height": { "type": "float", "required": false },
      "item_weight_unit": { "type": "string", "required": false },
      "item_dimensions_unit": { "type": "string", "required": false },
      "is_personalizable": { "type": "boolean", "required": false },
      "image_ids": { "type": "array", "required": false },
      "is_supply": { "type": "boolean", "required": false },
      "is_customizable": { "type": "boolean", "required": false },
      "is_taxable": { "type": "boolean", "required": false }
    }
  },

```

### Example run Api

[](#example-run-api)

Step 2: Example data .
----------------------

[](#step-2-example-data-)

```
$api->createDraftListing([
    'params':
        [
            'shop_id':xxxxx   // required =true
        ],
    'data':
        [
      "quantity": 1,
      "title": "example title",   // required =true
      "description": "example",   // required =true
      "price": 11.11,   // required =true
      "who_made": { "type": "string", "required": true },// required =true
      "when_made": { "type": "string", "required": true },// required =true
      "taxonomy_id": { "type": "integer", "required": true },// required =true
      "shipping_profile_id": { "type": "integer", "required": true },// required =true
      "is_customizable": false,
      "is_taxable": false
        ]
])

```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/5782a3edb06280056b1bb86471a6e7d7126040858fba8a31859dbbda86563e6a?d=identicon)[pango-lier](/maintainers/pango-lier)

---

Top Contributors

[![pango-lier](https://avatars.githubusercontent.com/u/34365057?v=4)](https://github.com/pango-lier "pango-lier (11 commits)")

### Embed Badge

![Health badge](/badges/pango-lier-etsy-php-v3/health.svg)

```
[![Health](https://phpackages.com/badges/pango-lier-etsy-php-v3/health.svg)](https://phpackages.com/packages/pango-lier-etsy-php-v3)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M479](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M271](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
