Bağlı hesaplar

Google, Facebook ve Apple Business Connect hesaplarını bağlayın, işletme kayıtlarını konumlarla eşleştirin; client.connected_accounts ile bağlantıyı kesin.

Bağlı hesaplarla ilgili tüm metotlar client.connected_accounts altındadır. Bağlı hesap, platforma yetki vermiş tek bir Google Business Profile, Facebook Pages veya Apple Business Connect oturumudur ve connected_accounts.list üzerinden aldığınız connectedAccountId ile tanımlanır.

Bağlantı kurmanın iki yolu vardır. Toplu bağlantı akışı, bir yayın platformu hesabının tamamına erişim yetkisi verir ve ardından bu hesabın işletme kayıtlarını konumlarınızla eşleştirir. Tek konum için bağlantı akışı, tek bir konum için tek bir OAuth bağlantısı oluşturur; uygulamanız mağazaları tek tek bağlıyorsa bu akışı kullanın. location_id alan metotlar sayısal veya base64 ile kodlanmış kimlikleri kabul eder; bkz. Konum kimlikleri.

Eşleştirme akışı

Toplu bağlantı kurulduktan sonra yayın platformundaki işletme kayıtları henüz konumlarınıza bağlanmış değildir. Eşleştirme işini kuyruğa almak için trigger_matches çağrısı yapın, requestMatchesStatus değeri MATCH_COMPLETED olana kadar details ile düzenli olarak sorgulayın, suggestions ile eşleştirmeleri okuyun ve ardından istediğiniz eşleştirmeleri confirm_matches ile kaydedin. trigger_matches adımını atlarsanız suggestions boş kalır.


connected_accounts.connect_google

Bir Google Business Profile hesabının tamamına erişim yetkisi veren bir URL oluşturun. Kullanıcıyı bu URL'ye yönlendirin; kullanıcı success_url veya error_url adresine döner. Bağlantı 24 saat geçerlidir.

Python
client.connected_accounts.connect_google(    success_url: str,    error_url: str,) -> APIObject
Python
link = client.connected_accounts.connect_google(  "https://app.example.com/onboarding/google/done",  "https://app.example.com/onboarding/google/retry",)print(link.url)

bulkConnectLinkForGoogle nesnesini döndürür. url alanını okuyun ve success ile errors alanlarını kontrol edin. Her iki yönlendirme URL'si de mutlak https URL'si olmalıdır. Bkz. Google hesabı bağlama.


connected_accounts.connect_facebook

Facebook Pages hesabı için connect_google ile aynı işlemi yapar. 24 saat geçerlidir.

Python
client.connected_accounts.connect_facebook(    success_url: str,    error_url: str,) -> APIObject
Python
link = client.connected_accounts.connect_facebook(  "https://app.example.com/onboarding/facebook/done",  "https://app.example.com/onboarding/facebook/retry",)print(link.url)

Aynı url, success ve errors alanlarını içeren bulkConnectLinkForFacebook nesnesini döndürür. Bkz. Facebook hesabı bağlama.


connected_accounts.oauth_url

Bir yayın platformu profilini tek bir konuma bağlayan bir URL oluşturun. Kullanıcının hangi konumu bağladığını zaten biliyorsanız bunu kullanın; bu durumda eşleştirme adımı gerekmez. 24 saat geçerlidir.

Python
client.connected_accounts.oauth_url(    location_id: str | int,    site: str,    success_url: str,    error_url: str,) -> APIObject
ParametreTürAçıklama
location_idstr | intProfilin bağlanacağı konumun sayısal veya base64 biçimindeki kimliği.
sitestrGOOGLE, FACEBOOK veya APPLE. SDK, göndermeden önce bu değeri büyük harfe dönüştürür.
success_urlstrİşlem başarılı olduğunda kullanıcının döneceği mutlak https URL'si.
error_urlstrİşlem başarısız olduğunda kullanıcının döneceği mutlak https URL'si.
Python
link = client.connected_accounts.oauth_url(  16808,  site="google",  success_url="https://app.example.com/locations/16808?connected=1",  error_url="https://app.example.com/locations/16808?connected=0",)print(link.url)

createConnectUrl nesnesini döndürür. Göreli veya ayrıştırılamayan bir yönlendirme URL'si, null değeri url olan bir success: true yanıtıyla sonuçlanır; bu nedenle yalnızca success alanını değil, url alanının kendisini de kontrol edin. Bağlantı tek kullanımlıktır; bu nedenle her deneme için yeni bir bağlantı oluşturun. Bkz. Tek bir konum için OAuth bağlantı URL'si oluşturma.


connected_accounts.list

Hesabınıza bağlı Google ve Facebook hesaplarını listeleyin. Sonraki tüm çağrılar için gereken connectedAccountId değerini buradan alırsınız.

Python
client.connected_accounts.list(    *,    publisher: str | None = None,    status: str | None = None,    page: int | None = None,    per_page: int | None = None,) -> APIObject
ParametreTürAçıklama
publisherstrYalnızca tek bir yayın platformuna ait hesaplar.
statusstrYalnızca belirli bir bağlantı durumundaki hesaplar; örneğin CONNECTED.
pageint1'den başlayan sayfa numarası.
per_pageintSayfa boyutu. perPage olarak gönderilir.
Python
accounts = client.connected_accounts.list(status="CONNECTED", per_page=50)for account in accounts.records:  print(account.connectedAccountId, account.email, account.connectedLocationsCount)print(accounts.pageInfo.totalRecords)

connectedAccountsInfo nesnesini döndürür: records ve hasNextPage, totalPages, totalRecords alanlarını içeren pageInfo. Sıralama sabittir ve hesap e-posta adresine göre artan sıradadır. Bkz. Bağlı hesapları listeleme.


connected_accounts.details

Kimliğini kullanarak tek bir bağlı hesabı alın. trigger_matches işleminden sonra bu metotla düzenli olarak sorgulayın ve requestMatchesStatus değerinin MATCH_COMPLETED olmasını bekleyin.

Python
client.connected_accounts.details(connected_account_id: str) -> APIObject
Python
account = client.connected_accounts.details("4f712c17-4f95-42dd-90f4-97171a2e67b5")print(account.details.get("status"))print(account.details.get("requestMatchesStatus"))

connectedAccountDetails nesnesini döndürür. Alanlar details altındadır: status, connectedAccountType, connectedLocationsCount, connectivityIssue, requestMatchesStatus ve lastFetchMatchesRequestedAt. connectivityIssue değerinin null olmaması, yayın platformu token'ı için yeniden yetkilendirme gerektiği anlamına gelir. Bkz. Bağlı hesap ayrıntılarını alma.


connected_accounts.listings

Bağlı bir hesabın erişebildiği yayın platformu işletme kayıtlarını, konumlarınızdan biriyle eşleştirilmiş olup olmadıklarına bakılmaksızın listeleyin. Elde ettiğiniz erişimin kapsamını kullanıcıya göstermek için bunu kullanın.

Python
client.connected_accounts.listings(    connected_account_id: str,    *,    location_info: str | None = None,    page: int | None = None,    per_page: int | None = None,) -> APIObject
ParametreTürAçıklama
connected_account_idstrİşletme kayıtlarının okunacağı bağlı hesap.
location_infostrİşletme kaydının adı ve adresi üzerinde serbest metin filtresi.
pageint1'den başlayan sayfa numarası.
per_pageintSayfa boyutu. perPage olarak gönderilir.
Python
page = client.connected_accounts.listings(  "4f712c17-4f95-42dd-90f4-97171a2e67b5",  location_info="Manhattan",  per_page=25,)for listing in page.records:  print(listing.locationName, listing.address, listing.accountTypeName)

Bu uç nokta POST metodunu kullanır ve tüm bağımsız değişkenleri sorgu dizesinde değil, istek gövdesinde alır; SDK bu gövdeyi sizin için oluşturur. connectedAccountListings nesnesini döndürür: records ve pageInfo. Her kayıt id, locationName, address, phone, accountTypeName ve liveLink alanlarını içerir. Bkz. Bağlı bir hesabın işletme kayıtlarını alma.


connected_accounts.trigger_matches

Belirtilen hesapların erişebildiği tüm profilleri alıp konumlarınızla eşleştiren işi kuyruğa alın. Bu işi toplu bağlantı kurduktan hemen sonra ve konum ekledikten sonra tekrar çalıştırın.

Python
client.connected_accounts.trigger_matches(    connected_account_ids: list[str],) -> APIObject
Python
result = client.connected_accounts.trigger_matches(  ["4f712c17-4f95-42dd-90f4-97171a2e67b5"],)print(result.success, result.failedIds)

success ve failedIds alanlarını içeren connectedAccountsTriggerMatches nesnesini döndürür. İş asenkron olarak yürütülür; bu nedenle success: true, işin tamamlandığı değil, kuyruğa alındığı anlamına gelir. Önerileri okumadan önce requestMatchesStatus değeri MATCH_COMPLETED olana kadar details ile düzenli olarak sorgulayın. Bkz. Eşleştirmeleri tetikleme.


connected_accounts.suggestions

Eşleştirme işinin hesabın işletme kayıtları ile konumlarınız arasında bulduğu eşleştirmeleri okuyun. Bunları onaylamadan önce incelemesi için kullanıcıya gösterin.

Python
client.connected_accounts.suggestions(    connected_account_id: str,    *,    page: int | None = None,    per_page: int | None = None,) -> APIObject
Python
page = client.connected_accounts.suggestions(  "4f712c17-4f95-42dd-90f4-97171a2e67b5",  per_page=50,)for match in page.records:  print(match.locationId, match.accountType, match.matchedDataDatabaseId)

connectionSuggestionsForAccount nesnesini döndürür: records ve pageInfo. Her kayıt locationId, accountType, matchedDataDatabaseId, locationInfo ve suggestedLocationInfo alanlarını içerir. totalRecords: 0 ile birlikte boş bir records gelmesi genellikle eşleştirme işinin henüz çalıştırılmadığı anlamına gelir. Bkz. Bağlantı önerilerini listeleme.


connected_accounts.confirm_matches

Önerilen eşleştirmeleri kaydedin. Onaylandıktan sonra yayın platformundaki işletme kaydı, eşleştirilen konumla senkronize olmaya başlar.

Python
client.connected_accounts.confirm_matches(    match_record_ids: list[str],) -> APIObject
Python
result = client.connected_accounts.confirm_matches([  "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=",])print(result.success, result.failedIds)

success ve failedIds alanlarını içeren confirmConnectMatches nesnesini döndürür. Öneri kaydının kendine ait bir id alanı yoktur: her eşleştirme kaydının kimliğini, Eşleştirmeleri onaylama sayfasında açıklandığı gibi kaydın matchedDataDatabaseId ve accountType alanlarından oluşturun.


connected_accounts.folders

Bağlı bir Google hesabının erişebildiği klasörleri (Google bunları hesap grupları olarak adlandırır) listeleyin. Google işletme kaydı oluştururken kaydın doğru yerde oluşturulması için seçilen folderId değerini iletin.

Python
client.connected_accounts.folders(    connected_account_id: str,    *,    folder_name: str | None = None,) -> list[APIObject]
Python
folders = client.connected_accounts.folders(  "4f712c17-4f95-42dd-90f4-97171a2e67b5",)for folder in folders:  print(folder.folderId, folder.folderName, folder.locationCount)

getFoldersUnderGoogleAccount listesini döndürür. Her öğe folderId (değiştirilmeden kullanılan bir accounts/{id} dizesi), folderName ve Google herhangi bir sayı bildirmediğinde null değerini alan locationCount alanlarını içerir. Yalnızca Google türündeki hesaplar için geçerlidir. Bkz. Klasörleri listeleme ve listings.create_gmb.


connected_accounts.disconnect_google

Bir Google hesabının tamamının bağlantısını kesin. Bu hesap üzerinden eşleştirilen tüm konumların Google ile senkronizasyonu durur.

Python
client.connected_accounts.disconnect_google(    connected_account_id: str,) -> APIObject
Python
result = client.connected_accounts.disconnect_google(  "4f712c17-4f95-42dd-90f4-97171a2e67b5",)print(result.success)

success alanını içeren gmbBulkDisconnect nesnesini döndürür. Bkz. Google hesabının bağlantısını kesme.


connected_accounts.disconnect_facebook

Bir Facebook Pages hesabının tamamının bağlantısını kesin.

Python
client.connected_accounts.disconnect_facebook(    connected_account_id: str,) -> APIObject
Python
result = client.connected_accounts.disconnect_facebook(  "9a41b8c0-7d2e-4c15-9f63-2b8e5ad71f04",)print(result.success)

success alanını içeren fbBulkDisconnect nesnesini döndürür. Bkz. Facebook hesabının bağlantısını kesme.


connected_accounts.oauth_disconnect

Hesabın geri kalanının bağlantısını koruyarak tek bir konumun tek bir yayın platformuyla bağlantısını kesin. Bu, oauth_url işleminin tersidir.

Python
client.connected_accounts.oauth_disconnect(    location_id: str | int,    site: str,) -> APIObject

site değeri GOOGLE, FACEBOOK veya APPLE olur ve SDK, göndermeden önce bu değeri büyük harfe dönüştürür.

Python
client.connected_accounts.oauth_disconnect(16808, site="google")

success ve errors alanlarını içeren disconnectConnectedAccountsLocations nesnesini döndürür. Bkz. Tek bir konumun yayın platformuyla bağlantısını kesme.


Ayrıca bkz.