Realizado

Integração Api - Bókun (Marketplace) - Wordpress (Custom Cpt)

Publicado em 27 de Abril de 2025 dias na TI e Programação

Sobre este projeto

Aberto

**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

Categoria TI e Programação
Subcategoria Wordpress
Qual é o alcance do projeto? Instalação/Configuração de pacote
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por A. I.