Synupv1
Criar chave
v1Recursos/Media

Media

Consulte e envie arquivos para a biblioteca de mídia de um local.

Retorna o logotipo, as fotos e os vídeos cadastrados para um local, agrupados por categoria.

Obter mídia do local

get/api/v1/media
media:read
Parâmetros de consulta
locationIdstringobrigatório
O local a ser consultado. Obrigatório.
Resposta
dataobjectopcional
locationIdstringopcional
O local ao qual esta mídia pertence.
logoUrlstringopcional
URL do logotipo do local, ou null.
mediaByCategoryobjectopcional
Itens de mídia agrupados por categoria (ex.: EXTERIOR, INTERIOR, FOOD_AND_DRINK, LOGO, TEAMS). Cada item tem uma url e, opcionalmente, um label, um kind (PHOTO ou VIDEO), uma source, um indicador starred e um assetKey.
photosSummaryobjectopcional
Contagens agregadas de fotos.
totalnumberopcional
Número total de fotos, ou null.
byCategoryarray of objectopcional
Número de fotos por categoria.
categorystringopcional
countnumberopcional
Erros
400Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
404O recurso não foi encontrado, ou não pertence à sua agência.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
get/api/v1/media
Sua chave de API
locationId *
{
  "data": {
    "locationId": "loc_456",
    "logoUrl": "https://cdn.synup.com/logos/loc_456.png",
    "mediaByCategory": {
      "EXTERIOR": [
        {
          "url": "https://cdn.synup.com/media/1.jpg",
          "kind": "PHOTO",
          "source": "user_upload",
          "starred": true
        }
      ]
    },
    "photosSummary": {
      "total": 12,
      "byCategory": [
        {
          "category": "EXTERIOR",
          "count": 4
        }
      ]
    }
  }
}
v1Recursos/Media/getListar categorias de mídia

O conjunto fixo de valores de categoria aceitos por POST/DELETE /api/v1/locations/{id}/media (COVER, LOGO, INTERIOR, ...).

Listar categorias de mídia

get/api/v1/media/categories
media:read
Resposta
dataobjectopcional
categoriesarray of stringopcional
Os valores de categoria, na ordem de aplicação.
Erros
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
get/api/v1/media/categories
Sua chave de API
{
  "data": {
    "categories": [
      "COVER",
      "PROFILE",
      "LOGO",
      "EXTERIOR",
      "INTERIOR",
      "PRODUCT",
      "FOOD_AND_DRINK",
      "MENU",
      "AT_WORK",
      "TEAMS",
      "ROOMS",
      "COMMON_AREA",
      "ADDITIONAL"
    ]
  }
}
v1Recursos/Media/patchAtualizar um asset

Atualiza os metadados de sobreposição de um asset — tags, associação a pastas, locais atribuídos — e, apenas para uploads, seu título. Origens sincronizadas/geradas ignoram o título; ali ele é somente leitura.

Atualizar um asset

patch/api/v1/media/{id}
media:write
Parâmetros de consulta
idstringobrigatório
O asset a atualizar.
Corpo da solicitação
titlestringopcional
Novo título. Somente uploads; ignorado para outras origens.
tagsarray of stringopcional
Substitui a lista completa de tags do asset, por nome.
folderIdsarray of stringopcional
Substitui a associação a pastas do asset.
locationIdsarray of stringopcional
Substitui os locais atribuídos ao asset.
statusstring (ok | needs_review | spam)opcional
Define manualmente o veredito de moderação. Somente mídia sincronizada.
statusReasonstringopcional
Nota opcional explicando o status, exibida ao lado dele.
Resposta
dataobjectopcional
assetobjectopcional
keystringopcional
Identificador composto do arquivo, no formato "<source>:<id>".
sourcestringopcional
Origem deste arquivo (ex.: um envio do OS em vez de uma fonte importada).
idstringopcional
O id do arquivo dentro de sua fonte.
titlestringopcional
O título do arquivo.
filenamestringopcional
O nome de arquivo original do arquivo.
mimestringopcional
O tipo MIME do arquivo.
kindstringopcional
O tipo do arquivo (foto ou vídeo).
sizeBytesnumberopcional
Tamanho do arquivo em bytes, ou null se desconhecido.
urlstringopcional
URL pronta para uso com os bytes do arquivo.
thumbnailUrlstringopcional
URL de uma miniatura de pré-visualização, ou null.
tagsarray of stringopcional
Tags associadas ao arquivo.
folderIdsarray of stringopcional
Pastas de arquivos às quais este arquivo pertence.
locationIdsarray of stringopcional
Todos os locais associados a este arquivo.
Erros
400Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
404O recurso não foi encontrado, ou não pertence à sua agência.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
patch/api/v1/media/{id}
Sua chave de API
id *
Corpo da solicitação
{
  "data": {
    "asset": {
      "key": "upload:abc123",
      "source": "upload",
      "id": "abc123",
      "title": "Storefront photo",
      "filename": "storefront.jpg",
      "mime": "image/jpeg",
      "kind": "image",
      "sizeBytes": 482913,
      "url": "https://cdn.synup.com/media/abc123.jpg",
      "thumbnailUrl": "https://cdn.synup.com/media/abc123-thumb.jpg",
      "tags": [
        "VIP"
      ],
      "folderIds": [
        "folder_1"
      ],
      "locationIds": [
        "loc_456"
      ]
    }
  }
}
v1Recursos/Media/deleteArquivar um ativo de mídia

Arquiva uma foto/arquivo enviado da biblioteca de ativos — esta API nunca exclui permanentemente. Os bytes, o registro, as associações de tags/pastas e os links de compartilhamento permanecem intactos; ele apenas deixa de aparecer em qualquer lugar da biblioteca. Somente uploads podem ser arquivados assim.

Arquivar um ativo de mídia

delete/api/v1/media/{id}
media:write
Parâmetros de consulta
idstringobrigatório
A chave do ativo, codificada em URL (ex. upload%3Aabc123).
Erros
400Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
404O recurso não foi encontrado, ou não pertence à sua agência.
409A origem deste ativo é somente leitura (gerado pelo Sydekick ou mídia sincronizada) e não pode ser arquivada aqui.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
delete/api/v1/media/{id}
Sua chave de API
id *
{}
v1Recursos/Media/postEditar um asset com IA

Regenera a imagem (ou o texto) de um asset gerado pelo Sydekick no mesmo local a partir de um prompt de texto — a mesma ação "Editar com IA" disponível na aba Dados. Somente assets gerados pelo Sydekick; uploads e mídia sincronizada retornam um 409. Executa um trabalho em segundo plano que pode levar um minuto ou mais em uma inicialização a frio.

Editar um asset com IA

post/api/v1/media/{id}/edit
media:write
Parâmetros de consulta
idstringobrigatório
O asset gerado a editar, codificado em porcentagem (ex.: generated%3Aabc123).
Corpo da solicitação
promptstringobrigatório
O que alterar, em linguagem simples.
Resposta
dataobjectopcional
assetobjectopcional
keystringopcional
Identificador composto do arquivo, no formato "<source>:<id>".
sourcestringopcional
Origem deste arquivo (ex.: um envio do OS em vez de uma fonte importada).
idstringopcional
O id do arquivo dentro de sua fonte.
titlestringopcional
O título do arquivo.
filenamestringopcional
O nome de arquivo original do arquivo.
mimestringopcional
O tipo MIME do arquivo.
kindstringopcional
O tipo do arquivo (foto ou vídeo).
sizeBytesnumberopcional
Tamanho do arquivo em bytes, ou null se desconhecido.
urlstringopcional
URL pronta para uso com os bytes do arquivo.
thumbnailUrlstringopcional
URL de uma miniatura de pré-visualização, ou null.
tagsarray of stringopcional
Tags associadas ao arquivo.
folderIdsarray of stringopcional
Pastas de arquivos às quais este arquivo pertence.
locationIdsarray of stringopcional
Todos os locais associados a este arquivo.
Erros
400Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
404O recurso não foi encontrado, ou não pertence à sua agência.
409Somente assets gerados pelo Sydekick podem ser editados com IA.
422Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
post/api/v1/media/{id}/edit
Sua chave de API
id *
Corpo da solicitação*
{
  "data": {
    "asset": {
      "key": "upload:def456",
      "source": "upload",
      "id": "def456",
      "title": "Storefront photo (edited)",
      "filename": "storefront-edited.jpg",
      "mime": "image/jpeg",
      "kind": "image",
      "sizeBytes": 511204,
      "url": "https://cdn.synup.com/media/def456.jpg",
      "thumbnailUrl": "https://cdn.synup.com/media/def456-thumb.jpg",
      "tags": [
        "VIP"
      ],
      "folderIds": [
        "folder_1"
      ],
      "locationIds": [
        "loc_456"
      ]
    }
  }
}
v1Recursos/Media/postEnviar um arquivo de mídia

Adiciona uma nova foto ou vídeo à biblioteca de mídia da agência a partir de uma URL ou payload codificado em base64, opcionalmente limitado a uma conta, cliente, local ou marca.

Enviar um arquivo de mídia

post/api/v1/media/upload
media:write
Corpo da solicitação
urlstringopcional
Uma URL publicamente acessível de onde buscar o arquivo. Informe isso ou base64, não ambos.
base64stringopcional
O conteúdo bruto do arquivo, codificado em base64. Informe isso ou url, não ambos.
mimestringopcional
Tipo MIME do arquivo, ex.: image/jpeg. Inferido quando omitido.
filenamestringopcional
Nome de arquivo original, usado para exibição.
titlestringopcional
Um título legível para o arquivo.
scopeTypestring (account | client | location | brand)opcional
A que este arquivo pertence: account (toda a agência), client, location ou brand.
scopeIdstringopcional
O id do cliente ou local ao qual o arquivo está limitado, quando scopeType é client ou location.
folderIdstringopcional
Uma pasta de arquivos existente na qual arquivar este envio.
tagsarray of stringopcional
Tags livres para associar ao arquivo.
locationIdsarray of stringopcional
Locais adicionais a associar a este arquivo, além do scopeId.
Resposta
dataobjectopcional
assetobjectopcional
keystringopcional
Identificador composto do arquivo, no formato "<source>:<id>".
sourcestringopcional
Origem deste arquivo (ex.: um envio do OS em vez de uma fonte importada).
idstringopcional
O id do arquivo dentro de sua fonte.
titlestringopcional
O título do arquivo.
filenamestringopcional
O nome de arquivo original do arquivo.
mimestringopcional
O tipo MIME do arquivo.
kindstringopcional
O tipo do arquivo (foto ou vídeo).
sizeBytesnumberopcional
Tamanho do arquivo em bytes, ou null se desconhecido.
urlstringopcional
URL pronta para uso com os bytes do arquivo.
thumbnailUrlstringopcional
URL de uma miniatura de pré-visualização, ou null.
tagsarray of stringopcional
Tags associadas ao arquivo.
folderIdsarray of stringopcional
Pastas de arquivos às quais este arquivo pertence.
locationIdsarray of stringopcional
Todos os locais associados a este arquivo.
Erros
400Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
422Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
post/api/v1/media/upload
Sua chave de API
Corpo da solicitação
{
  "data": {
    "asset": {
      "key": "upload:ghi789",
      "source": "upload",
      "id": "ghi789",
      "title": "New storefront photo",
      "filename": "new-storefront.jpg",
      "mime": "image/jpeg",
      "kind": "image",
      "sizeBytes": 398211,
      "url": "https://cdn.synup.com/media/ghi789.jpg",
      "thumbnailUrl": "https://cdn.synup.com/media/ghi789-thumb.jpg",
      "tags": [],
      "folderIds": [],
      "locationIds": []
    }
  }
}
v1Recursos/Media/postCompartilhar um asset

Emite (ou renova) um link público para o asset. Renovar revoga qualquer link emitido antes.

Compartilhar um asset

post/api/v1/media/{id}/share
media:write
Parâmetros de consulta
idstringobrigatório
O asset a compartilhar.
Resposta
dataobjectopcional
urlstringopcional
A URL pública de compartilhamento.
accessstring (link)opcional
Sempre "link" em caso de sucesso.
Erros
400Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
post/api/v1/media/{id}/share
Sua chave de API
id *
{
  "data": {
    "url": "https://synup.com/s/kL9mN2pQr",
    "access": "link"
  }
}
v1Recursos/Media/deleteDeixar de compartilhar um asset

Revoga o link público do asset.

Deixar de compartilhar um asset

delete/api/v1/media/{id}/share
media:write
Parâmetros de consulta
idstringobrigatório
O asset cujo compartilhamento será revogado.
Resposta
dataobjectopcional
accessstring (restricted)opcional
Sempre "restricted" em caso de sucesso.
Erros
400Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
delete/api/v1/media/{id}/share
Sua chave de API
id *
{
  "data": {
    "access": "restricted"
  }
}