**Objetivo:** Desenvolver um plugin WordPress que integre os tours existentes na plataforma Bókun com o website WordPress, importando o conteúdo dos tours para o Custom Post Type (CPT) "tour".
**Data de Conclusão:** 20 de maio
**Pré-requisitos:**
* As APIs do Bókun e do WordPress já estão habilitadas.
* As chaves de acesso (Access Key e Secret Key) para a API do Bókun já foram criadas.
* Uma senha de aplicação para a api rest do wordpress já foi gerada.
* O CPT "tour" já está registrado corretamente no WordPress com 'show_in_rest' => true e um 'rest_base' definido (provavelmente 'tour').
**Descrição da Tarefa:**
O plugin WordPress deverá executar as seguintes ações:
* **Conectar-se à API do Bókun:** Utilizar as chaves de acesso fornecidas (Access Key e Secret Key) para autenticar e comunicar com a api rest do bókun. A autenticação via headers `X-Bokun-AccessKey` e `X-Bokun-SecretKey` será necessária para acessar os dados.
* **Baixar a lista de tours do Bókun:** Consultar um endpoint específico da API do Bókun para obter uma lista dos tours (atividades) existentes. O endpoint `/
activity.json/search` é o mais provável para esta finalidade. O plugin deverá ser capaz de lidar com a paginação da resposta da API, caso haja um grande número de tours.
* **Verificar a existência de tours no WordPress:** Para cada tour retornado pela API do Bókun, o plugin deverá verificar se um post correspondente já existe no WordPress. Esta verificação será feita utilizando o **ID único do tour no Bókun**. Um campo customizado (`wp:meta_key`) chamado, por exemplo, `bokun_id`, deverá ser utilizado para armazenar o ID do Bókun em cada post do tipo "tour" no WordPress. O endpoint da api rest do wordpress para consultar posts do tipo "tour" (`https://site/wp-json/wp/v2/tour`, assumindo que `rest_base` é 'tour') poderá ser usado com os parâmetros `meta_key` e `meta_value` para buscar posts com um determinado id do bókun.
* **Omitir tours já existentes:** Se um tour com o mesmo ID do Bókun já existir no WordPress, o plugin deverá **ignorar este tour e passar para o próximo**, sem criar um novo post ou atualizar o existente.
* **Importar o conteúdo de novos tours:** Para os tours do Bókun que não existirem no WordPress, o plugin deverá criar um novo post no CPT "tour". A importação deverá incluir:
* **Título do tour:** Mapear o título do tour do Bókun para o título do post no WordPress.
* **Conteúdo do tour:** Mapear a descrição do tour do Bókun para o conteúdo principal (`content`) do post no WordPress.
* **Resumo do tour (opcional):** Se disponível, mapear o resumo (excerpt) do tour do Bókun para o resumo (`excerpt`) do post no WordPress.
* **Campos customizados (meta data):** Criar e preencher campos customizados no WordPress ("wp:postmeta" com "wp:meta_key") com informações relevantes do tour do Bókun, como preço, duração, localização e o próprio ID do Bókun (`bokun_id`). A análise do arquivo `
iglesiasviagenseturismo.WordPress.2025-04-26.txt` é crucial para identificar os nomes corretos dos `wp:meta_key` a serem utilizados.
* **Imagem destacada (opcional):** Se o tour no Bókun possuir fotos, o plugin poderá baixar a primeira foto e configurá-la como a imagem destacada (`featured_media`) do post no Wordpress, utilizando o endpoint da api rest do wordpress para mídia (`https://site/wp-json/wp/v2/media`).
* **Excluir informações de calendário/disponibilidade:** A integração deverá **focar exclusivamente no conteúdo descritivo dos tours**. As informações de calendário e disponibilidade (booking calendars) **não deverão ser importadas automaticamente**.
* **Adição manual de calendários:** Os calendários de reserva para os tours importados deverão ser adicionados **manualmente** através do Bókun Marketplace dentro do ambiente WordPress, vinculando os produtos do Bókun aos posts do tipo "tour" correspondentes.
* **Registro de logs:** O plugin deverá manter um registro das ações realizadas, incluindo o número de tours baixados, criados, omitidos e quaisquer erros ocorridos durante o processo de integração.
**Tecnologias:**
* PHP (linguagem principal do Wordpress)
* api rest do bókun
* api rest do wordpress
* biblioteca `requests` do python (opcional para scripts de teste ou tarefas auxiliares)
**entrega:**
o resultado esperado é um plugin wordpress funcional que, ao ser ativado e configurado (com as chaves de api necessárias), seja capaz de realizar a importação dos tours do bókun para o wordpress conforme as especificações descritas. O código do plugin deverá ser bem comentado e seguir as boas práticas de desenvolvimento para WordPress.
**Informações sobre o Marketplace de serviços túristicos Bókun**
https://api-docs.bokun.dev/rest-v2
Prazo de Entrega: Não estabelecido