Introduction
PuppetVendors API enables you to manage all your shop resources programmatically. Be it getting access to your vendors, users, shops, payouts, fulfillment, or commissions.
The PuppetVendors API follows the general patterns of REST.
What made this section unhelpful for you?
Base URL
Production:
https://api.puppetvendors.com/
What made this section unhelpful for you?
Errors
PuppetVendors API uses the following status or error codes.
The API rate limit is 100 requests per minute.
What made this section unhelpful for you?
Status Codes
200
Everything worked as expected.
400
The request was unacceptable, often due to missing a required parameter.
401
The request was unacceptable, often due to missing a required parameter.
402
The parameters were valid but the request failed.
403
The API key doesnt have permissions to perform the request.
404
The requested resource does not exist.
429
You have made too many consecutive requests. Please slow down and try again later.
500
We had a problem with our server. Try again later.
422
Incomplete data is provided to perform an action.
What made this section unhelpful for you?
Authentication
PuppetVendors uses API keys to allow access to the API. Access to the API is only available to shops on the Enterprise plan.
You must exchange your API key for a JWT token used for making direct API calls to your shop resources within PuppetVendors.
Title | Required? | Type | Description | Min Length | Max Length |
---|---|---|---|---|---|
apiKey | true | string | Unique API Key | ||
shopDomain | true | string | Unique Shopify Domain |
Both apiKey
and shopDomain
can be found in the API Access navigation under Settings.
PuppetVendors expects the JWT token to be included in all subsequent API requests to the server in a header.
Each JWT token is valid for 12 hours.
Header Parameters
Body Parameters
Response
Response Attributes
Response Attributes
Response Attributes
Response Attributes
Response
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MTU3ZmFkZGJlYmNmMDFiZjQ5MDk3ZDgiLCJzaG9wRG9tYWluIjoibGlseWRhbGUtMy5teXNob3BpZnkuY29tIiwic2hvcE5hbWUiOiJsaWx5ZGFsZS0zIiwiZW1haWwiOiJzdXBwb3J0QHB1cHBldHZlbmRvcnMuY29tIiwic2hvcE93bmVyIjoiUHVwcGV0IFZlbmRvcnMiLCJzaG9wUGhvbmUiOiI4MjI4MDgwMyIsInNob3BDb3VudHJ5IjoiU2luZ2Fwb3JlIiwic2hvcENpdHkiOiJTaW5nYXBvcmUiLCJzaG9wQ3VycmVuY3kiOiJTR0QiLCJzaG9wVGltZXpvbmUiOiJBbWVyaWNhL05ld19Zb3JrIiwiaWF0IjoxNjU0NTA4NDE0LCJleHAiOjE2NTQ1OTQ4MTR9.y7sXXNGgo32HphvaZnpv2u3vlm6BVzBQzFTDNKUTpAk",
"shopDomain": "lilydale-3.myshopify.com"
}
Vendors
are your business partners, drop shippers, artists, and consignors you work with whom you wish to share your sales commissions with on PuppetVendors.
The Vendor resource allows you to manage their business information including but not limited to their name, commission type, commission rate, and business profile.
What made this section unhelpful for you?
Retrieve a list of vendors
List all vendors associated with the shop resource.
Header Parameters
Response
What made this section unhelpful for you?
Response
{
"vendors": [
{
"vendorId": "6157faecbebcf01bf49097d9",
"vendorName": "test",
"commissionType": "percentage",
"commissionAmount": 10,
"profile": {
"Full Name": "The Full Name2",
"Payout Type": "",
"Category": "",
"Payment Mode": "",
"Description": "",
"Bank Name": "Some Bank",
"Aba Routing Number": "",
"Bank Address": "",
"Currency": "USD",
"IBAN": "",
"Account Holder Name": "",
"Bank Account Type": "",
"Fulfillment Type": "",
"email": ""
}
},
{
"vendorId": "6157faecbebcf01bf49097da",
"vendorName": "vendor-78",
"commissionType": "percentage",
"commissionAmount": 20,
"profile": []
},
{
"vendorId": "6157faecbebcf01bf49097db",
"vendorName": "partners demo",
"commissionType": "flat",
"commissionAmount": 15,
"profile": {
"Contact Full Name": "Martin B",
"GST Identification": true,
"Contact Number": "123123123123",
"Pets Name": "Bongo",
"businessAddress": {
"address1": "LORONG 29 GEYLANG",
"address2": "1",
"city": "Singapore",
"state": "State",
"postalCode": "3988364",
"country": "Singapore"
}
}
}
]
What made this section unhelpful for you?
Create a vendor
Creates a new vendor associated with the shop resource.
Title | Required? | Type | Description | Min Length | Max Length |
vendorName | true | string | The name of the vendor you want to use. | ||
commissionType | true | string | The commission type you want to set. The value must be “percentage” or “flat” | ||
commissionAmount | true | integer | The commission amount you want to keep. 0-100 for "percentage" and any integer for "flat" |
Header Parameters
Body Parameters
Response
Response Attributes
Show child attributes
What made this section unhelpful for you?
Response
{
"message": "Vendor created successfully.",
"vendor": {
"commissionType": "flat",
"commissionAmount": 10,
"lineItems": [],
"deductions": [],
"allowGenerateInvoice": false,
"isHidden": false,
"_id": "62ab39a05262c1384207f61e",
"shopId": "6157faddbebcf01bf49097d8",
"vendorName": "test vendor 1",
"updatedAt": "2022-06-16T14:09:36.000Z",
"createdAt": "2022-06-16T14:09:36.000Z"
}
}
What made this section unhelpful for you?
Retrieve a specific vendor
List a specific vendor based on the vendorId
associated with the shop resource.
Parameters
Title | Required? | Type | Description | Min Length | Max Length |
:vendorId | true | String | The vendor's unique id you want to retrieve. |
Header Parameters
Response
Response Attributes
Show child attributes
Response Attributes
Response Attributes
What made this section unhelpful for you?
Response
{
"vendor": {
"commissionType": "percentage",
"commissionAmount": 10,
"_id": "6157fb142de01d1bee498afe",
"vendorName": "Vendor Name",
"createdAt": "2021-10-02T06:24:20.000Z"
}
}
What made this section unhelpful for you?
Update a vendor
Updates information for a specific vendor associated with the shop resource.
Parameters
Title | Required? | Type | Description | Min Length | Max Length |
:vendorId | true | String | The vendor's unique id you want to retrieve. |
Title | Required? | Type | Description | Min Length | Max Length |
vendorName | true | string | The name of the vendor you want to use. | ||
commissionType | true | string | The commission type you want to set. The value must be “percentage” or “flat” | ||
commissionAmount | true | integer | The commission amount you want to keep. 0-100 for "percentage" and any integer for "flat" |
Header Parameters
Body Parameters
Response
Response Attributes
Show child attributes
Response Attributes
What made this section unhelpful for you?
Response
{
"message": "Vendor updated successfully.",
"vendor": {
"commissionType": "percentage",
"commissionAmount": 20,
"lineItems": [],
"deductions": [],
"allowGenerateInvoice": false,
"isHidden": false,
"_id": "6157faecbebcf01bf49097d9",
"shopId": "6157faddbebcf01bf49097d8",
"vendorName": "New Vendor Name",
"updatedAt": "2022-06-16T15:53:16.000Z",
"createdAt": "2021-10-02T06:23:40.000Z",
"__v": 0,
"profile": {
"Full Name": "The Full Name2",
"Payout Type": "",
"Category": "",
"Payment Mode": "",
"Description": "",
"Bank Name": "Some Bank",
"Aba Routing Number": "",
"Bank Address": "",
"Currency": "USD",
"IBAN": "",
"Account Holder Name": "",
"Bank Account Type": "",
"Fulfillment Type": "",
"email": ""
}
}
}
What made this section unhelpful for you?
Delete a vendor
Deletes a vendor and all information linked to it using its vendorId
.
Data removed includes sales, commissions, products, fulfillment, and all resources for this vendor.
Parameters
Title | Required? | Type | Description | Min Length | Max Length |
:vendorId | true | String | The vendor's unique id you want to delete. |
Header Parameters
Response
Response Attributes
Show child attributes
What made this section unhelpful for you?
Response
{
"message": "Vendor deleted successfully.",
"vendor": {
"commissionType": "percentage",
"commissionAmount": 20,
"lineItems": [],
"deductions": [],
"allowGenerateInvoice": false,
"isHidden": true,
"_id": "6157faecbebcf01bf49097d9",
"shopId": "6157faddbebcf01bf49097d8",
"vendorName": "New Vendor Name",
"updatedAt": "2022-06-16T15:53:16.000Z",
"createdAt": "2021-10-02T06:23:40.000Z",
"__v": 0,
"profile": {
"Full Name": "The Full Name2",
"Payout Type": "",
"Category": "",
"Payment Mode": "",
"Description": "",
"Bank Name": "Some Bank",
"Aba Routing Number": "",
"Bank Address": "",
"Currency": "USD",
"IBAN": "",
"Account Holder Name": "",
"Bank Account Type": "",
"Fulfillment Type": "",
"email": ""
}
}
}
What made this section unhelpful for you?
Retrieve a list of vendor profile fields
List all profile fields that can be attached to a vendor profile associated with a shop resource.
Vendor profile fields can be updated at https://app.puppetvendors.com/setting/account.
Header Parameters
Response
Response Attributes
Show child attributes
What made this section unhelpful for you?
Response
{
"fields": [
"setup",
"hasTax",
"paypalEmail",
"stripeAccountId",
"Full Name",
"Payout Type",
"Category",
"Payment Mode",
"Description",
"Bank Name",
"Aba Routing Number",
"Bank Address",
"Currency",
"IBAN",
"Account Holder Name",
"Bank Account Type",
"Fulfillment Type",
"email"
]
}
What made this section unhelpful for you?
Update profile information for a specific vendor
Updates information for a specific vendor associated with the shop resource.
Parameters
Title | Required? | Type | Description | Min Length | Max Length |
:vendorId | true | String | The vendor's unique id whose profile you want to update. |
The list of profile fields is specific for any shop resource. Get the list via the Retrieve a list of vendor profile fields requests above.
Title | Required? | Type | Description | Min Length | Max Length |
field | true | string | The name of the profile field to update | ||
value | true | string | The value to be assigned to the field |
Header Parameters
Body Parameters
Response
Response Attributes
Show child attributes
Response Attributes
What made this section unhelpful for you?
Response
{
"message": "Vendor profile updated successfully.",
"vendor": {
"commissionType": "flat",
"commissionAmount": 15,
"lineItems": [],
"deductions": [],
"allowGenerateInvoice": false,
"isHidden": false,
"_id": "6157faecbebcf01bf49097db",
"shopId": "6157faddbebcf01bf49097d8",
"vendorName": "partners demo",
"updatedAt": "2021-10-02T06:23:40.000Z",
"createdAt": "2021-10-02T06:23:40.000Z",
"__v": 0,
"profile": {
"Contact Full Name": "Martin B",
"GST Identification": true,
"Contact Number": "123123123123",
"Pets Name": "Bongo",
"businessAddress": {
"address1": "1369 Viking Drive",
"address2": "",
"city": "Chillicothe",
"state": "Ohio",
"postalCode": "45601",
"country": "United States"
},
"paypalEmail": "john.doe@gmail.com",
"Description": "Fluffy",
"Full Name": "John Doe"
}
}
}
What made this section unhelpful for you?
Update business address for a specific vendor
Updates information for a specific vendor associated with the shop resource.
Parameters
Title | Required? | Type | Description | Min Length | Max Length |
:vendorId | true | String | The vendor's unique id whose profile you want to update. |
Title | Required? | Type | Description | Min Length | Max Length |
address1 | false | string | The value to be assigned to the vendor's business address1 | ||
address2 | false | string | The value to be assigned to the vendor's business address2 | ||
city | false | string | The value to be assigned to the vendor's business city | ||
state | false | string | The value to be assigned to the vendor's business state | ||
postalCode | false | string | The value to be assigned to the vendor's business postalCode |
Header Parameters
Body Parameters
Response
Response Attributes
Show child attributes
Response Attributes
Response Attributes
What made this section unhelpful for you?
Response
{
"message": "Vendor address updated successfully.",
"vendor": {
"commissionType": "flat",
"commissionAmount": 15,
"lineItems": [],
"deductions": [],
"allowGenerateInvoice": false,
"isHidden": false,
"_id": "6157faecbebcf01bf49097db",
"shopId": "6157faddbebcf01bf49097d8",
"vendorName": "partners demo",
"updatedAt": "2021-10-02T06:23:40.000Z",
"createdAt": "2021-10-02T06:23:40.000Z",
"__v": 0,
"profile": {
"Contact Full Name": "Martin B",
"GST Identification": true,
"Contact Number": "123123123123",
"Pets Name": "Bongo",
"businessAddress": {
"address1": "1369 Viking Drive",
"address2": "",
"city": "Chillicothe",
"state": "Ohio",
"postalCode": "45601",
"country": "United States"
},
"paypalEmail": "john.doe@gmail.com",
"Description": "Fluffy",
"Full Name": "John Doe"
}
}
}
What made this section unhelpful for you?
Users
are vendor staffs or owner who receives login credentials to the vendor portal.
Each vendor staff or owner account will only be able to view their own sale line items, orders, payouts, fulfillment, etc.
Reports
The reports API allows you to query vendor-specific order information to generate reports to your needs.
Payouts
represent the money owed to your business partners, drop shippers, artists, and consignors.
The payouts API allows you to query payouts information based on multiple parameters to meet your business requirements.
Fulfillments
indicate whether items whether physical or digital have been fulfilled by you - the business owner or your vendors.
The fulfillments API allows you to query fulfillment information based on multiple query parameters to meet your business requirements.
Commissions
represent the money you keep for your services or profit before sending the payouts to your business partners, drop shippers, artists, and consignors.
The commissions API allows you to query all commission information based on your vendors or skus.