/api/v4/locations/oauth_connect_urlCrea un URL di connessione OAuth per una sede
Crea un link OAuth di una piattaforma di pubblicazione per connettere una singola sede, con i tuoi reindirizzamenti in caso di successo e di errore.
Parametri
Corpo
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| input | object | obbligatorio | Wrapper object. The entire request body must be nested under `input`. |
| input.locationId | string | obbligatorio | Location the connection will be attached to. Accepts a Base64-encoded Relay ID (e.g. `TG9jYXRpb246MTgwMDI4OQ==`) or a raw numeric location ID. |
| input.site | string | obbligatorio | Publisher to connect: `GOOGLE`, `FACEBOOK`, or `APPLE`. |
| input.successUrl | string | obbligatorio | Absolute URL the publisher returns the user to after they grant access. |
| input.errorUrl | string | obbligatorio | Absolute URL the publisher returns the user to if they cancel or the grant fails. |
Richiesta di esempio
Corpo pronto da incollare. Sostituisci gli ID e i valori segnaposto con i tuoi.
{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "site": "GOOGLE", "successUrl": "https://app.example.com/locations/1800289/connected", "errorUrl": "https://app.example.com/locations/1800289/connect-failed" }}Risposte
200A single-use OAuth URL to send the user to. `errors` is `null` on success. The `url` shown is a placeholder; send the user to the `url` returned in your own response.
{ "data": { "createConnectUrl": { "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-...", "errors": null } }}401Unauthenticated, missing or invalid API key.
403The key is valid but not permitted to connect this location (`SY90003`).
Restituisce un URL OAuth di una piattaforma di pubblicazione limitato a una sede. Indirizza l'utente finale a url; al termine, la piattaforma di pubblicazione lo reindirizza al tuo successUrl (o errorUrl) e le credenziali risultanti vengono associate alla sede come account connesso.
Questo è l'equivalente per una singola sede dei flussi in blocco, Connetti account Google in blocco e Connetti account Facebook in blocco, che creano un link valido per l'intero account e poi si basano sulla corrispondenza per associare le schede. Usa questo endpoint quando sai già quale sede sta connettendo l'utente e vuoi che torni alla pagina di quella sede nel tuo prodotto.
Entrambi gli URL di reindirizzamento sono obbligatori e devono essere assoluti; un valore relativo o non interpretabile viene restituito come success: true con un null url, quindi controlla url e non solo success. Il link è monouso e legato alla sede che hai indicato, quindi creane uno nuovo per ogni tentativo anziché memorizzarlo nella cache.
Caso d'uso: connettere un negozio dalla tua app
Quando un utente connette un negozio dalla tua app, invia una richiesta POST a questo endpoint con l'ID della sede, site: "GOOGLE" e gli URL di reindirizzamento che riportano alla tua app. Indirizza l'utente a url in una finestra popup o tramite un reindirizzamento a pagina intera. Quando torna, consulta Ottieni i dettagli dell'account connesso o le informazioni di connessione della sede per confermare che la connessione sia stata stabilita, quindi mostra lo stato connesso nella tua app. Se l'utente abbandona il flusso, viene indirizzato a errorUrl e non viene associato nulla, quindi crea un nuovo link e consentigli di riprovare.
Caso d'uso: pubblicare tramite l'account Apple Business del proprietario
Invia site: "APPLE" per connettere una sede all'account dell'organizzazione verificato su Apple Business del proprietario. Il proprietario apre url, accede a quell'account e concede l'accesso. Da quel momento, ListingsAPI pubblica i dati Apple Maps di quella sede tramite l'account del proprietario.
Se il proprietario non ha un account dell'organizzazione verificato su Apple Business, salta questo flusso. ListingsAPI pubblica la sede tramite il proprio account Apple Business Connect e Apple verifica la richiesta di pubblicazione prima di pubblicare la sede. Ogni sede viene connessa separatamente, quindi uno stesso account può avere sedi di entrambi i tipi.
Dopo che il proprietario torna a successUrl, chiama Elenca gli account connessi con publisher=AppleAccount e verifica che il valore di status dell'account sia CONNECTED. Per il flusso completo, incluse le istruzioni per controllare la scheda su Apple Maps, consulta Connetti Apple Business Connect.
Questo endpoint crea credenziali OAuth reali. La richiesta e la risposta di esempio riportate sopra sono esempi.
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" } }'