advertUpsert
advertUpsert allows you to both create and update Products (aka Adverts) in Marketplacer
2 minute read
Key Information
Use-Case
The ingestion of products is a critical workflow for all sellers that want to sell on the marketplace. The advertUpsert
mutation allows you to manage the creation and update of those products.
Further Points of Note
- Sellers and Operators can both create and update products
- The creation of products is a large topic which is covered in detail here
Availability
- Operator API: Yes
- Seller API: Yes
Example
mutation createNewProduct{
advertUpsert(
input: {
attributes: {
brandId: "QnJhbmQtNA=="
taxonId: "VGF4b24tMjgw"
title: "Namsung Mobile Phone"
description: "Powerful phone"
price: "349.99"
attemptAutoPublish: true
images: [
{
sourceUrl: "https://images.com/mobile.jpg"
}
]
advertOptionValues: [
{ optionValueId: "T3B0aW9uVmFsdWUtNzM0" }
{ optionValueId: "T3B0aW9uVmFsdWUtNzI4" }
{ optionValueId: "T3B0aW9uVmFsdWUtNzI5" }
{ optionTypeId: "T3B0aW9uVHlwZS0yNTA=", textValue: "Snapdragon 8+"}
]
variants: [
{
countOnHand: 1000
variantOptionValues: [
{ optionValueId: "T3B0aW9uVmFsdWUtNzMx" }
{ optionValueId: "T3B0aW9uVmFsdWUtNzIz" }
{ optionValueId: "T3B0aW9uVmFsdWUtNzI0" }
{ optionTypeId: "T3B0aW9uVHlwZS0yNTI=", textValue: "Screaming Orange"}
]
}
]
}
}
) {
status
advert {
id
legacyId
}
errors {
field
messages
}
}
}
Arguments
Name | Type |
---|---|
input | AdvertUpsertMutationInput |
Response
Returns AdvertsUpsertMutationPayload
Error Responses
HTTP Error | Error Message | Meaning |
---|---|---|
401 | Unauthorized | You don’t have access to the endpoint, likely Basic Authentication credentials are missing |
401 | API Token has expired | You don’t have access to the endpoint, likely that you are either not supplying an API Key, or the key you are supplying is invalid |
200 | Unable to retrieve attachment: https://unreachable url/mobile.jpg (Net::OpenTimeout) | You have provided a URL link to an image that is not resolvable by the Marketplacer GraphQL API |
200 | ImageInput must be supplied exactly one of (dataBase64 AND filename) OR sourceUrl OR imageId" | When supplying images you need to supply either: 1. An accessible url to the image 2. Base64 Encoded string AND a filename 3. The image id of an existing image. If any of these conditions are not met then you will experience this error |
200 | title must be filled in | The title field must be supplied |
200 | description must be filled in | The description field must be supplied |
200 | Invalid input: "VGF4b24tMjgwss\ | You have provided and non Base64 encoded Id value for the identified field - Marketplacer Id values (for fields like taxonId , brandId , optionValueId etc. ) must be valid base 64 encoded strings for those object types |
200 | Argument ‘countOnHand’ on InputObject ‘VariantInput’ has an invalid value (n). Expected type ‘Int’. | You have supplied the wrong datatype for the countOnHand field |