Verbundene Konten
Endpunkte mit cURL/Python/Node-Beispielen: Google/Facebook anbinden, Konten auflisten, Einträge abgleichen/verknüpfen, Ordner, GMB-Erstellung, trennen.
Ein verbundenes Konto ist eine OAuth-Berechtigung, die der Inhaber eines Google Business Profile- oder Facebook Pages-Kontos erteilt und mit der die API die für dieses Konto zugänglichen Einträge lesen und verwalten kann. Die Ressource erfüllt drei Aufgaben: OAuth-Links erstellen, die Einträge des Kontos Ihren Standorten zuordnen oder mit ihnen verknüpfen und die Verbindung wieder trennen. Die beiden GET-Abfragen für Listen und Details funktionieren mit einem Schlüssel vom Typ Read (Lesen); jede POST-Anfrage, einschließlich des rein lesenden Abrufs von Einträgen, benötigt einen Schlüssel vom Typ Write (Schreiben), und eine Schreibanfrage mit einem Read-Schlüssel gibt HTTP 400 mit SY90016 zurück.
Alle folgenden Beispiele setzen einen einmalig erstellten Client voraus, wie im ersten Beispiel gezeigt, und lesen LISTINGSAPI_KEY aus der Umgebung. Als IDs dienen die connectedAccountId-UUID vom Listenendpunkt und die Base64-Standort-ID (TG9jYXRpb246MTgwMDI4OQ==); kodieren Sie keine der beiden IDs für URLs.
Endpunkte im Überblick
Einen Google-Verbindungslink erstellen
POST /connected-accounts/connect-google
Gibt eine kurzzeitig gültige OAuth-URL zurück. Leiten Sie den Kontoinhaber dorthin weiter; Google leitet ihn anschließend zu Ihrer successUrl oder errorUrl zurück. Der Link gilt für das Konto, dem der API-Schlüssel gehört, daher enthält der Body nur Ihre beiden Weiterleitungs-URLs. Wenn Sie für ein Konto mit abgelaufener Berechtigung erneut einen Link ausstellen, wird die bestehende Verbindung erneuert, statt eine doppelte Verbindung anzulegen.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/connect-google \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "successUrl": "https://app.example.com/connect/google/success", "errorUrl": "https://app.example.com/connect/google/error" }}'{ "data": { "bulkConnectLinkForGoogle": { "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-...", "errors": null } }}url oben ist ein Platzhalter. Leiten Sie den Inhaber zu der url weiter, die in Ihrer eigenen Antwort zurückgegeben wird.
Der Link ist 24 Stunden gültig. errors wird nur befüllt, wenn die Erstellung fehlschlägt. Prüfen Sie daher, ob url nicht null ist. Ein flacher Body oder ein Body mit accountId wird mit HTTP 400 abgelehnt.
Einen Facebook-Verbindungslink erstellen
POST /connected-accounts/connect-facebook
Das Gegenstück für Facebook mit demselben Body. Während des Ablaufs akzeptiert der Inhaber die Bedingungen von Facebook und erteilt die von der API benötigten Berechtigungen zur Seitenverwaltung; wenn er eine Berechtigung auslässt, ist über die Verbindung keine Synchronisierung möglich. Stellen Sie daher den Link erneut aus und lassen Sie den Inhaber erneut zustimmen.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/connect-facebook \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "successUrl": "https://app.example.com/connect/facebook/success", "errorUrl": "https://app.example.com/connect/facebook/error" }}'{ "data": { "bulkConnectLinkForFacebook": { "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-...", "errors": null } }}url oben ist ein Platzhalter. Leiten Sie den Inhaber zu der url weiter, die in Ihrer eigenen Antwort zurückgegeben wird.
Der Schlüssel in der Antwort lautet bulkConnectLinkForFacebook; ansonsten werten Sie die Antwort genauso aus wie beim Google-Link. Sobald der Inhaber den Vorgang abgeschlossen hat, erscheint das Konto im Listenendpunkt als FacebookAccount.
Einen Verbindungslink für einen Standort erstellen
POST /locations/oauth_connect_url
Verwenden Sie diese Option, wenn Sie bereits wissen, welchen Standort der Eigentümer verbindet. Der Link ist an den von Ihnen angegebenen Standort gebunden, sodass anschließend kein Zuordnungsschritt erforderlich ist: Wenn der Eigentümer zustimmt, werden die Zugangsdaten direkt diesem Standort zugeordnet. Die beiden oben genannten Sammellinks verbinden dagegen jeweils ein ganzes Konto.
curl -X POST https://listingsapi.com/api/v4/locations/oauth_connect_url \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "site": "GOOGLE", "successUrl": "https://app.example.com/locations/1800289/connected", "errorUrl": "https://app.example.com/locations/1800289/connect-failed" }}'{ "data": { "createConnectUrl": { "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-...", "errors": null } }}url oben ist ein Platzhalter. Leiten Sie den Eigentümer zu url weiter, das in der Antwort auf Ihre eigene Anfrage zurückgegeben wird.
Der Link kann nur einmal verwendet werden. Erstellen Sie daher für jeden Versuch einen neuen Link, statt ihn zwischenzuspeichern. Eine relative oder nicht auswertbare Weiterleitungs-URL führt zu success: true mit null url, prüfen Sie also url und nicht nur success. Bei einem Schlüssel ohne Zugriffsberechtigung für diesen Standort wird 403 mit SY90003 zurückgegeben. Die SDKs wandeln site für Sie in Großbuchstaben um.
Verbundene Konten auflisten
GET /connected-accounts
Gibt alle für Ihr API-Konto autorisierten Konten zurück, einschließlich des Verbindungszustands und der Anzahl der mit jedem Konto verknüpften Standorte. Die Seitennavigation ist offsetbasiert: records[] plus pageInfo.totalRecords, gesteuert über die nicht verschachtelten Abfrageparameter page und perPage. Die Sortierung ist fest auf die E-Mail-Adresse des Kontos in aufsteigender Reihenfolge eingestellt.
curl "https://listingsapi.com/api/v4/connected-accounts?publisher=GoogleAccount&status=Connected&page=1&perPage=20" \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "connectedAccountsInfo": { "pageInfo": { "hasNextPage": false, "hasPreviousPage": false, "totalPages": 1, "totalRecords": 1 }, "records": [ { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountType": "GoogleAccount", "email": "owner@brightsmile-dental.com", "status": "CONNECTED", "connectivityIssue": null, "connectedLocationsCount": 0, "requestMatchesStatus": "MATCH_COMPLETED", "lastFetchMatchesRequestedAt": "2026-07-06 21:43:07 UTC" } ] } }}Wählen Sie den Datensatz, dessen email den Eigentümer bezeichnet, der zugestimmt hat, und speichern Sie dessen connectedAccountId; jeder spätere Aufruf benötigt diesen Wert. Alle Angaben außer den vier Abfrageparametern werden ignoriert, statt abgelehnt zu werden, sodass bei einem JSON-pageInfo ohne Fehlermeldung Seite 1 zurückgegeben wird.
Der Filter status und das Feld status des Datensatzes verwenden unterschiedliche Werte. Wenn Sie CONNECTED wieder als Filter übergeben, ist dies ein ungültiger Enum-Wert und führt zur Rückgabe von 400.
Details eines Kontos abrufen
GET /connected-accounts/{connectedAccountId}/details
Gibt dieselben Felder wie ein einzelner Datensatz der Liste zurück, beschränkt auf ein Konto. Verwenden Sie diesen Aufruf, um requestMatchesStatus nach dem Auslösen der Zuordnung regelmäßig abzufragen oder um status und connectivityIssue zu prüfen, bevor Sie eine Aktualisierung über das Konto übertragen.
curl https://listingsapi.com/api/v4/connected-accounts/4f712c17-4f95-42dd-90f4-97171a2e67b5/details \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "connectedAccountDetails": { "details": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountType": "GoogleAccount", "status": "CONNECTED", "connectivityIssue": null, "connectedLocationsCount": 0, "requestMatchesStatus": "MATCH_COMPLETED" } } }}Der Datensatz befindet sich eine Ebene tiefer unter data.connectedAccountDetails.details. requestMatchesStatus wechselt von MATCH_IN_PROGRESS zu MATCH_COMPLETED, sobald Vorschläge vorliegen. Completed bedeutet, dass der Zuordnungsprozess abgeschlossen ist, nicht dass etwas verknüpft wurde: connectedLocationsCount bleibt 0, bis Sie einen Eintrag bestätigen oder verbinden.
Die Einträge abrufen, auf die ein Konto zugreifen kann
POST /connected-accounts/connected-account-listings
Listet alle Google Business Profile- oder Facebook-Einträge auf, auf die das Konto Zugriff hat, unabhängig davon, ob sie mit einem Ihrer Standorte verknüpft sind. id jedes Datensatzes ist der Wert für connectedAccountListingId, den connect-listing und create-location-from-listing entgegennehmen. Dies ist ein POST-Aufruf, der ausschließlich Daten liest und eine offsetbasierte Seite zurückgibt: records[] plus pageInfo, gesteuert über die nicht verschachtelten Schlüssel page und perPage im Body.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/connected-account-listings \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "perPage": 50, "locationInfo": "William St" }'{ "data": { "connectedAccountListings": { "pageInfo": { "hasNextPage": false, "totalPages": 1, "totalRecords": 60 }, "records": [ { "id": "R21iQnVsa0RhdGFMYWtlOjA2MDQ4NmExLTA0NzQtNDc4NS1iMjNhLTBkOGM4MzhmNGQ5OA==", "accountTypeName": "Google", "locationName": "Trial", "address": "123 William St, NY 10038, Manhattan, US", "phone": "(718) 667-7787", "liveLink": null } ] } }}Blättern Sie mit pageInfo.hasNextPage und pageInfo.totalPages durch die Ergebnismenge. Die SDKs setzen connectedAccountId für Sie in den Body, sodass dies nur manuell geschriebene REST-Aufrufe betrifft.
Zuordnung starten
POST /connected-accounts/trigger-matches
Stellt den Auftrag in die Warteschlange, der alle Profile abruft, auf die die angegebenen Konten zugreifen können, und jedes davon einem Ihrer Standorte zuordnet. Die Zuordnung berücksichtigt jeden aktiven, nicht archivierten Standort, der noch nicht verbunden ist. Dabei werden nur Vorschläge gespeichert; erst nach Ihrer Bestätigung werden Verknüpfungen hergestellt.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/trigger-matches \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "connectedAccountIds": ["4f712c17-4f95-42dd-90f4-97171a2e67b5"] } }'{ "data": { "connectedAccountsTriggerMatches": { "success": true, "failedIds": null } }}success: true bedeutet, dass der Auftrag in die Warteschlange gestellt wurde, nicht dass die Zuordnung abgeschlossen ist. Jedes Konto, das nicht in die Warteschlange aufgenommen werden konnte, wird in failedIds aufgeführt, und success ist false. Fragen Sie den Detailendpunkt wiederholt ab, bis requestMatchesStatus den Wert MATCH_COMPLETED hat, bevor Sie die Vorschläge lesen; mit einem Intervall von 15 Sekunden und einer begrenzten Schleife bleiben Sie im Launch-Tarif innerhalb des Limits von 10 Anfragen pro Minute.
Verknüpfungsvorschläge abrufen
GET /connected-accounts/{connectedAccountId}/connection-suggestions
Gibt die vorgeschlagenen Zuordnungen zurück: Ihren Standort auf der einen Seite (locationInfo, mit locationId als dessen databaseId) und den Plattform-Eintrag auf der anderen (suggestedLocationInfo). Die Ergebnisse werden mit einer offsetbasierten Paginierung über die flachen Abfrageparameter page und perPage abgerufen; die Sortierung ist fest auf aufsteigende Standortinformationen eingestellt.
curl "https://listingsapi.com/api/v4/connected-accounts/4f712c17-4f95-42dd-90f4-97171a2e67b5/connection-suggestions?page=1&perPage=20" \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "connectionSuggestionsForAccount": { "pageInfo": { "hasNextPage": false, "totalPages": 1, "totalRecords": 2 }, "records": [ { "accountType": "GMB", "matchedDataDatabaseId": "0d5e306f-0da0-46e3-929f-fd3c67ccd8cc", "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "locationId": "73415", "locationInfo": { "name": "My Business", "city": "Lincoln", "stateIso": "NE" }, "suggestedLocationInfo": { "locationInfo": { "name": "My Business", "city": "Lincoln" } } } ] } }}Ein Vorschlag hat kein id. Bewahren Sie matchedDataDatabaseId und accountType zusammen auf; confirm-matches benötigt beide, um die ID zu bilden. Wenn Sie die Vorschläge zu früh abrufen, bevor MATCH_COMPLETED erreicht ist, gibt der Endpunkt records: [] mit totalRecords: 0 zurück, was genauso aussieht wie „keine Zuordnung gefunden“.
Zuordnungen bestätigen
POST /connected-accounts/confirm-matches
Übernimmt die von Ihnen genehmigten Vorschläge und erstellt die tatsächlichen Verknüpfungen. Jede ID ist die Base64-Kodierung von <MatchRecordType>:<matchedDataDatabaseId>, wobei der Typ aus der obigen Tabelle gewählt wird. Das Konto wird aus den Datensätzen abgeleitet, daher gibt es kein Feld connectedAccountId; ein unbekanntes Feld innerhalb von input wird mit dem Statuscode 400 abgelehnt.
# base64 of GmbLocationMatchedData:0d5e306f-0da0-46e3-929f-fd3c67ccd8cccurl -X POST https://listingsapi.com/api/v4/connected-accounts/confirm-matches \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "matchRecordIds": ["R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M="] } }'{ "data": { "confirmConnectMatches": { "success": true, "failedIds": null } }}failedIds enthält die dekodierten matchedDataDatabaseId-Werte, die nicht bestätigt werden konnten, etwa aufgrund eines bereits verwendeten Datensatzes oder eines seit der Zuordnung archivierten Standorts; gleichen Sie diese daher mit den Vorschlagsdatensätzen ab. Nicht übermittelte Vorschläge bleiben unverändert. Die Bestätigung verknüpft den Standort mit dem Eintrag; sie überträgt für sich genommen keine Daten an die Plattform.
Einen Eintrag mit einem Standort verbinden
POST /connected-accounts/connect-listing
Verknüpft einen einzelnen, bereits von Ihnen ausgewählten Eintrag mit einem einzelnen Standort, ohne Vorschlags- oder Bestätigungsschritt. Verwenden Sie dies, wenn die Zuordnung nicht eindeutig ist, etwa bei zwei nahe beieinanderliegenden Filialen mit ähnlichen Namen, und eine zuständige Person den richtigen Eintrag aus den Einträgen des Kontos auswählt.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/connect-listing \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjA2MDQ4NmExLTA0NzQtNDc4NS1iMjNhLTBkOGM4MzhmNGQ5OA==" }}'{ "data": { "connectListing": { "success": true, "message": null } }}Bei einer fehlgeschlagenen Verknüpfung wird success: false mit einem message zurückgegeben, dessen Wert nicht null ist, beispielsweise Listing record not found, wenn die Eintrags-ID nicht aufgelöst werden kann, oder ein Hinweis, dass der Eintrag bereits mit einem anderen Standort verbunden ist. In beiden SDKs befindet sich diese Methode auf der Ressource für Einträge, nicht auf der Ressource für verbundene Konten.
Einen Eintrag von einem Standort trennen
POST /connected-accounts/disconnect-listing
Trennt die Verknüpfung zwischen einem Standort und einer Plattform. Der Standort und seine Daten bleiben erhalten; nur die ausgehende Synchronisierung mit dieser Plattform wird beendet. Dies ist kein Endpunkt für die Massenverarbeitung, daher müssen Sie die Standorte in einer Schleife durchlaufen. Um eine Filiale einem anderen Google-Konto zuzuordnen, trennen Sie zunächst hier die Verbindung und führen Sie anschließend die Zuordnung oder Verbindung über das neue Konto durch.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/disconnect-listing \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "site": "GOOGLE" } }'{ "data": { "disconnectConnectedAccountsLocations": { "clientMutationId": null, "success": true, "errors": null } }}Wenn weder site noch providerId übermittelt wird, wird SY10056 zurückgegeben. Bei einem Standort ohne aktive Verbindung zu dieser Plattform wird SY10057 zurückgegeben, statt ohne weiteren Hinweis Erfolg zu melden; success: true bedeutet daher tatsächlich, dass eine Verknüpfung entfernt wurde. Die SDKs akzeptieren nur site und wandeln den Wert in Großbuchstaben um.
Einen Standort aus einem Eintrag erstellen
POST /connected-accounts/create-location-from-listing
Der Abgleich ordnet Einträge nur Standorten zu, die Sie bereits haben. Für einen Eintrag ohne Standort wird hiermit ein Standort aus den Daten der Plattform erstellt und sofort mit dem Eintrag verknüpft. Bei Google werden Name, Adresse, Koordinaten, Telefonnummer, Website, Beschreibung, reguläre und abweichende Öffnungszeiten, Kategorien, Eröffnungsdatum, Geschäftscode und Zeitzone importiert, außerdem Zahlungsmethoden und Links zu sozialen Netzwerken, die aus den Google-Attributen des Eintrags abgeleitet werden. Bei Facebook werden Name, Standort, Öffnungszeiten, Kategorien, Beschreibung und Kontaktdaten importiert.
Bei einem Google-Import werden die Daten nicht erneut an Google übermittelt. Daher bleibt der Eintrag auf IN_PROGRESS, bis Ihre erste Standortaktualisierung dort veröffentlicht wird. An alle anderen Plattformen werden die Daten wie üblich übermittelt, und dieser Endpunkt akzeptiert keine Einschränkung auf einzelne Plattformen, sodass der Standort für alle Plattformen Ihres Kontos erstellt wird. Schränken Sie diese Auswahl direkt nach der Erstellung mit enabledSiteIds ein und senden Sie diese Aktualisierung sofort: Die Auftragspositionen für die anderen Plattformen werden kurz nach der Erstellung erzeugt, und bereits erzeugte Auftragspositionen werden durch die Aktualisierung nicht zurückgezogen.
Keines der beiden SDKs bietet bisher eine Methode für diesen Endpunkt, daher rufen die Python- und Node-Beispiele REST mit demselben Header auf.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/create-location-from-listing \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjA2MDQ4NmExLTA0NzQtNDc4NS1iMjNhLTBkOGM4MzhmNGQ5OA==" }}'{ "data": { "createLocationFromConnectedAccountListing": { "success": true, "locationId": 88277, "errors": null } }}locationId ist die reine databaseId des neuen Standorts. Bei einem Fehler ist success gleich false, locationId ist gleich null und errors enthält einen Fehlercode wie SY81067 (die Eintrags-ID konnte nicht aufgelöst werden); weitere Ursachen sind ein Eintrag, der bereits mit einem anderen Standort verknüpft ist, oder ein Konto mit abgelaufenen Zugangsdaten. Nach der Erstellung verwalten Sie den Standort wie jeden anderen.
Die Ordner eines Google-Kontos auflisten
GET /connected-accounts/{connectedAccountId}/folders
Gibt die Google Business Profile-Kontogruppen (Ordner) zurück, auf die das verbundene Google-Konto zugreifen kann. Verwenden Sie diesen Endpunkt vor dem Erstellen eines GMB-Eintrags, damit das neue Profil in der vom Inhaber erwarteten Gruppe angelegt wird. Die Antwort enthält unter getFoldersUnderGoogleAccount ein einfaches Array, keine Ergebnisseite. Der Pfad ist nur für GoogleAccount-Verbindungen gültig.
curl https://listingsapi.com/api/v4/connected-accounts/4f712c17-4f95-42dd-90f4-97171a2e67b5/folders \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "getFoldersUnderGoogleAccount": [ { "folderId": "accounts/104890024806530350198", "folderName": "Bright Smile Dental", "locationCount": null } ] }}Verwenden Sie folderId unverändert; es handelt sich um die Zeichenfolge accounts/{id}, nicht um eine Zahl. locationCount kann null sein, wenn Google den Wert nicht meldet. Behandeln Sie ihn daher als optional.
Ein Google Business Profile für einen Standort erstellen
POST /locations/create/gmb-listing
Erstellt unter einem verbundenen Google-Konto und optional in einem Ordner einen neuen Google-Eintrag für einen Standort, der noch keinen hat. Im Gegensatz dazu verknüpft connect-listing einen bereits vorhandenen Eintrag. Für den Standort müssen bereits Name, Adresse und Telefonnummer hinterlegt sein, und pro Standort kann nur ein Google-Eintrag existieren.
curl -X POST https://listingsapi.com/api/v4/locations/create/gmb-listing \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "folderId": "accounts/104890024806530350198" }}'{ "data": { "createGmbListingForLocation": { "clientMutationId": null, "success": true, "errors": null } }}Die Erstellung erfolgt asynchron: success: true bedeutet, dass die Anfrage angenommen wurde, und Google prüft neue Profile vor ihrer Veröffentlichung. Wenn success gleich false ist, gibt errors den Grund an: fehlende Pflichtfelder, ein vorhandener Google-Eintrag, ein archivierter Standort oder ein inaktives Konto.
Verbindung eines gesamten Google-Kontos trennen
POST /connected-accounts/disconnect-google
Trennt die Verbindung für das gesamte Konto: Alle darüber verknüpften Standorte werden nicht mehr synchronisiert. Es gibt kein Feld locationIds; um einen einzelnen Standort zu trennen und das Konto beizubehalten, verwenden Sie stattdessen disconnect-listing. Verwenden Sie diese Funktion, wenn ein Kunde die Zusammenarbeit beendet oder wenn sich eine fehlerhafte Autorisierung nicht aufheben lässt und Sie mit einem neuen Verbindungslink von vorn beginnen möchten.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/disconnect-google \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "connectedAccountId": "d2397854-52c2-41d7-95f1-b90cba16498d" } }'{ "data": { "gmbBulkDisconnect": { "success": true } }}success: true wird auch bei einem unbekannten connectedAccountId zurückgegeben und bedeutet daher „Die Anfrage wurde verarbeitet“, nicht „Eine aktive Verbindung wurde entfernt“. Rufen Sie die Liste der verbundenen Konten erneut ab, wenn Sie Gewissheit benötigen.
Verbindung eines gesamten Facebook-Kontos trennen
POST /connected-accounts/disconnect-facebook
Die entsprechende Funktion für Facebook mit demselben Body. Über das Konto verknüpfte Seiten werden nicht mehr synchronisiert, und Facebook-Interaktionen werden nicht mehr angezeigt.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/disconnect-facebook \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "connectedAccountId": "d2397854-52c2-41d7-95f1-b90cba16498d" } }'{ "data": { "fbBulkDisconnect": { "success": true } }}Der Antwortschlüssel lautet fbBulkDisconnect. Wie bei Google bedeutet success: true bei einer unbekannten ID „verarbeitet“, nicht „entfernt“.
Verbindung eines einzelnen Standorts mit einer Plattform trennen
POST /locations/oauth-disconnect
Der Schritt zum Trennen der Verbindung im OAuth-Ablauf für einen einzelnen Standort. Es handelt sich um denselben Vorgang wie bei disconnect-listing, der über einen zweiten Pfad erreichbar ist: identischer input-Body und derselbe Antwortschlüssel disconnectConnectedAccountsLocations. Wählen Sie den Pfad, der in Ihrer Integration verständlicher ist.
curl -X POST https://listingsapi.com/api/v4/locations/oauth-disconnect \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "site": "GOOGLE" } }'{ "data": { "disconnectConnectedAccountsLocations": { "clientMutationId": null, "success": true, "errors": null } }}Es gelten dieselben Regeln für SY10056 und SY10057, und bei einem Schlüssel ohne Zugriffsberechtigung für diesen Standort wird 403 mit SY90003 zurückgegeben. Beim Trennen der Verbindung bleiben der Standort und seine Daten erhalten; nur die ausgehende Synchronisierung mit dieser Plattform wird beendet. Lassen Sie den Inhaber die Verbindungs-URL erneut aufrufen oder führen Sie den Abgleich und connect-listing aus, um anschließend den richtigen Eintrag zu verknüpfen.
Mögliche Fehler
Bei fehlerhaft aufgebauten Anfragen und ungültigen Schlüsseln wird ein 4xx-Status mit einem errors[] auf oberster Ebene zurückgegeben, dessen message mit dem Code beginnt. Schreibvorgänge können auch 200 mit success: false und der Begründung in data.<operation> zurückgeben. Prüfen Sie daher bei jedem Schreibvorgang den Antwort-Body. Die vollständige Liste finden Sie unter Fehlercodes.
Nächste Schritte
- Google verbinden und Standorte importieren: der vollständige Ablauf für die Massenverarbeitung mit Google, einschließlich Polling und Webhook-Ereignissen.
- Facebook-Seiten verbinden: derselbe Ablauf für Facebook, einschließlich des Trennens der Kontoverbindung.
- Ein Google Business Profile erstellen: Ordner und GMB-Erstellung für einen Standort ohne Google-Eintrag.
- Eintragsstatus und Live-Links prüfen: verfolgen Sie, wie die Google-Zeile nach Eingang eines Links zu
SYNCEDwechselt. - Referenzübersicht: Verbundene Konten; SDK-Seiten: Verbundene Konten mit Python, Verbundene Konten mit Node, Einträge mit Python, Einträge mit Node.