Zarządzanie atrybutami

Atrybuty umożliwiają firmom dodawanie dodatkowych informacji, takich jak opcje ułatwień dostępu i udogodnienia.

Wyświetlanie listy dostępnych atrybutów (metadanych)

Aby dowiedzieć się, które atrybuty są obsługiwane w przypadku danej kategorii działalności i kraju, wyślij żądanie attributes.list. Atrybuty są dynamiczne i powinny być często pobierane. Zobacz przykład w następnej sekcji.

Żądanie

Aby wyświetlić listę dostępnych atrybutów dla określonej kategorii, kodu regionu i kodu języka:

HTTP
GET https://mybusinessbusinessinformation.googleapis.com/v1/attributes?regionCode=US&languageCode=EN&categoryName=gcid:restaurant

Aby wyświetlić listę dostępnych atrybutów dla konkretnej wizytówki, używając jej identyfikatora lokalizacji:

HTTP
GET https://mybusinessbusinessinformation.googleapis.com/v1/attributes?parent=locations/{locationId}

Odpowiedź

Poniższa odpowiedź częściowa zwraca definicje atrybutów z różnymi wartościami AttributeValueType. Pamiętaj, że valueMetadata opisuje dozwolone wartości i ich wyświetlane nazwy, a nie wybrane wartości lokalizacji.

{
  "attributes": [
    {
      "attributeId": "has_live_music",
      "valueType": "BOOL",
      "displayName": "Live music",
      "groupDisplayName": "Highlights",
      "valueMetadata": [
        {
          "value": true,
          "displayName": "Live music"
        }
      ],
      "displayStrings": {
        "uiText": "Live music",
        "standaloneText": "Has live music",
        "negativeText": "No live music"
      }
    },
    {
      "attributeId": "has_wheelchair_accessible_entrance",
      "valueType": "BOOL",
      "displayName": "Wheelchair accessible entrance",
      "groupDisplayName": "Accessibility",
      "valueMetadata": [
        {
          "value": true,
          "displayName": "Wheelchair accessible entrance"
        },
        {
          "value": false,
          "displayName": "No wheelchair accessible entrance"
        }
      ],
      "displayStrings": {
        "uiText": "Wheelchair accessible entrance",
        "standaloneText": "Has wheelchair accessible entrance",
        "negativeText": "No wheelchair accessible entrance"
      }
    },
    {
      "attributeId": "has_braille_menu",
      "valueType": "BOOL",
      "displayName": "Braille menu",
      "groupDisplayName": "Offerings",
      "valueMetadata": [
        {
          "value": true,
          "displayName": "Braille menu"
        }
      ],
      "displayStrings": {
        "uiText": "Braille menu",
        "standaloneText": "Has braille menu",
        "negativeText": "No braille menu"
      }
    },
    {
      "attributeId": "has_no_contact_delivery",
      "valueType": "BOOL",
      "displayName": "No-contact delivery",
      "groupDisplayName": "Offerings",
      "valueMetadata": [
        {
          "value": true,
          "displayName": "No-contact delivery"
        }
      ],
      "displayStrings": {
        "uiText": "No-contact delivery",
        "standaloneText": "Has no-contact delivery",
        "negativeText": "No no-contact delivery"
      }
    },
    {
      "attributeId": "welcomes_lgbtq",
      "valueType": "BOOL",
      "displayName": "LGBTQ friendly",
      "groupDisplayName": "Planning",
      "valueMetadata": [
        {
          "value": true,
          "displayName": "LGBTQ friendly"
        }
      ],
      "displayStrings": {
        "uiText": "LGBTQ friendly",
        "standaloneText": "LGBTQ friendly",
        "negativeText": "Not showing LGBT friendly"
      }
    },
    {
      "attributeId": "wi_fi",
      "valueType": "ENUM",
      "displayName": "Wi-Fi",
      "groupDisplayName": "Amenities",
      "valueMetadata": [
        {
          "value": "free_wi_fi",
          "displayName": "Free"
        },
        {
          "value": "paid_wi_fi",
          "displayName": "Paid"
        }
      ],
      "displayStrings": {
        "uiText": "Wi-Fi",
        "standaloneText": "Has Wi-Fi",
        "negativeText": "No Wi-Fi"
      }
    },
    {
      "attributeId": "pay_credit_card_types_accepted",
      "valueType": "REPEATED_ENUM",
      "displayName": "Credit cards",
      "groupDisplayName": "Payments",
      "isRepeatable": true,
      "valueMetadata": [
        {
          "value": "american_express",
          "displayName": "American Express"
        },
        {
          "value": "china_union_pay",
          "displayName": "China Union Pay"
        },
        {
          "value": "diners_club",
          "displayName": "Diners Club"
        },
        {
          "value": "discover",
          "displayName": "Discover"
        },
        {
          "value": "jcb",
          "displayName": "JCB"
        },
        {
          "value": "mastercard",
          "displayName": "MasterCard"
        },
        {
          "value": "visa",
          "displayName": "VISA"
        }
      ],
      "displayStrings": {
        "uiText": "Credit cards",
        "standaloneText": "Credit cards accepted",
        "negativeText": "Credit cards not accepted"
      }
    }
  ]
}

Pobieranie atrybutów informacji o produkcie

Aby pobrać atrybuty i wartości skonfigurowane dla konkretnej lokalizacji, użyj locations.getAttributes.

Atrybuty zarządzane przez sprzedawcę

Aby uzyskać atrybuty skonfigurowane przez sprzedawcę:

HTTP
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}/attributes

Odpowiedź zwraca rzeczywiste wartości ustawione dla lokalizacji:

{
  "name": "locations/{locationId}/attributes",
  "attributes": [
    {
      "name": "attributes/has_wheelchair_accessible_seating",
      "valueType": "BOOL",
      "values": [
        false
      ]
    },
    {
      "name": "attributes/wi_fi",
      "valueType": "ENUM",
      "values": [
        "free_wi_fi"
      ]
    }
  ]
}

Atrybuty zaktualizowane przez Google (widok na żywo)

Aby pobrać atrybuty w takiej postaci, w jakiej są wyświetlane w wyszukiwarce i Mapach Google (mogą one obejmować aktualizacje Google lub treści generowane przez użytkowników), użyj metody locations.attributes.getGoogleUpdated:

HTTP
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}/attributes:getGoogleUpdated

Atrybuty rozszerzone ze stanem edycji (v1alpha)

Aby pobrać zarówno atrybuty podane przez sprzedawcę, jak i atrybuty przeznaczone dla użytkowników, wraz z etapami cyklu życia edycji poszczególnych atrybutów (takich jak EDIT_LIFECYCLE_STAGE_PENDING lub EDIT_LIFECYCLE_STAGE_REJECTED), źródłem edycji (SOURCE_API lub SOURCE_UI) i przyczynami naruszenia zasad w jednym wywołaniu, użyj locations.attributes.getExtended w v1alpha:

HTTP
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}/attributes:getExtended

Pełne przykłady odpowiedzi i szczegółowe informacje o interpretowaniu stanu zmian atrybutów i naruszeń zasad znajdziesz w artykule Sprawdzanie stanu zmian lokalizacji i atrybutów.

Ustawianie atrybutów oferty

Aby ustawić atrybuty za pomocą locations.updateAttributes, ustaw parametr attributeMask z atrybutami, które chcesz zaktualizować.

W tym przykładzie ustawiono atrybuty akceptowanych typów kart kredytowych i opcji dostawy dla oferty.

HTTP
PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}/attributes?attributeMask=pay_credit_card_types_accepted,has_no_contact_delivery
{
  "name": "locations/{locationId}/attributes",
  "attributes": [
    {
      "name": "has_no_contact_delivery",
      "values": [ true ]
    },
    {
      "name": "pay_credit_card_types_accepted",
      "repeatedEnumValue": {
        "setValues": [
          "american_express",
          "visa"
        ]
      }
    }
  ]
}