Como obter e atualizar dados de relação via API REST

Coisas para saber

Neste tutorial, trabalhamos com a aplicação Advanced REST Client, mas você pode usar qualquer aplicação que funcione com REST API.

API REST pública para visão geral das configurações de relações

Navegue até o Painel do WordPress> JetEngine> guia Relações e clique no botão “ Editar ” ao lado da relação necessária.

Trabalharemos com a relação “Usuários (Guias) > Postagens (Tours)”.

lista de relações

Vá para a alternância Registrar obter itens/item REST API Endpoint e habilitá-lo.

No campo Endpoint URL , você verá três URLs que podem ser copiadas e usadas para a conexão entre dois sites:

registrar obter itens resto API endpoint
  • GET – /wp-json/jet-rel/<relation ID> — recupera todos os dados da relação selecionada;
  • GET – /wp-json/jet-rel/<relation ID>/children/<item ID> — recupera itens filhos para o ID do item selecionado;
  • GET – /wp-json/jet-rel/<relation ID>/parents/<item ID> — recupera itens pais para o ID do item selecionado.
Coisas para saber

No campo Capacidade de Acesso , você pode escolher quem terá permissão para acessar esses itens relacionados. Por padrão, não há restrições, mas se você inserir, por exemplo, o recurso “edit_pages”, apenas editores e administradores poderão editá-los.

Ative a alternância Registrar atualização do endpoint da API REST .

registrar itens de atualização rest api endpoint

POST – /wp-json/jet-rel/<ID de relação> — especifique os dados necessários. O corpo da postagem de consulta deve conter os seguintes dados:

{
	parent_id: ID/IDs,
	child_id: ID/IDs,
	context: child/parent,
	store_items_type: replace/update
}

Neste trecho de código, você precisa inserir os ID/IDs dos itens/itens pai, ID/IDs dos itens/itens filhos; o contexto pode ser “filho” ou “pai”, onde “filho” significa atualizar o item filho do pai e “pai” – atualizar o item pai do filho. A linha store_items_type pode ser “replace” ou “update”, onde “replace” exclui os elementos existentes e insere os novos ao atualizar, e “update” adiciona os novos elementos aos existentes.

Ao terminar, clique no botão “Atualizar Relação” .

Atualizar dados de relação via API REST

Mostraremos como atualizar e substituir itens relacionados usando o aplicativo Advanced REST Client como exemplo.

Selecionamos o método “POST” e inserimos o URL do endpoint da relação no campo URL de solicitação .

Na aba Headers , adicionamos um Header com o nome “Content-Type” e o valor “application/json” . Se desejar, você também pode adicionar o cabeçalho “Autorização” .

Atualizando o item filho do pai

Decidimos adicionar um novo passeio infantil ao guia dos pais. Agora, o usuário atual não possui postagens relacionadas.

postagens relacionadas não conectadas

Na aba Corpo , deixamos o tipo de conteúdo do corpo “JSON” padrão e a visualização do Editor “Entrada bruta” .

Na área de texto a seguir, inserimos esse código JSON:

{
  "parent_id": 2,
  "child_id": 1310,
  "context": "child",
  "store_items_type": "update"
}

Onde “2” é o ID de um guia dos pais; “1310” é um ID de um passeio infantil que foi criado anteriormente e que queremos adicionar ao guia; “filho” indica que queremos atualizar o item filho do pai. Por último, “atualizar” é um comando que irá atualizar a relação e adicionar um novo item em vez de substituir o antigo.

código de atualização bem sucedido

Clique no botão “Enviar a solicitação” . A solicitação foi bem-sucedida, então adicionamos um novo item filho ao objeto pai.

postagem relacionada conectada

Atualizando metacampos de relação

Você também pode atualizar o metacampo de relação por meio da API REST.

Adicionamos um novo traço ao código:

"meta": {"tour_start_date" : "2024-06-24", "_pricing": "300"}

Onde “tour_start_date” e “_pricing” são metacampos “Texto” e “Data” da relação e “2024-06-24” e “300” são valores. Você pode atualizar todos os tipos de metacampos disponíveis para relações.

Clique no botão “ Enviar a solicitação ”.

Para verificar os resultados, clique no botão “ Editar Meta” próximo à postagem secundária conectada.

editar botão meta

Como podemos ver, os valores foram salvos através da API REST.

metacampos atualizados
Aviso

O plugin JetEngine geralmente salva datas no banco de dados no formato AAAA-MM-DD. Antes de atualizar, você pode verificar adicionando valor ao metacampo de data no site clicando no botão “ Editar Meta ”. Então você terá certeza em que formato deverá inserir as datas.

Salve os metadados e insira o URL do endpoint na barra de pesquisa.

Aqui você pode ver em que formato a data é salva. Portanto, ao atualizar ou substituir os itens da relação, insira o valor no mesmo formato.

URL do terminal

Substituindo itens de relacionamento

Se quiser substituir todos os itens relacionados por um novo, você precisa digitar “replace” em vez de “update”:

"store_items_type": "replace",
código de substituição bem sucedido

Após pressionar o botão “ Enviar a solicitação ”, o novo item relacionado substituirá os antigos.

criança conectada substituída

Atualizando o item pai do filho

Agora queremos adicionar um novo guia ao passeio; em outras palavras, atualize os itens pais (usuários) do objeto filho (postagem).

postar com usuários relacionados não conectados

O código JSON é semelhante ao que usamos para adicionar um item filho ao objeto pai, mas você precisa alterar o contexto:

{
  "parent_id": 3,
  "child_id": 710,
  "context": "parent",
  "store_items_type": "update",
  "meta": {"tour_start_date" : "2024-08-13", "_price_": "400"}
}
código de atualização pai bem-sucedido

O usuário pai com o ID “3” foi adicionado à postagem com o ID “710”.

postar com usuário relacionado conectado

Adicionando vários filhos ao pai ou vice-versa

Para adicionar vários filhos ao pai, você precisa colocar IDs no array:

"child_id": [710, 1174, 653, 1221, 649],
matriz de IDs filho no código

Clique no botão “Enviar a solicitação” e prossiga para a página principal.

Novos itens filhos foram adicionados com sucesso ao objeto pai.

vários posts relacionados conectados ao usuário

Você também pode adicionar vários pais a um filho colocando vários IDs de pais na matriz.

Também é possível conectar vários pais e filhos, de modo que cada pai no código terá cinco filhos.

matriz de ids pai no código

Isso é tudo. Agora você sabe como obter a lista de dados de relação e atualizar ou substituir os itens filhos ou pais via REST API com o plugin JetEngine WordPress.

Índice