Memeriksa status edit untuk lokasi dan atribut

Saat Anda memperbarui informasi bisnis melalui My Business Business Information API atau UI Profil Bisnis, hasil edit akan melewati pipeline moderasi dan verifikasi sebelum muncul secara langsung di Google Penelusuran dan Maps. Selain itu, Google dapat memperbarui detail bisnis berdasarkan laporan pengguna atau sumber data berlisensi.

Endpoint Status Edit v1alpha memungkinkan Anda mengambil tampilan terpadu dari lokasi atau atributnya dalam satu permintaan:

  • Data yang diberikan penjual: Nilai yang terakhir dikirimkan oleh penjual.
  • Data yang ditujukan untuk konsumen: Nilai ini ditampilkan di Google Penelusuran dan Maps.
  • Metadata kolom yang diperluas: Status edit per kolom atau per atribut, termasuk tahap siklus proses pengeditan terbaru, sumber asal (API atau UI), stempel waktu pengeditan terakhir, dan alasan pelanggaran kebijakan jika pengeditan ditolak.

Sebelum memulai

Sebelum menggunakan My Business Business Information API, daftarkan aplikasi Anda dan dapatkan kredensial OAuth 2.0. Untuk mengetahui detail cara memulai, lihat Penyiapan dasar.

Mengambil data lokasi yang diperluas

Untuk memeriksa data lokasi yang diberikan penjual, data lokasi yang ditampilkan kepada konsumen, dan status edit per kolom untuk suatu lokasi, panggil locations.getExtended.

Tidak seperti locations.get, locations.getExtended tidak memerlukan parameter readMask dan menampilkan resource ExtendedLocation lengkap.

Permintaan

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

Respons

Respons berisi tiga kolom tingkat atas:

  • locationProvidedByMerchant: Data Location seperti yang dikelola oleh penjual.
  • locationSeenByConsumers: Data Location yang dapat dilihat oleh konsumen di Google Penelusuran dan Maps.
  • extendedFieldData: Peta nama kolom Location tingkat teratas di snake_case (seperti title, phone_numbers, website_uri, storefront_address, atau regular_hours) ke objek ExtendedFieldData. Kunci selalu berupa nama kolom tingkat atas biasa, bukan subkolom bertingkat.
{
  "locationProvidedByMerchant": {
    "name": "locations/{locationId}",
    "title": "Example Coffee Roasters - Best Coffee in Sydney",
    "phoneNumbers": {
      "primaryPhone": "02 5550 1234"
    },
    "websiteUri": "https://www.example.com/"
  },
  "locationSeenByConsumers": {
    "name": "locations/{locationId}",
    "title": "Example Coffee Roasters",
    "phoneNumbers": {
      "primaryPhone": "+61 2 5550 1234"
    },
    "websiteUri": "https://www.example.com/"
  },
  "extendedFieldData": {
    "title": {
      "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_REJECTED",
      "rejectionReason": "MISREPRESENTATION",
      "updateTime": "2026-09-25T08:00:00Z",
      "source": "SOURCE_API"
    },
    "phone_numbers": {
      "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE",
      "updateTime": "2026-09-20T14:15:00Z",
      "source": "SOURCE_UI"
    },
    "website_uri": {
      "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED",
      "updateTime": "2026-09-15T10:30:00Z",
      "source": "SOURCE_API"
    }
  }
}

Mengambil data atribut yang diperluas

Untuk memeriksa nilai yang diberikan penjual, nilai yang ditujukan untuk konsumen, dan status edit untuk atribut lokasi, panggil locations.attributes.getExtended.

Permintaan

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

Respons

Respons akan menampilkan resource ExtendedAttributes yang berisi daftar entri ExtendedAttribute. Setiap entri menyambungkan attributeProvidedByMerchant dan attributeSeenByConsumers dengan objek extendedFieldData untuk atribut tersebut:

{
  "name": "locations/{locationId}/attributes",
  "extendedAttributes": [
    {
      "attributeProvidedByMerchant": {
        "name": "attributes/has_wheelchair_accessible_entrance",
        "valueType": "BOOL",
        "values": [
          true
        ]
      },
      "attributeSeenByConsumers": {
        "name": "attributes/has_wheelchair_accessible_entrance",
        "valueType": "BOOL",
        "values": [
          true
        ]
      },
      "extendedFieldData": {
        "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED",
        "updateTime": "2026-09-10T12:00:00Z",
        "source": "SOURCE_API"
      }
    },
    {
      "attributeProvidedByMerchant": {
        "name": "attributes/wi_fi",
        "valueType": "ENUM",
        "values": [
          "free_wi_fi"
        ]
      },
      "attributeSeenByConsumers": {
        "name": "attributes/wi_fi",
        "valueType": "ENUM",
        "values": [
          "paid_wi_fi"
        ]
      },
      "extendedFieldData": {
        "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_PENDING",
        "updateTime": "2026-09-28T16:45:00Z",
        "source": "SOURCE_API"
      }
    }
  ]
}

Memahami metadata kolom yang diperluas

Setiap objek ExtendedFieldData berisi kolom berikut:

Kolom Jenis Deskripsi
lastEditLifecycleStage EditLifecycleStage Status moderasi atau penayangan dari pengeditan terbaru pada kolom atau atribut ini.
rejectionReason PolicyViolation Pelanggaran kebijakan yang menyebabkan hasil edit ditolak. Diisi saat lastEditLifecycleStage adalah EDIT_LIFECYCLE_STAGE_REJECTED.
updateTime string (Timestamp) Stempel waktu saat pengeditan terakhir pada kolom atau atribut ini dikirimkan (format RFC 3339).
source Source Platform asal tempat penjual mengirimkan hasil edit (SOURCE_API atau SOURCE_UI).

Mengedit tahapan siklus proses

Enum EditLifecycleStage menunjukkan posisi pengeditan dalam siklus prosesnya:

Nilai Deskripsi Tindakan yang disarankan
EDIT_LIFECYCLE_STAGE_ACCEPTED Hasil edit penjual telah disetujui dan memenuhi syarat untuk ditayangkan. Tidak memerlukan tindakan apa pun.
EDIT_LIFECYCLE_STAGE_PENDING Hasil edit penjual sedang ditinjau dan belum diterapkan ke listingan yang ditujukan untuk konsumen. Tunggu hingga moderasi selesai. Jangan mengirim ulang hasil edit yang sama berulang kali saat hasil edit masih menunggu keputusan.
EDIT_LIFECYCLE_STAGE_REJECTED Hasil edit penjual tidak diterima. Periksa rejectionReason untuk nilai PolicyViolation tertentu. Perbaiki pelanggaran kebijakan yang mendasarinya dan kirimkan update baru menggunakan locations.patch atau locations.updateAttributes.
EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE Nilai yang ditujukan untuk konsumen diperbarui oleh Google (misalnya, dari laporan pengguna atau sumber eksternal) dan berbeda dengan nilai yang diberikan penjual. Tinjau nilai locationSeenByConsumers atau attributeSeenByConsumers, lalu terima atau ganti nilai tersebut. Lihat Mengelola Update Google.
EDIT_LIFECYCLE_STAGE_DRAFT Hasil edit telah disimpan sebagai draf (misalnya, di lokasi yang belum diverifikasi) dan tidak ditayangkan di Google Penelusuran dan Maps. Selesaikan verifikasi lokasi agar listingan dapat ditayangkan.
EDIT_LIFECYCLE_STAGE_UNSPECIFIED Tahap siklus proses pengeditan tidak diketahui atau tidak ditentukan. Tidak ada.

Mengedit sumber

Enum Source mengidentifikasi saluran yang digunakan penjual untuk mengirimkan hasil edit:

  • SOURCE_API: Hasil edit dikirim melalui My Business Business Information API.
  • SOURCE_UI: Hasil edit dikirimkan melalui UI web atau aplikasi seluler Profil Bisnis.
  • SOURCE_UNSPECIFIED: Sumber pengeditan tidak ditentukan.

Pelanggaran kebijakan

Jika lastEditLifecycleStage adalah EDIT_LIFECYCLE_STAGE_REJECTED, kolom rejectionReason akan memberikan nilai enum PolicyViolation yang menjelaskan alasan penolakan pengeditan. Alasan penolakan mencakup area berikut (contoh):

  • Status profil dan akun: ACCOUNT_RESTRICTED_AND_SUSPENDED, ACCOUNT_RESTRICTED_AND_EDIT_REJECTED, ASSOCIATED_ACCOUNT_SUSPENDED, BUSINESS_INELIGIBLE, LOCATION_SUSPENDED, LOCATION_VERIFICATION_REQUIRED, OWNERSHIP_REVOKED, PO_BOX.
  • Batasan pengeditan: EDITING_RESTRICTION, ILLEGAL_BUSINESS_HOURS_EDIT, IDENTITY_CHANGE, GEOGRAPHIC_LOCATION_CHANGE.
  • Kebijakan konten: MISREPRESENTATION, OFF_TOPIC, PERSONAL_INFO, GIBBERISH_AND_REPETITIVE, OBSCENITY_AND_PROFANITY, GENERIC_QUALITY.

Untuk mengetahui daftar lengkap nilai dan deskripsi enum, lihat dokumentasi referensi PolicyViolation.