Pular para o conteúdo

Primeira escrita

Escrever num sistema é o que mais tem risco, e nada se desfaz: o Connect nunca apaga nada na Zoppy, e o que vai para outro sistema não tem desfazer. Por isso, em produção, a primeira escrita do conector em cada sistema espera uma pessoa da loja confirmar. Vale também para a Zoppy.

  1. O conector publicado e ligado roda e chega à primeira escrita num sistema (por exemplo, o primeiro cliente criado na Zoppy).
  2. Essa escrita fica guardada, exatamente como sairia (segredos aparecem só como marcadores). As outras escritas daquela execução não saem.
  3. Na tela do conector, em escritas esperando confirmação, você abre a prévia, confere e confirma.
  4. A escrita guardada sai uma vez, na hora. Daí em diante, as escritas do conector naquele sistema saem sem perguntar.
  5. A execução que guardou a escrita não avança o cursor (na tela ela aparece com o cursor mantido). Enquanto houver escrita guardada ou confirmada esperando, o agendamento não roda o conector e Rodar agora responde connect.writes_awaiting_confirmation; o ensaio continua liberado.
  6. Depois que a escrita sai (ou é descartada), a próxima execução recomeça do último cursor bom e refaz as escritas que não saíram, inclusive a do registro já confirmado, que o conector encontra na busca antes de escrever.

Uma versão publicada que passa a escrever num sistema novo pede uma nova confirmação nesse sistema.

Código O que significa
connect.writes_awaiting_confirmation O conector tem uma escrita esperando confirmação. Confirme ou descarte a escrita antes de rodar de novo.
connect.held_write_connector_paused O conector está pausado, então a escrita não saiu. Ela ficou confirmada e sai sozinha quando o conector for ligado de novo.
connect.held_write_outdated A versão publicada não escreve mais nesse sistema. A próxima execução guarda uma nova escrita para confirmar.
connect.held_write_relay_failed A escrita não saiu agora e continua confirmada. Ela sai sozinha em instantes.
connect.held_write_send_uncertain A escrita falhou no meio do caminho e pode ter chegado ao outro sistema. Ela não é repetida: confira no outro sistema.
connect.held_write_decided Essa escrita já foi decidida (já saiu, está saindo ou foi trocada por uma mais nova).

Para não duplicar dados, toda escrita é idempotente: os conectores sempre buscam antes de escrever (o cliente já existe? o pedido já foi importado?), e o ensaio recusa uma criação sem consulta (connect.write_without_lookup). Eles seguem as regras de cada recurso da Zoppy (API de Parceiros da Zoppy). Se a loja tem uma integração nativa ativa para o mesmo dado, a IA avisa antes.