Connexions
Gérez les comptes publisher et sociaux connectés de votre agence, leurs comptes publicitaires, les préréglages de configuration de boost, et les applications professionnelles connectées.
Renvoie les comptes publisher/sociaux connectés de votre agence (Google, Facebook, Instagram, LinkedIn, TikTok et autres), éventuellement filtrés par client ou plateforme.
Lister les comptes connectés
/api/v1/connections{
"data": {
"accounts": [
{
"id": "conn_1",
"platform": "google",
"displayName": "Acme Dental — Google",
"providerAccountId": "112233445566",
"credentialsValid": true,
"fetchStatus": "ok",
"fetchError": null,
"errorTag": null,
"gmbGroupIds": [],
"expiresAt": null,
"dataAccessExpiresAt": "2026-05-01T00:00:00.000Z",
"channel": "local",
"clientId": "cli_123",
"synupLocationId": null,
"clientLocationId": "loc_456"
}
],
"nextCursor": null,
"totalCount": 1
}
}Combien d'emplacements de ce client (ou de toute l'agence) ont Google/Facebook connecté ou non. Restreindre à un sous-ensemble avec tags.
Obtenir un résumé des comptes connectés
/api/v1/connections/summary{
"data": {
"total": 5,
"google": {
"connected": 3,
"notConnected": 2
},
"facebook": {
"connected": 1,
"notConnected": 4
}
}
}Renvoie une URL d'autorisation OAuth Google à ouvrir dans un navigateur pour connecter le Profil d'établissement Google de cet emplacement. Cet endpoint ne peut pas terminer la connexion lui-même — l'écran de consentement Google nécessite un humain interactif.
Obtenir une URL de connexion Google
/api/v1/connections/google/connect-url{
"data": {
"provider": "google",
"locationId": "loc_456",
"url": "https://accounts.google.com/o/oauth2/v2/auth?client_id=...&redirect_uri=...&response_type=code&scope=...&state=...",
"note": "Open this URL in a browser under the account owner's control. There is no callback to your integration — once approved, poll GET /api/v1/connections to see the new connection."
}
}Renvoie une URL d'autorisation OAuth Facebook à ouvrir dans un navigateur pour connecter la Page Facebook de cet emplacement. Cet endpoint ne peut pas terminer la connexion lui-même — l'écran de consentement Facebook nécessite un humain interactif.
Obtenir une URL de connexion Facebook
/api/v1/connections/facebook/connect-url{
"data": {
"provider": "facebook",
"locationId": "loc_456",
"url": "https://www.facebook.com/v19.0/dialog/oauth?client_id=...&redirect_uri=...&scope=...&state=...&response_type=code",
"note": "Open this URL in a browser under the account owner's control. There is no callback to your integration — once approved, poll GET /api/v1/connections to see the new connection."
}
}Renvoie les comptes publicitaires payants disponibles sur un compte connecté (Facebook, Instagram, LinkedIn ou TikTok).
Lister les comptes publicitaires
/api/v1/connections/ad-accounts{
"data": {
"adAccounts": [
{
"id": "adacct_1",
"connectionId": "conn_1",
"platformAccountId": "act_549988676430053",
"name": "Acme Dental Ads",
"platform": "facebook",
"status": "active",
"isSelected": true,
"currency": "USD",
"archived": false,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-15T10:00:00.000Z"
}
]
}
}Force une nouvelle récupération immédiate des comptes publicitaires d'un compte connecté depuis la plateforme, au lieu d'attendre la synchronisation quotidienne en arrière-plan. Renvoie la liste actualisée.
Synchroniser les comptes publicitaires
/api/v1/connections/ad-accounts/sync{
"data": {
"adAccounts": [
{
"id": "adacct_1",
"connectionId": "conn_1",
"platformAccountId": "act_549988676430053",
"name": "Acme Dental Ads",
"platform": "facebook",
"status": "active",
"isSelected": false,
"currency": "USD",
"archived": false,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-02-01T09:00:00.000Z"
}
]
}
}Choisit lequel des comptes publicitaires d'un compte connecté est utilisé lors du boost de posts. Un seul compte publicitaire peut être sélectionné par compte connecté à la fois.
Sélectionner un compte publicitaire
/api/v1/connections/ad-accounts/select{
"data": {
"selected": true
}
}Associe une fiche déjà récupérée d'un compte déjà connecté à un emplacement qui n'a pas encore de connexion propre. Ce n'est pas une nouvelle autorisation OAuth — caId doit déjà être un compte connecté ; cela réutilise simplement cette connexion. Google et Facebook uniquement.
Attribuer une fiche à un emplacement
/api/v1/connections/locations/assign{
"data": {
"id": "listing_1",
"platform": "google",
"synupLocationId": null,
"clientLocationId": "loc_456",
"platformResourceName": "accounts/123/locations/456",
"platformPageName": "Acme Dental — Downtown"
}
}Confirme une suggestion du score NAP, créant une connexion au niveau de l'emplacement à partir d'une fiche récupérée déjà associée à un emplacement Synup. Échoue si la fiche n'a pas d'emplacement associé (400), est déjà connectée (409), ou si l'emplacement a déjà une connexion sur cette plateforme (409).
Confirmer une correspondance suggérée
/api/v1/connections/locations/confirm-match{
"data": {
"id": "listing_1",
"platform": "google",
"synupLocationId": null,
"clientLocationId": "loc_456",
"platformResourceName": "accounts/123/locations/456",
"platformPageName": "Acme Dental — Downtown"
}
}Relance le score NAP (nom/adresse/téléphone) sur les fiches déjà récupérées d'un compte connecté. Ne récupère pas à nouveau depuis la plateforme — utilisez POST /api/v1/connections/fetch-listings pour cela. Limité à une fois toutes les 24 heures par compte ; un appel dans cette fenêtre renvoie 429 avec un horodatage retryAt.
Demander de nouvelles suggestions de correspondance
/api/v1/connections/request-matches{
"data": {
"scored": 4,
"message": null
}
}Force une récupération immédiate des fiches d'un compte connecté directement depuis la plateforme — pas seulement une nouvelle notation de ce qui est déjà stocké, ce qui est POST /api/v1/connections/request-matches. S'exécute de manière synchrone ; la réponse confirme que la récupération est déjà terminée.
Forcer la récupération des fiches d'un compte
/api/v1/connections/fetch-listings{
"data": {
"status": "completed",
"count": 4
}
}Renvoie les configurations de boost enregistrées (préréglages réutilisables de ciblage et de budget pour booster un post) sur un compte connecté.
Lister les configurations de boost
/api/v1/connections/boost-configs{
"data": {
"boostConfigs": [
{
"id": "boost_1",
"connectionId": "conn_1",
"adAccountId": "adacct_1",
"name": "Local awareness — $10/day",
"platform": "facebook",
"targeting": {
"ageMin": 25,
"ageMax": 55,
"genders": [],
"geoLocations": {
"countries": [],
"regions": [],
"cities": [],
"zips": []
},
"interests": [],
"publisherPlatforms": [
"facebook"
]
},
"dailyBudget": 10,
"durationDays": 7,
"delayHours": 0,
"publisherPlatforms": [
"facebook"
],
"archived": false,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-15T10:00:00.000Z"
}
]
}
}Enregistre une nouvelle configuration de boost réutilisable (ciblage, budget quotidien et durée) sur le compte publicitaire d'un compte connecté. Ceci ne fait que stocker un préréglage pour un usage ultérieur — cela ne booste pas un post en soi, ne soumet rien à la plateforme publicitaire, et ne dépense aucun argent. L'argent n'est dépensé que lorsque cette configuration enregistrée est ensuite appliquée pour booster un post spécifique.
Créer une configuration de boost
/api/v1/connections/boost-configs{
"data": {
"boostConfig": {
"id": "boost_1",
"connectionId": "conn_1",
"adAccountId": "adacct_1",
"name": "Local awareness — $10/day",
"platform": "facebook",
"targeting": {
"ageMin": 25,
"ageMax": 55,
"genders": [],
"publisherPlatforms": [
"facebook"
]
},
"dailyBudget": 10,
"durationDays": 7,
"delayHours": 0,
"publisherPlatforms": [
"facebook"
],
"archived": false,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-15T10:00:00.000Z"
}
}
}Modifie une configuration de boost existante et non archivée. Seuls les champs fournis sont modifiés.
Mettre à jour une configuration de boost
/api/v1/connections/boost-configs/update{
"data": {
"boostConfig": {
"id": "boost_1",
"connectionId": "conn_1",
"adAccountId": "adacct_1",
"name": "Local awareness — $15/day",
"platform": "facebook",
"targeting": {
"ageMin": 25,
"ageMax": 55,
"genders": [],
"publisherPlatforms": [
"facebook"
]
},
"dailyBudget": 15,
"durationDays": 7,
"delayHours": 0,
"publisherPlatforms": [
"facebook"
],
"archived": false,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-02-01T09:00:00.000Z"
}
}
}Archive une configuration de boost enregistrée afin qu'elle n'apparaisse plus comme préréglage réutilisable. N'affecte aucun boost déjà en cours créé à partir d'elle.
Archiver une configuration de boost
/api/v1/connections/boost-configs/archive{
"data": {
"archived": true
}
}Renvoie les applications professionnelles (CRM et autres outils tiers) que votre agence a connectées via Pipedream. Elles sont valables pour toute l'agence — une clé limitée à des clients spécifiques voit malgré tout la liste complète, puisqu'il n'existe pas de propriété par client d'une connexion d'application.
Lister les applications connectées
/api/v1/connections/apps{
"data": {
"connections": [],
"count": 0
}
}