Gerir as suas lojas
Nota
O recurso loja está disponível apenas para participantes de versão beta fechada. Para obter informações sobre como participar no programa closed-beta ou open-beta, contacte o gestor de conta.
Todos os elementos de programação e documentação da Store estão sujeitos a alterações durante a versão beta.
Para criar um arquivo, utilize o modelo ARQUIVOS POST. O corpo do POST é um objeto StoreCreate . Tem de especificar os storeName
campos , storeDestinationUrl
e notificationEmail
. Os outros campos são opcionais. Tem de ter verificado e reclamado anteriormente o URL do seu site.
Segue-se um pedido de exemplo que especifica apenas os campos necessários.
curl -X POST -H "AuthenticationToken: <access token goes here>" -H "DeveloperToken: <developer token goes here>" -H "Content-Type: application/json" --data "{\"storeName\": \"Contoso Sports\",\"storeUrl\": \"https://contoso.com\",\"notificationEmail\": [\"someone@example.com\"]}" https://content.api.ads.microsoft.com/v9.1/bmc/stores
Se o pedido for bem-sucedido, o corpo da resposta contém um objeto Store . O objeto contém os campos que especificou no pedido e todos os campos opcionais que fornecem valores predefinidos. O merchantId
campo contém o ID do novo arquivo e o storeStatus
campo indica se o arquivo foi aprovado.
{
"merchantId": 123456,
"storeName": "Contoso Sports",
"storeUrl": "https://contoso.com/",
"notificationEmail": [
"someone@example.com"
],
"notificationLanguage": "en-US",
"isSslCheckout": true,
"isBlockAggregator": false,
"storeStatus": {
"status": "Approved"
}
}
Se o estado for Desaprovado, o objeto StoreStatus inclui o message
campo , o que indica o motivo pelo qual o arquivo não foi aprovado. No exemplo seguinte, a loja foi desaprovada porque isSslCheckout
é falsa.
"storeStatus": {
"status": "Disapproved",
"message": "UnSecuredCheckOut"
}
Se o pedido POST falhar a validação, o corpo da resposta será um objeto ErrorResponse . Para obter uma lista de possíveis códigos de erro, veja Códigos de erro.
{
"errors": [
{
"code": "DuplicateStoreNameErr",
"message": "Another store with the specified store name exists; store names must be unique with Microsoft Merchant Center."
},
{
"code": "NotificationLanguageNotSupportedErr",
"message": "The market that you specified in the notificationLanguage field is not valid."
}
]
}
Obter uma lista de lojas
Para obter uma lista de lojas às quais o utilizador tem acesso, utilize o modelo Lojas GET. Se for uma agência, inclua os CustomerId
cabeçalhos e CustomerAccountId
.
curl -H "AuthenticationToken: <access token goes here>" -H "DeveloperToken: <developer token goes here>" https://content.api.ads.microsoft.com/v9.1/bmc/stores
A resposta é um objeto StoreCollection . O stores
campo contém uma matriz de objetos Store .
{
"stores": [
{
"merchantId": 12345,
"storeName": "Alpine Ski House",
"storeUrl": "https://alpineskihouse.com/",
"notificationEmail": [
"someone@alpineskihouse.com"],
"notificationLanguage": "de-De",
"isSslCheckout": true,
"isBlockAggregator": false,
"storeStatus": {
"status": "Approved"
}
},
. . .
{
"merchantId": 67890,
"storeName": "Fabrikam",
"storeUrl": "https://fabrikam.com/",
"notificationEmail": [
"someone@fabrikam.com"],
"notificationLanguage": "en-us",
"isSslCheckout": true,
"isBlockAggregator": false,
"storeStatus": {
"status": "Approved"
}
}
]
}
Obter um arquivo específico
Para obter um arquivo específico ao qual o utilizador tem acesso, utilize o modelo de loja GET. Se for uma agência, inclua os CustomerId
cabeçalhos e CustomerAccountId
.
curl -H "AuthenticationToken: <access token goes here>" -H "DeveloperToken: <developer token goes here>" https://content.api.ads.microsoft.com/v9.1/bmc/stores/12345
A resposta é um objeto Store .
{
"merchantId": 12345,
"storeName": "Alpine Ski House",
"storeUrl": "http://www.alpineskihouse.com",
"notificationEmail": [
"someone@alpineskihouse.com"],
"notificationLanguage": "de-DE",
"isSslCheckout": true,
"isBlockAggregator": false,
"storeStatus": {
"status": "Approved"
}
}