Vous devez définir des valeurs pour returnaddress
et returnpolicy
pour chaque produit que vous vendez sur Acheter sur Google.
Vous devez spécifier les attributs suivants pour chaque ensemble de conditions de retour :
- Période de retour
- Définissez-la dans la section
policy
(les conditions générales). - Motifs de retours payants
- Vous pouvez utiliser des motifs de retours payants pour facturer aux clients des frais de retour pour les achats auxquels ne s'appliquent pas vos conditions de retours gratuits, par exemple,
betterPriceFound
,changedMind
,doesNotFit
,noLongerNeeded
ouorderedWrongItem
. - Exceptions saisonnières
- Les exceptions saisonnières modifient les conditions de retour à certaines périodes de l'année. Par exemple, vous pouvez définir des conditions spécifiques pour la période des fêtes de fin d'année afin d'accorder un délai de retour plus long que d'habitude à vos clients. Vous pouvez spécifier plusieurs exceptions saisonnières dans vos conditions de retour.
Adresses de retour
Une adresse de retour doit être indiquée pour tous les produits pouvant être retournés. Vous pouvez utiliser l'attribut label
pour nommer une adresse de retour et l'appliquer à plusieurs produits. L'adresse de retour par défaut pour vos produits correspond à l'adresse indiquée dans votre compte Merchant Center.
La structure de returnaddress
est la suivante :
{
"returnAddressId": string,
"label": string,
"country": string,
"address": {
"recipientName": string,
"streetAddress": [
string
],
"locality": string,
"region": string,
"postalCode": string,
"country": string
}
"phoneNumber": string,
"kind": string
}
Vous pouvez utiliser les méthodes suivantes pour créer, afficher, mettre à jour ou supprimer une returnaddress
.
list
Vous pouvez utiliser returnaddress.list
pour lister vos adresses de retour existantes.
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/returnaddress
Voici un exemple de réponse :
{
"kind": "content#returnaddressListResponse",
"resources": [
{
"kind": "content#returnAddress",
"country": "US",
"returnAddressId": "US:default",
"label": "default",
"phoneNumber": "+1 123-456-7890",
"address": {
"locality": "Sacramento",
"country": "",
"region": "ca",
"streetAddress": [
"2500 Arden Way",
""
],
"postalCode": "95825-2414",
"recipientName": "Ariel Cruz"
}
},
{
"kind": "content#returnAddress",
"country": "US",
"returnAddressId": "US:test",
"label": "test",
"phoneNumber": "+1 222-333-4444",
"address": {
"locality": "MOUNTAIN VIEW",
"country": "US",
"region": "CA",
"streetAddress": [
"1600 AMPHITHEATRE PKWY"
],
"postalCode": "94043-1351",
"recipientName": "Yuri Lee"
}
}
]
}
returnAddressId
fait référence à une adresse de retour existante. returnAddressId
est généré par Google au format country:label
. Vous pouvez retrouver returnAddressId
dans la réponse d'un appel insert
ou list
. Vous avez besoin de la valeur de returnAddressId
pour appeler les méthodes delete
et get
.
insert
Vous pouvez utiliser returnaddress.insert
pour ajouter ou modifier une adresse. Les appels à insert
modifient toutes les adresses existantes en fonction de l'étiquette que vous indiquez dans la requête. Si l'étiquette que vous fournissez n'existe pas encore, elle est ajoutée lors de l'appel. insert
valide l'adresse et renvoie un code 400
si elle n'est pas valide.
Sinon, insert
renvoie l'adresse de retour mise à jour.
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/returnaddress
Voici un exemple de requête :
{
"label": "test",
"country": "US",
"address": {
"locality": "MOUNTAIN VIEW",
"postalCode": "94043-1351",
"recipientName": "Yuri Lee",
"region": "CA",
"streetAddress": [
"1600 AMPHITHEATRE PKWY"
],
"country": "US"
},
"phoneNumber": "+1 222-333-4444"
}
Voici un exemple de réponse :
{
"kind": "content#returnAddress",
"country": "US",
"returnAddressId": "US:test",
"label": "test",
"phoneNumber": "+1 222-333-4444",
"address": {
"locality": "MOUNTAIN VIEW",
"country": "US",
"region": "CA",
"streetAddress": [
"1600 AMPHITHEATRE PKWY"
],
"postalCode": "94043-1351",
"recipientName": "Yuri Lee"
}
}
get
Vous pouvez utiliser returnaddress.get
pour récupérer une adresse de retour spécifique en fonction de son returnAddressId
.
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/returnaddress/returnAddressId
Voici un exemple de réponse :
{
"kind": "content#returnAddress",
"country": "US",
"returnAddressId": "US:test",
"label": "test",
"phoneNumber": "+1 222-333-4444",
"address": {
"locality": "MOUNTAIN VIEW",
"country": "US",
"region": "CA",
"streetAddress": [
"1600 AMPHITHEATRE PKWY"
],
"postalCode": "94043-1351",
"recipientName": "Yuri Lee"
}
}
delete
Vous pouvez utiliser returnaddress.delete
pour supprimer une adresse de retour existante en fonction de son returnAddressId
. Une fois l'adresse de retour supprimée, cette méthode renvoie un code 204 No Content
.
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/returnaddress/returnAddressId
Conditions de retour
Les conditions de retour vous aident à automatiser les retours en stockant des informations telles que les périodes de retour, les motifs de retours payants et les exceptions saisonnières. Votre compte Merchant Center est automatiquement associé à des conditions de retour par défaut, et vous pouvez utiliser cette ressource pour gérer des conditions de retour supplémentaires.
La structure de returnpolicy
est la suivante :
{
"returnPolicyId": string,
"label": string,
"country": string,
"name": string,
"policy": {
"type": string,
"numberOfDays": string,
"lastReturnDate": string
},
"seasonalOverrides": [
{
"name": string,
"startDate": string,
"endDate": string,
"policy": {
"type": string,
"numberOfDays": string,
"lastReturnDate": string
},
}
],
"nonFreeReturnReasons": [
string
],
"kind": string,
"returnShippingFee": {
"value": string,
"currency": string
}
}
Les valeurs acceptées pour type
sont lifetimeReturns
, noReturns
et numberOfDaysAfterDelivery
. Si la valeur est numberOfDaysAfterDelivery
, alors la valeur de numberOfDays
doit correspondre à 14, 15, 21, 28, 30, 45, 60, 90, 100, 180, 270 ou 365. La valeur des conditions par défaut ne doit pas être inférieure à 30 jours. Selon le type de produit, d'autres restrictions peuvent s'appliquer.
Vous pouvez utiliser les méthodes suivantes pour modifier des conditions de retour returnpolicy
.
list
Vous pouvez utiliser returnpolicy.list
pour lister toutes les conditions de retour existantes.
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/returnpolicy
Voici un exemple de requête :
{
"kind": "content#returnpolicyListResponse",
"resources": [
{
"nonFreeReturnReasons": [
"betterPriceFound"
],
"kind": "content#returnPolicy",
"name": "",
"country": "US",
"seasonalOverrides": [
{
"policy": {
"type": "lifetimeReturns"
},
"startDate": "2019-11-01",
"endDate": "2020-01-01",
"name": "Holiday"
}
],
"label": "default",
"policy": {
"numberOfDays": "30",
"type": "numberOfDaysAfterDelivery"
},
"returnPolicyId": "transactions:US:default"
}
]
}
returnPolicyId
fait référence à des conditions de retour existantes. returnPolicyId
est une chaîne composée des attributs d'étiquette et de pays au format transactions:country:label
. Vous pouvez retrouver returnPolicyId
dans la réponse d'un appel insert
ou list
. Vous avez besoin de la valeur de returnAddressId
pour appeler les méthodes delete
et get
.
insert
returnpolicy.insert
vous permet de créer ou de modifier des conditions de retour. Les champs label
, country
, name
et policy
sont obligatoires. Si nonFreeReturnReasons
est spécifié, returnShippingFee
est également requis.
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/returnpolicy
Voici un exemple de requête :
{
"name": "30days",
"label": "30days",
"country": "US",
"policy": {
"type": "numberOfDaysAfterDelivery",
"numberOfDays": "30"
},
"nonFreeReturnReasons": [
"betterPriceFound"
],
"returnShippingFee": {
"currency": "USD",
"value": "5.00"
},
"seasonalOverrides": [
{
"name": "holiday",
"policy": {
"type": "lastReturnDate",
"lastReturnDate": "2022-02-15"
},
"startDate": "2021-11-01",
"endDate": "2022-01-15"
}
]
}
Voici un exemple de réponse :
{
"kind": "content#returnPolicy",
"returnPolicyId": "transactions:US:30days",
"label": "30days",
"country": "US",
"name": "30days",
"policy": {
"type": "numberOfDaysAfterDelivery",
"numberOfDays": "30"
},
"seasonalOverrides": [
{
"name": "holiday",
"startDate": "2021-11-01",
"endDate": "2022-01-15",
"policy": {
"type": "lastReturnDate",
"lastReturnDate": "2022-02-15"
}
}
],
"nonFreeReturnReasons": [
"betterPriceFound"
],
"returnShippingFee": {
"value": "5.00",
"currency": "USD"
}
}
get
Vous pouvez utiliser returnpolicy.get
pour récupérer des conditions de retour spécifiques en fonction de leur returnPolicyId
.
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/returnpolicy/returnPolicyId
Voici un exemple de réponse :
{
"nonFreeReturnReasons": [
"betterPriceFound"
],
"kind": "content#returnPolicy",
"name": "",
"country": "US",
"seasonalOverrides": [
{
"policy": {
"type": "lifetimeReturns"
},
"startDate": "2019-11-01",
"endDate": "2020-01-01",
"name": "Holiday"
}
],
"label": "default",
"policy": {
"numberOfDays": "30",
"type": "numberOfDaysAfterDelivery"
},
"returnPolicyId": "transactions:US:default"
}
delete
Vous pouvez utiliser returnpolicy.delete
pour supprimer des conditions de retour en fonction de leur returnPolicyId
. Une fois les conditions de retour supprimées, cette méthode renvoie un code 204 No Content
.
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/returnpolicy/returnPolicyId
custombatch
Vous pouvez utiliser returnpolicy.custombatch
pour combiner plusieurs appels liés aux conditions de retour en une seule requête en spécifiant la méthode get
, insert
ou delete
, par exemple. Le corps de la requête contient une instance ReturnpolicyCustomBatchRequest
.
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/returnpolicy/batch
Voici un exemple de requête :
{
"entries": [
{
"batchId": "1",
"method": "get",
"returnPolicyId": "9876543",
"merchantId": "1234567"
}
]
}
Voici un exemple de réponse :
{
"kind": "content#returnpolicyCustomBatchResponse",
"entries": [
{
"kind": "content#returnpolicyCustomBatchResponseEntry",
"batchId": "1",
"errors": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "[item id] Invalid item id: 2883698234"
}
],
"code": "400",
"message": "[item id] Invalid item id: 2883698234"
}
}
]
}