POST
/api/v4/social/brands/update브랜드 업데이트
소셜 브랜드의 이름, 시간대, 웹사이트, 카테고리, 해시태그 또는 소개를 업데이트합니다.
매개변수
본문
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| input | object | 필수 | Wrapper object. Every field below is a property of `input`, the entire body must be nested under it. |
| input.profileId | string | 필수 | UUID of the brand to update. This is the same value used as the `brandId` path token elsewhere. |
| input.profileName | string | 선택 | New display name. |
| input.timezone | object | 선택 | New timezone as `{ label, tzCode, name, utc }`. `tzCode` is the IANA identifier that schedules are resolved against. |
| input.businessIntent | string | 선택 | One or two sentences describing what the business does. |
| input.categories | array of strings | 선택 | Business categories. Replaces the stored list rather than merging into it. |
| input.siteUrl | string | 선택 | The brand's website. Changing it queues a fresh read of the site. |
| input.logo | string | 선택 | Public https URL of the brand logo. |
| input.countryIso | string | 선택 | Two-letter ISO country code. |
| input.bio | string | 선택 | Short brand bio. |
| input.brandHashtags | array of strings | 선택 | Replaces the brand's hashtag list. |
| input.competitorHashtags | array of strings | 선택 | Replaces the competitor hashtag list. |
| input.contentPreferredLanguage | string | 선택 | Preferred language for generated content, e.g. `en`. |
요청 예시
바로 붙여 넣을 수 있는 본문입니다. 예시 ID와 값을 실제 값으로 바꾸세요.
{ "input": { "profileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "profileName": "Jenny Home & Co.", "siteUrl": "https://jennyhomeandco.example", "brandHashtags": ["jennyhome", "handmadefurniture", "shoplocal"] }}응답
200Brand updated. The full brand is returned.
{ "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`.
{ "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`).
기존 브랜드를 수정합니다. 브랜드는 경로 매개변수가 아닌 본문의 input.profileId로 지정하므로, 경로에 ID가 없는 POST /social/brands/update를 사용합니다.
사용 사례: 자체 CRM과 브랜드 정보 동기화. 고객이 업체 이름이나 웹사이트 주소를 변경하면 여기에 해당 변경 사항을 반영하여 브랜드 헤더와 작성기의 제안을 정확하게 유지합니다. siteUrl을 변경하면 사이트를 다시 읽는 작업도 대기열에 추가되므로, 추가 호출 없이 제안에 새로운 문구가 반영됩니다.
참고 사항.
- 요청 본문은 반드시
input객체로 감싸야 합니다. - HTTP 상태가 아닌
success를 확인합니다. 업데이트가 거부되면HTTP 200이 반환되며,success: false와 함께error에 사유가 포함됩니다. profileId만 필수입니다. 나머지 필드는 모두 선택 사항이므로 부분 업데이트가 가능합니다. 변경할 필드만 전송하면 나머지는 그대로 유지됩니다. 여기서 식별에 사용하는 필드는brandId가 아닌profileId이며,brandId는 항상 URL 경로 토큰으로만 사용됩니다.categories,brandHashtags및competitorHashtags를 전송하면 기존 값과 병합되지 않고 대체됩니다.[]을 전송하면 목록이 비워집니다.timezone을 변경하면 향후scheduleDate/scheduleTime값이 해석되는 방식에 영향을 줍니다. 이미 예약된 게시물은 기존에 확정된 시점을 유지하며, 시간이 다시 설정되지 않습니다.GET /social/brands/{brandId}로 브랜드를 다시 조회하여 확인합니다.
쓰기 작업: 실제 계정에서는 실행하지 않았습니다. 표시된 요청과 응답은 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" ] } }'