@sinehypernova-0718/n8n-nodes-pinterest 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +19 -0
- package/README.md +252 -2
- package/dist/credentials/PinterestOAuth2Api.credentials.d.ts +10 -0
- package/dist/credentials/PinterestOAuth2Api.credentials.js +61 -0
- package/dist/credentials/PinterestOAuth2Api.credentials.js.map +1 -0
- package/dist/nodes/Pinterest/Pinterest.node.d.ts +5 -0
- package/dist/nodes/Pinterest/Pinterest.node.js +392 -0
- package/dist/nodes/Pinterest/Pinterest.node.js.map +1 -0
- package/dist/nodes/Pinterest/Pinterest.node.json +18 -0
- package/dist/nodes/Pinterest/descriptions/BoardDescriptions.d.ts +2 -0
- package/dist/nodes/Pinterest/descriptions/BoardDescriptions.js +723 -0
- package/dist/nodes/Pinterest/descriptions/BoardDescriptions.js.map +1 -0
- package/dist/nodes/Pinterest/descriptions/PinDescriptions.d.ts +2 -0
- package/dist/nodes/Pinterest/descriptions/PinDescriptions.js +885 -0
- package/dist/nodes/Pinterest/descriptions/PinDescriptions.js.map +1 -0
- package/dist/nodes/Pinterest/descriptions/index.d.ts +2 -0
- package/dist/nodes/Pinterest/descriptions/index.js +8 -0
- package/dist/nodes/Pinterest/descriptions/index.js.map +1 -0
- package/dist/nodes/Pinterest/errors/index.d.ts +2 -0
- package/dist/nodes/Pinterest/errors/index.js +6 -0
- package/dist/nodes/Pinterest/errors/index.js.map +1 -0
- package/dist/nodes/Pinterest/errors/pinterestApiError.d.ts +8 -0
- package/dist/nodes/Pinterest/errors/pinterestApiError.js +62 -0
- package/dist/nodes/Pinterest/errors/pinterestApiError.js.map +1 -0
- package/dist/nodes/Pinterest/pinterest.dark.svg +54 -0
- package/dist/nodes/Pinterest/pinterest.svg +54 -0
- package/dist/nodes/Pinterest/requests/board/create.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/create.js +54 -0
- package/dist/nodes/Pinterest/requests/board/create.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/createSection.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/createSection.js +54 -0
- package/dist/nodes/Pinterest/requests/board/createSection.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/delete.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/delete.js +41 -0
- package/dist/nodes/Pinterest/requests/board/delete.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/deleteSection.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/deleteSection.js +52 -0
- package/dist/nodes/Pinterest/requests/board/deleteSection.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/get.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/get.js +37 -0
- package/dist/nodes/Pinterest/requests/board/get.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/index.d.ts +11 -0
- package/dist/nodes/Pinterest/requests/board/index.js +26 -0
- package/dist/nodes/Pinterest/requests/board/index.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/list.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/list.js +58 -0
- package/dist/nodes/Pinterest/requests/board/list.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/listPins.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/listPins.js +104 -0
- package/dist/nodes/Pinterest/requests/board/listPins.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/listSectionPins.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/listSectionPins.js +73 -0
- package/dist/nodes/Pinterest/requests/board/listSectionPins.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/listSections.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/listSections.js +62 -0
- package/dist/nodes/Pinterest/requests/board/listSections.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/update.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/update.js +65 -0
- package/dist/nodes/Pinterest/requests/board/update.js.map +1 -0
- package/dist/nodes/Pinterest/requests/board/updateSection.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/board/updateSection.js +67 -0
- package/dist/nodes/Pinterest/requests/board/updateSection.js.map +1 -0
- package/dist/nodes/Pinterest/requests/index.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/index.js +25 -0
- package/dist/nodes/Pinterest/requests/index.js.map +1 -0
- package/dist/nodes/Pinterest/requests/pin/create.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/pin/create.js +95 -0
- package/dist/nodes/Pinterest/requests/pin/create.js.map +1 -0
- package/dist/nodes/Pinterest/requests/pin/delete.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/pin/delete.js +28 -0
- package/dist/nodes/Pinterest/requests/pin/delete.js.map +1 -0
- package/dist/nodes/Pinterest/requests/pin/get.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/pin/get.js +35 -0
- package/dist/nodes/Pinterest/requests/pin/get.js.map +1 -0
- package/dist/nodes/Pinterest/requests/pin/getAnalytics.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/pin/getAnalytics.js +113 -0
- package/dist/nodes/Pinterest/requests/pin/getAnalytics.js.map +1 -0
- package/dist/nodes/Pinterest/requests/pin/getMultiple.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/pin/getMultiple.js +118 -0
- package/dist/nodes/Pinterest/requests/pin/getMultiple.js.map +1 -0
- package/dist/nodes/Pinterest/requests/pin/index.d.ts +8 -0
- package/dist/nodes/Pinterest/requests/pin/index.js +20 -0
- package/dist/nodes/Pinterest/requests/pin/index.js.map +1 -0
- package/dist/nodes/Pinterest/requests/pin/list.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/pin/list.js +105 -0
- package/dist/nodes/Pinterest/requests/pin/list.js.map +1 -0
- package/dist/nodes/Pinterest/requests/pin/save.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/pin/save.js +69 -0
- package/dist/nodes/Pinterest/requests/pin/save.js.map +1 -0
- package/dist/nodes/Pinterest/requests/pin/update.d.ts +2 -0
- package/dist/nodes/Pinterest/requests/pin/update.js +120 -0
- package/dist/nodes/Pinterest/requests/pin/update.js.map +1 -0
- package/dist/package.json +61 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +60 -5
package/LICENSE.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright 2022 n8n
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
5
|
+
the Software without restriction, including without limitation the rights to
|
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
8
|
+
so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,253 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png" width="200" alt="n8n" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">n8n-nodes-pinterest</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
A community-built <a href="https://www.pinterest.com/">Pinterest</a> integration for <a href="https://n8n.io/">n8n</a>.
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<i>Automate Pinterest workflows, from content management to analytics.</i>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
|
16
|
+
|
|
17
|
+
**@sinehypernova-0718/n8n-nodes-pinterest** brings Pinterest API operations into n8n workflows, letting you work with Pinterest resources through the workflow editor instead of manually constructing API requests.
|
|
18
|
+
|
|
19
|
+
## ✨ Features
|
|
20
|
+
|
|
21
|
+
- **Pinterest API v5 integration** — interact with supported Pinterest resources directly from n8n workflows.
|
|
22
|
+
- **OAuth2 authentication** — authorize API requests using Pinterest OAuth2 credentials.
|
|
23
|
+
- **Native n8n interface** — select resources, operations, and parameters through the workflow editor.
|
|
24
|
+
- **Pin management** — create, retrieve, list, update, delete, and save Pins.
|
|
25
|
+
- **Board management** — create, retrieve, list, update, and delete boards and board sections, and retrieve Pins associated with boards.
|
|
26
|
+
- **Pin analytics** — retrieve supported analytics metrics over specified date ranges.
|
|
27
|
+
- **Pagination support** — retrieve paginated results where supported by the relevant operation.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## 📁 Repository Structure
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
n8n-nodes-pinterest/
|
|
34
|
+
├── credentials/
|
|
35
|
+
│ └── PinterestOAuth2Api.credentials.ts
|
|
36
|
+
├── nodes/
|
|
37
|
+
│ └── Pinterest/
|
|
38
|
+
│ ├── descriptions/
|
|
39
|
+
│ │ ├── BoardDescriptions.ts
|
|
40
|
+
│ │ ├── PinDescriptions.ts
|
|
41
|
+
│ │ └── index.ts
|
|
42
|
+
│ ├── requests/
|
|
43
|
+
│ │ ├── board/
|
|
44
|
+
│ │ │ ├── <operation>.ts
|
|
45
|
+
│ │ │ └── index.ts
|
|
46
|
+
│ │ ├── pin/
|
|
47
|
+
│ │ │ ├── <operation>.ts
|
|
48
|
+
│ │ │ └── index.ts
|
|
49
|
+
│ │ └── index.ts
|
|
50
|
+
│ └── Pinterest.node.ts
|
|
51
|
+
├── package.json
|
|
52
|
+
├── README.md
|
|
53
|
+
└── LICENSE.md
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Architecture
|
|
57
|
+
|
|
58
|
+
- **`credentials/`** — defines the Pinterest OAuth2 credentials used to authenticate requests.
|
|
59
|
+
- **`descriptions/`** — contains resource and operation definitions displayed in the n8n editor. Its `index.ts` explicitly exports the descriptions consumed by the main node.
|
|
60
|
+
- **`requests/board/`** — contains request builders for Pinterest Board operations.
|
|
61
|
+
- **`requests/pin/`** — contains request builders for Pinterest Pin operations.
|
|
62
|
+
- **`requests/<resource>/<operation>.ts`** — keeps individual API request builders in separate operation-specific modules, such as `create.ts`, `get.ts`, `list.ts`, and `update.ts`.
|
|
63
|
+
- **Resource `index.ts` files** — explicitly export the request builders belonging to each resource.
|
|
64
|
+
- **`requests/index.ts`** — re-exports the resource-level barrels, providing a single import entry point for request modules.
|
|
65
|
+
- **`Pinterest.node.ts`** — defines the n8n node and coordinates operation execution, authenticated HTTP requests, pagination, and error handling.
|
|
66
|
+
|
|
67
|
+
The architecture separates editor-facing configuration from API request construction and execution. Resource descriptions define the available operations and parameters, while request modules build operation-specific requests. The main node remains responsible for invoking authenticated HTTP requests through n8n's credential-aware helpers and handling execution results.
|
|
68
|
+
|
|
69
|
+
Explicit exports keep imports predictable and avoid unnecessary wildcard exports. The resource-specific modules remain independent, while the barrel files provide convenient entry points without introducing another execution layer.
|
|
70
|
+
|
|
71
|
+
Additional resources can follow the same structure, with their own descriptions and operation-specific request modules. This allows the integration to expand without requiring a redesign of the existing architecture.
|
|
72
|
+
|
|
73
|
+
## 📦 Installation
|
|
74
|
+
|
|
75
|
+
Install the package through your n8n instance using the community node installation interface.
|
|
76
|
+
|
|
77
|
+
1. Open your n8n instance.
|
|
78
|
+
2. Navigate to **Settings → Community Nodes**.
|
|
79
|
+
3. Select **Install**.
|
|
80
|
+
4. Enter the package name `@sinehypernova-0718/n8n-nodes-pinterest`.
|
|
81
|
+
5. Review and accept the installation confirmation.
|
|
82
|
+
6. Once installation completes, open a workflow and search for the Pinterest node.
|
|
83
|
+
|
|
84
|
+
For detailed instructions, see the [n8n community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).
|
|
85
|
+
|
|
86
|
+
> **Note:** The package name entered during installation must match the name under which this project is published to npm (`@sinehypernova-0718/n8n-nodes-pinterest`). Community node installation availability also depends on your n8n deployment configuration and administrator policies.
|
|
87
|
+
|
|
88
|
+
## ⚙️ Operations
|
|
89
|
+
|
|
90
|
+
The Pinterest node exposes supported Pinterest API operations through n8n's resource and operation selectors. The available operations and parameters depend on the installed package version.
|
|
91
|
+
|
|
92
|
+
### Pins
|
|
93
|
+
|
|
94
|
+
The Pin resource supports operations for managing Pins and retrieving their associated information.
|
|
95
|
+
|
|
96
|
+
| Operation | Description |
|
|
97
|
+
|---|---|
|
|
98
|
+
| Create | Create a Pin using the supported Pinterest API parameters. |
|
|
99
|
+
| Get | Retrieve an individual Pin by its ID. |
|
|
100
|
+
| Get Multiple Pin Analytics | Retrieve analytics for multiple Pins in a batch request, using the supported analytics metrics and date range. |
|
|
101
|
+
| List | List Pins with supported filters and pagination. |
|
|
102
|
+
| Update | Update supported fields of an existing Pin. |
|
|
103
|
+
| Delete | Delete a Pin by its ID. |
|
|
104
|
+
| Save | Save a Pin to a board. |
|
|
105
|
+
| Get Analytics | Retrieve analytics for a Pin using supported metrics and date parameters. |
|
|
106
|
+
|
|
107
|
+
### Board
|
|
108
|
+
|
|
109
|
+
| Operation | Description |
|
|
110
|
+
|---|---|
|
|
111
|
+
| Create | Create a new board. |
|
|
112
|
+
| Create Board Section | Create a new board section. |
|
|
113
|
+
| Delete | Delete a single board. |
|
|
114
|
+
| Delete Board Section | Delete a single board section. |
|
|
115
|
+
| Get | Get a single board. |
|
|
116
|
+
| List | List boards. |
|
|
117
|
+
| List Board Sections | List sections of a board. |
|
|
118
|
+
| List Pins | List Pins on a board. |
|
|
119
|
+
| List Pins on Board Section | List Pins on a board section. |
|
|
120
|
+
| Update | Update a single board. |
|
|
121
|
+
| Update Board Section | Update a single board section. |
|
|
122
|
+
|
|
123
|
+
The **List** operation for Pins supports **Return All** and **Limit**. The board listing operations (List, List Pins, List Board Sections, and List Pins on Board Section) follow Pinterest's pagination bookmarks and return all pages. Pin, board, and board section IDs are numeric identifiers; operations that look up a resource by ID expect digits only.
|
|
124
|
+
|
|
125
|
+
Operation parameters, filters, pagination behavior, and available analytics metrics vary by endpoint. Refer to the operation descriptions in the n8n editor and the [Pinterest API v5 documentation](https://developers.pinterest.com/docs/api/v5/) for endpoint-specific requirements.
|
|
126
|
+
|
|
127
|
+
This list describes the resources currently implemented in the integration. Additional resources and operations can be introduced in future releases.
|
|
128
|
+
|
|
129
|
+
## 🔐 Credentials
|
|
130
|
+
|
|
131
|
+
The Pinterest node uses OAuth2 authentication to make authorized requests to the Pinterest API v5.
|
|
132
|
+
|
|
133
|
+
### Prerequisites
|
|
134
|
+
|
|
135
|
+
Before configuring the credentials, you need:
|
|
136
|
+
|
|
137
|
+
- A Pinterest account.
|
|
138
|
+
- A developer application registered through the [Pinterest Developers Portal](https://developers.pinterest.com/).
|
|
139
|
+
- The client ID and client secret issued for your application.
|
|
140
|
+
- Appropriate API access and permissions for the operations you intend to use.
|
|
141
|
+
|
|
142
|
+
Pinterest controls application access and approval. Registering a developer application does not automatically grant unrestricted access to every API endpoint.
|
|
143
|
+
|
|
144
|
+
### Configure OAuth2 credentials
|
|
145
|
+
|
|
146
|
+
Create a Pinterest OAuth2 API credential in n8n and supply the values required by the credential configuration.
|
|
147
|
+
|
|
148
|
+
| Setting | Value |
|
|
149
|
+
|---|---|
|
|
150
|
+
| Grant type | Authorization Code |
|
|
151
|
+
| Authorization URL | `https://www.pinterest.com/oauth/` |
|
|
152
|
+
| Access token URL | `https://api.pinterest.com/v5/oauth/token` |
|
|
153
|
+
| Client ID | The client ID issued for your Pinterest application |
|
|
154
|
+
| Client secret | The client secret issued for your Pinterest application |
|
|
155
|
+
| Scopes | `user_accounts:read`, `boards:read`, `boards:write`, `pins:read`, `pins:write` |
|
|
156
|
+
|
|
157
|
+
Configure the OAuth redirect URL using the callback URL supplied by n8n. Register that URL with your Pinterest application wherever required by Pinterest's developer configuration.
|
|
158
|
+
|
|
159
|
+
Save the credential and use n8n's authorization flow to connect your Pinterest account. Once authorization succeeds, select the credential in the Pinterest node.
|
|
160
|
+
|
|
161
|
+
### Permissions and access
|
|
162
|
+
|
|
163
|
+
The configured scopes cover the board and Pin read/write permissions used by the current implementation. The `user_accounts:read` scope supports the credential check against the `GET /v5/user_account` endpoint. Individual operations may still require specific permissions, resource access, or additional API eligibility.
|
|
164
|
+
|
|
165
|
+
Pin analytics availability and supported metrics are subject to Pinterest's API requirements. Application approval status, access restrictions, and Pinterest-side changes can affect whether an operation succeeds.
|
|
166
|
+
|
|
167
|
+
Keep your client secret and access tokens private. Never commit credentials to the repository or include tokens in issue reports, screenshots, or logs.
|
|
168
|
+
|
|
169
|
+
## 🧩 Compatibility
|
|
170
|
+
|
|
171
|
+
This package is designed for n8n's community node ecosystem and uses the n8n node API.
|
|
172
|
+
|
|
173
|
+
- **Integration type:** n8n community node.
|
|
174
|
+
- **Implementation language:** TypeScript.
|
|
175
|
+
- **API:** Pinterest API v5.
|
|
176
|
+
- **Authentication:** OAuth2.
|
|
177
|
+
- **Package distribution:** npm.
|
|
178
|
+
- **Development package manager:** pnpm.
|
|
179
|
+
|
|
180
|
+
The package declares its n8n node metadata and entry points in `package.json`. Compatibility depends on the n8n version, the available `n8n-workflow` APIs, and the package's dependencies.
|
|
181
|
+
|
|
182
|
+
Refer to the repository's package metadata and release notes when evaluating compatibility with a particular n8n version.
|
|
183
|
+
|
|
184
|
+
The `0.1.x` releases are pre-1.0 releases. Operation coverage and compatibility may evolve as the integration develops.
|
|
185
|
+
|
|
186
|
+
## 🚀 Usage
|
|
187
|
+
|
|
188
|
+
After installing the node and configuring OAuth2 credentials, you can incorporate Pinterest API operations into your n8n workflows.
|
|
189
|
+
|
|
190
|
+
### Basic workflow setup
|
|
191
|
+
|
|
192
|
+
1. Create a workflow in n8n.
|
|
193
|
+
2. Add the Pinterest node.
|
|
194
|
+
3. Select your Pinterest OAuth2 credential.
|
|
195
|
+
4. Choose the resource you want to work with, such as **Pin** or **Board**.
|
|
196
|
+
5. Select the required operation.
|
|
197
|
+
6. Configure its parameters, IDs, filters, and other required fields.
|
|
198
|
+
7. Connect the node to the other nodes in your workflow.
|
|
199
|
+
8. Execute the workflow and inspect the returned data.
|
|
200
|
+
|
|
201
|
+
### Troubleshooting
|
|
202
|
+
|
|
203
|
+
If an operation fails:
|
|
204
|
+
|
|
205
|
+
- Verify that the Pinterest credential is authorized.
|
|
206
|
+
- Confirm that your application has the required API access and scopes.
|
|
207
|
+
- Check that the supplied resource IDs exist and are accessible to the connected account.
|
|
208
|
+
- Verify required fields and supported parameter values.
|
|
209
|
+
- Review the error returned by n8n and consult the relevant Pinterest API documentation.
|
|
210
|
+
|
|
211
|
+
For general workflow guidance, see the [n8n Try it out documentation](https://docs.n8n.io/try-it-out/).
|
|
212
|
+
|
|
213
|
+
## 🔗 Resources
|
|
214
|
+
|
|
215
|
+
- [Pinterest Developers Portal](https://developers.pinterest.com/) — manage developer applications and API access.
|
|
216
|
+
- [Pinterest API v5 documentation](https://developers.pinterest.com/docs/api/v5/) — API endpoints, request parameters, responses, and permissions.
|
|
217
|
+
- [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes) — community node discovery and installation.
|
|
218
|
+
- [n8n community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) — installation instructions.
|
|
219
|
+
- [n8n documentation](https://docs.n8n.io/) — workflow creation and node configuration.
|
|
220
|
+
- [GitHub repository](https://github.com/sinehypernova-0718/n8n-nodes-pinterest) — source code, issues, and contributions.
|
|
221
|
+
|
|
222
|
+
## 📝 Version history
|
|
223
|
+
|
|
224
|
+
### `0.1.1`
|
|
225
|
+
|
|
226
|
+
Adds board section management to the Pinterest integration for n8n.
|
|
227
|
+
|
|
228
|
+
- Adds Create Board Section, Delete Board Section, Update Board Section, and List Board Sections operations.
|
|
229
|
+
- Adds List Pins on Board Section to retrieve Pins associated with a board section.
|
|
230
|
+
- Includes pagination for the new board section listing operations where implemented.
|
|
231
|
+
|
|
232
|
+
This release extends the Board resource with board section management while preserving the existing integration structure.
|
|
233
|
+
|
|
234
|
+
### `0.1.0`
|
|
235
|
+
|
|
236
|
+
Initial pre-1.0 release of the Pinterest integration for n8n.
|
|
237
|
+
|
|
238
|
+
- Introduces Pin and Board resources.
|
|
239
|
+
- Adds OAuth2 authentication for Pinterest API requests.
|
|
240
|
+
- Includes Pin creation, retrieval, listing, updating, deletion, saving, and analytics operations.
|
|
241
|
+
- Includes Board creation, retrieval, listing, updating, deletion, and listing Pins associated with a board.
|
|
242
|
+
- Includes pagination and operation-specific request handling where implemented.
|
|
243
|
+
|
|
244
|
+
This release establishes the initial integration structure, with further Pinterest resources and operations available for future development.
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
## 📄 License
|
|
248
|
+
|
|
249
|
+
This project is licensed under the [MIT License](LICENSE.md).
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
_This is an independent community project and is not an official Pinterest or n8n product._
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class PinterestOAuth2Api implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
extends: string[];
|
|
5
|
+
displayName: string;
|
|
6
|
+
icon: Icon;
|
|
7
|
+
documentationUrl: string;
|
|
8
|
+
properties: INodeProperties[];
|
|
9
|
+
test: ICredentialTestRequest;
|
|
10
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PinterestOAuth2Api = void 0;
|
|
4
|
+
class PinterestOAuth2Api {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'pinterestOAuth2Api';
|
|
7
|
+
this.extends = ['oAuth2Api'];
|
|
8
|
+
this.displayName = 'Pinterest OAuth2 API';
|
|
9
|
+
this.icon = { light: 'file:../nodes/Pinterest/pinterest.svg', dark: 'file:../nodes/Pinterest/pinterest.dark.svg' };
|
|
10
|
+
this.documentationUrl = 'https://developers.pinterest.com/docs/getting-started/set-up-authentication-and-authorization/';
|
|
11
|
+
this.properties = [
|
|
12
|
+
{
|
|
13
|
+
displayName: 'Grant Type',
|
|
14
|
+
name: 'grantType',
|
|
15
|
+
type: 'hidden',
|
|
16
|
+
default: 'authorizationCode',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
displayName: 'Authorization URL',
|
|
20
|
+
name: 'authUrl',
|
|
21
|
+
type: 'hidden',
|
|
22
|
+
default: 'https://www.pinterest.com/oauth/',
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
displayName: 'Access Token URL',
|
|
27
|
+
name: 'accessTokenUrl',
|
|
28
|
+
type: 'hidden',
|
|
29
|
+
default: 'https://api.pinterest.com/v5/oauth/token',
|
|
30
|
+
required: true,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
displayName: 'Scope',
|
|
34
|
+
name: 'scope',
|
|
35
|
+
type: 'hidden',
|
|
36
|
+
default: 'user_accounts:read,boards:read,boards:write,pins:read,pins:write',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
displayName: 'Auth URI Query Parameters',
|
|
40
|
+
name: 'authQueryParameters',
|
|
41
|
+
type: 'hidden',
|
|
42
|
+
default: '',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
displayName: 'Authentication',
|
|
46
|
+
name: 'authentication',
|
|
47
|
+
type: 'hidden',
|
|
48
|
+
default: 'header',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
this.test = {
|
|
52
|
+
request: {
|
|
53
|
+
method: 'GET',
|
|
54
|
+
baseURL: 'https://api.pinterest.com/v5',
|
|
55
|
+
url: '/user_account',
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.PinterestOAuth2Api = PinterestOAuth2Api;
|
|
61
|
+
//# sourceMappingURL=PinterestOAuth2Api.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PinterestOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/PinterestOAuth2Api.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,kBAAkB;IAA/B;QACC,SAAI,GAAG,oBAAoB,CAAC;QAE5B,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QAExB,gBAAW,GAAG,sBAAsB,CAAC;QAErC,SAAI,GAAS,EAAE,KAAK,EAAE,uCAAuC,EAAE,IAAI,EAAE,4CAA4C,EAAE,CAAC;QAEpH,qBAAgB,GAAG,gGAAgG,CAAC;QAEpH,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mBAAmB;aAC5B;YACD;gBACC,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,kCAAkC;gBAC3C,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,0CAA0C;gBACnD,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,kEAAkE;aAC3E;YACD;gBACC,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACX;YACD;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,QAAQ;aACjB;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,8BAA8B;gBACvC,GAAG,EAAE,eAAe;aACpB;SACD,CAAC;IACH,CAAC;CAAA;AA3DD,gDA2DC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class Pinterest implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
5
|
+
}
|