Pergunta

Estou tentando usar a API do QuickBooks para sincronizar a lista de produtos da minha empresa com a lista de itens da pasta de trabalho. Eu consegui através do sistema OAuth para poder fazer solicitações de leitura / gravação para a API, mas sempre obter um erro ao tentar atualizar um objeto.

A referência que eu tenho usado é aqui , E dentro da mesma documentação é uma referência para recuperar um objeto que pude usar muito bem. Este é o xml que estou enviando . Eu tenho ajustado o XML por algumas horas agora sem sucesso.

A mensagem de erro que recebo é " Nome do item QB já existe ERI= 420962215 ". Esse ERI é meu ID de reino. Parece que o QuickBooks acha que estou tentando adicionar um novo item, quando estou tentando modificar um existente. Se eu omitir o nome do nome ou deixá-lo nulo, isso me dá um erro também.

O item que estou tentando modificar foi criado em QuickBooks, então sincronizado com o gerenciador de sincronização do Quickbook. Eu então autentiquei meu aplicativo para essa pasta de trabalho e fui capaz de ler dados facilmente. Eu só tenho um problema quando tento escrever. Eu ainda tenho que tentar criar ou excluir um objeto desde que eu estive parando na atualização.

Eu estou tentando apenas configurar um formulário simples no site da minha empresa que irá atingir a API e atualizar dados ao salvar, mas não consigo encontrar uma maneira de contornar esse erro.

Qualquer ajuda seria muito apreciada. Comecei a ter problemas na sexta-feira e sinto que estou apenas girando em círculos agora. Eu encontrei uma biblioteca de QuickBooks / PHP e tentei olhar através dele para ver se eu poderia encontrar informações úteis, mas foi um pouco grande demais para mim para localizar o que eu estava procurando, já que eu acho que o erro é apenas um xml incorreto.

Eu segui todas as instruções dentro da referência de atualização e simplesmente não posso progredir. Eu dou o dobro e triplo verifiquei que minha autenticação funciona, que o URL está correto, que estou enviando post e não obter e que meu XML corresponde ao XML mostrado nesse exemplo.

update 2012-03-15

Parece que o problema é que a API não é capaz de atualizar um item que foi criado através de QuickBooks. Sempre que o item tem um ID e um iddomain, que indica se foi feito através da API (NG) ou QuickBooks (QB). Um exemplo de identificação / iddomain seria 1 / qb ou 2556587 / ng.

Sempre que eu estava fazendo isso, pude atualizar perfeitamente um item que foi feito através da API, mas não feita através de QuickBooks. Depois de olhar para o Referência de objeto suportada , notei que o montagem do item Atualizar / criar é listado como beta.

Foi útil?

Solução

Parece que o que eu escrevi na atualização está correto.Não consigo atualizar itens que foram feitos em QuickBooks através da API.Eu posso ler itens feitos em QuickBooks, posso criar itens e posso editar itens feitos através da API, mas editar um item feito em QuickBooks através da API retorna esse erro.

Outras dicas

Algumas coisas:

  • Qual URL você está postando?
  • Você pode mostrar a resposta completa do HTTP que está recebendo?Ids tem um mau hábito de retornar mensagens / códigos de erro que às vezes são ambíguos Se você não olhar para a resposta completa XML.
  • Alguns desses campos não são atualizáveis: Qtyonpurchaseorder, Qtyonsalesorder
  • você sabe que só pode usar o IDS / Sync Manager para aplicativos que você é Vai revender a outras empresas, certo?i.e. Você não pode usá-lo para Aplicativos internos / one-off.
  • Você vai obter um suporte muito melhor se você postar essas perguntas Para os fóruns do desenvolvedor de Intuit: https://idnforums.Intuit.com/

Você pode considerar migrando para qbo v3 é muito melhor e fácil de trabalhar. Há uma boa API feita para este propósito.que você pode chegar aqui. https://github.com/consolibyte/quickbooks-php (feito por: keith palmer) .

Eu estou usando isso e estou muito satisfeito com isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top