Saltar para o conteúdo
ShopentlyLearn

Alterar dados da loja

Usa a API para alterar dados da tua loja, como a descrição ou o preço de um produto.

Alterar campos específicos

Para alterar a descrição de um produto, não precisas de enviar todos os seus dados. No pedido PATCH, inclui os campos a alterar e os restantes campos obrigatórios da operação. Os outros dados mantêm-se inalterados.

Campo omitido
O valor mantém-se inalterado.
null
Enviar null apaga o valor, se o campo o permitir. Consulte a descrição da operação.
Texto vazio
"" representa texto vazio. É diferente de null e nem todos os campos o aceitam.

Neste exemplo, removemos a descrição do produto em alemão. O nome e as descrições nos outros idiomas mantêm-se inalterados.

PATCH/api/v1/products/example?locale=de

Pedido cURL

curl --disable --globoff --fail-with-body --silent --show-error \
  --proto '=https' --connect-timeout 5 --max-time 30 \
  --request PATCH \
  --url 'https://shop.onshopently.com/api/v1/products/example?locale=de' \
  --header 'Authorization: Bearer EXAMPLE_ACCESS_TOKEN' \
  --header 'Idempotency-Key: example-product-clear-translation' \
  --header 'Content-Type: application/json' \
  --data-raw '{"description":null,"expected_version":1}'

Resposta

{
  "data": {
    "deleted": false,
    "id": "example",
    "version": 2
  },
  "meta": {
    "request_id": "example"
  }
}

Se não receberes uma resposta

A ausência de resposta não significa necessariamente que a alteração não tenha sido guardada. A ligação pode ter sido interrompida depois de a alteração ser feita.

Ao guardar dados, adicione o cabeçalho Idempotency-Key com um valor único. Se não receber uma resposta e repetir a mesma alteração, use a mesma chave, URL, método e conteúdo do pedido.

Se a API já tiver guardado o resultado desse pedido, devolve-o sem executar novamente a alteração. Use uma nova chave para uma alteração diferente.

Reutilizar uma chave para outra requisição produz idempotency.key_reused.

Se alguém alterar os mesmos dados

Obtenha os dados atuais antes de os alterar. Se a operação exigir expected_version, indique nesse campo a versão recebida.

Se alguém tiver alterado os dados entretanto, a API recusa a gravação. Obtenha-os novamente e verifique se a alteração prevista continua a ser adequada. Só então envie um novo pedido com a versão atual.

Alterar um preço também pode exigir a versão do preço, da variante ou da tabela de preços. Consulte os campos necessários na descrição da operação.