POST/api/v4/social/brands/update

Actualizar una marca

Actualiza el nombre, la zona horaria, el sitio web, las categorías, los hashtags o la biografía de una marca en redes sociales.

Requiere una clave de API. Consulta Autenticación para conocer el formato del encabezado y la rotación de claves.

Parámetros

Cuerpo

NombreTipoObligatorioDescripción
inputobjectobligatorioWrapper object. Every field below is a property of `input`, the entire body must be nested under it.
input.profileIdstringobligatorioUUID of the brand to update. This is the same value used as the `brandId` path token elsewhere.
input.profileNamestringopcionalNew display name.
input.timezoneobjectopcionalNew timezone as `{ label, tzCode, name, utc }`. `tzCode` is the IANA identifier that schedules are resolved against.
input.businessIntentstringopcionalOne or two sentences describing what the business does.
input.categoriesarray of stringsopcionalBusiness categories. Replaces the stored list rather than merging into it.
input.siteUrlstringopcionalThe brand's website. Changing it queues a fresh read of the site.
input.logostringopcionalPublic https URL of the brand logo.
input.countryIsostringopcionalTwo-letter ISO country code.
input.biostringopcionalShort brand bio.
input.brandHashtagsarray of stringsopcionalReplaces the brand's hashtag list.
input.competitorHashtagsarray of stringsopcionalReplaces the competitor hashtag list.
input.contentPreferredLanguagestringopcionalPreferred language for generated content, e.g. `en`.

Solicitud de ejemplo

Cuerpo listo para pegar. Sustituye los ID y valores de ejemplo por los tuyos.

Request body
{  "input": {    "profileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",    "profileName": "Jenny Home & Co.",    "siteUrl": "https://jennyhomeandco.example",    "brandHashtags": ["jennyhome", "handmadefurniture", "shoplocal"]  }}

Respuestas

200Brand updated. The full brand is returned.
Response
{  "data": {    "updateSocialProfile": {      "success": true,      "error": null,      "socialProfile": {        "id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",        "profileName": "Jenny Home & Co.",        "archived": false,        "logo": null,        "profileLogo": null,        "siteUrl": "https://jennyhomeandco.example",        "countryIso": "US",        "bio": "Handmade furniture for real homes.",        "businessIntent": "A family-run home furnishings store selling handmade furniture and textiles.",        "categories": ["Furniture Store", "Home Goods"],        "brandHashtags": ["jennyhome", "handmadefurniture", "shoplocal"],        "competitorHashtags": [],        "connectedChannelCount": 3,        "timezone": {          "label": "(GMT-05:00) Eastern Time",          "tzCode": "America/New_York",          "name": "Eastern Standard Time",          "utc": "-05:00"        },        "contentPreferredLanguage": "en"      }    }  }}
200Validation failed. The status is still 200: read `success`.
Response
{  "data": {    "updateSocialProfile": {      "success": false,      "error": {        "message": "SY95046: Unknown timezone",        "code": "SY95046",        "contextInfo": null      },      "socialProfile": null    }  }}
401Unauthenticated, missing or invalid API key.
404No brand with that ID on this account (`SY95043`).

Edita una marca existente. La marca se identifica mediante input.profileId en el cuerpo, no mediante un parámetro de ruta, por lo que la ruta es simplemente POST /social/brands/update.

Caso de uso: mantener la marca sincronizada con tu propio CRM. Cuando un cliente cambie el nombre de su empresa o traslade su sitio web, refleja el cambio aquí para que el encabezado de la marca y las sugerencias del editor sigan siendo precisos. Cambiar siteUrl también pone en cola una nueva lectura del sitio, de modo que las sugerencias incorporan el nuevo texto sin necesidad de ninguna llamada adicional.

Notas.

  • El cuerpo de la solicitud debe estar envuelto en un objeto input.
  • Comprueba success, no el estado HTTP. Una actualización rechazada devuelve HTTP 200 con success: false y el motivo en error.
  • Solo profileId es obligatorio. Todos los demás campos son opcionales, por lo que se permiten actualizaciones parciales: envía solo los campos que estés cambiando y el resto permanecerá sin cambios. El campo identificador aquí es profileId, no brandId; brandId solo se utiliza como token de la ruta de una URL.
  • categories, brandHashtags y competitorHashtags se reemplazan, no se combinan, cuando los envías. Enviar [] vacía la lista.
  • Cambiar timezone afecta a cómo se interpretan los valores futuros de scheduleDate / scheduleTime. Las publicaciones ya programadas conservan el instante que se determinó para ellas; no se reajusta su horario. Vuelve a consultar la marca con GET /social/brands/{brandId} para confirmarlo.

Operación de escritura: no se ha ejecutado en la cuenta real. La solicitud y la respuesta que se muestran se han elaborado a partir del esquema de la API.

Request
curl -X POST 'https://listingsapi.com/api/v4/social/brands/update' \  -H "Authorization: API $LISTINGSAPI_KEY" \  -H 'Content-Type: application/json' \  -d '{    "input": {      "profileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",      "profileName": "Jenny Home & Co.",      "siteUrl": "https://jennyhomeandco.example",      "brandHashtags": [        "jennyhome",        "handmadefurniture",        "shoplocal"      ]    }  }'