Migrer de 3.1 à 4.0 Simple

Information importante à mettre à jour de 3.1 à 4.0s de l'API.

Veuillez vous assurer d'avoir migré vers 3.1 d'abord avant de migrer vers 4.0s 3.1 Guide de migration

4.0 Simple (4.0s) est une présentation de la même API /api/v4/ documentée sous 4.0, écrite pour les intégrations qui traitent les enregistrements par leurs propres identifiants. Il ne s'agit pas d'une version distincte de l'API : il n'y a pas d'URL /api/v4s/, et une requête construite à partir de ces pages est une requête ordinaire 4.0. Ce qui diffère, c'est la présentation — ces pages identifient les enregistrements par externalId et conservent la structure client plate, ce qui rend la transition de la version 3.1 moins étendue que la version complète 4.0. externalId est un identifiant accepté plutôt qu'un identifiant requis, et 4.0 l'accepte aussi : chaque point de terminaison 4.0 accepte _id, globalRecordId ou externalId.

Changements importants

POST
{base_url}/api/v4/
  • Mettre à jour les demandes à .../api/v4/... Au lieu de .../api/v3.1/... .
Valeurs monétaires
  • L'argent est maintenant envoyé et retourné en tant que nombre entier de cents. Dans la version 3.1, les mêmes champs prenaient des dollars décimaux, donc 45.99 dans la version 3.1 devient 4599 dans la version 4.0s.
  • Cela s'applique généralement aux champs d'argent - totaux de facture, taxes, rabais, prix unitaires et totaux des lignes, montants de paiement, allocations, prix unitaires des articles, et à tout autre montant que vous envoyez ou recevez - pas à un seul champ.
  • Ceci est un changement silencieux : la même charge utile est acceptée dans les deux versions sans erreur, et représente un montant cent fois différent. Il est facile de se tromper dans les deux sens.
  • Envoyer des valeurs 3.1 inchangées à 4.0s facture cent fois trop peu : un 45.99 qui signifiait $45.99 est lu comme des cents et ne facture qu’environ $0.46.
  • Lire une réponse 4.0s en dollars facture cent fois trop : un 4599 retourné vaut $45.99 en cents, mais lu comme des dollars il devient $4599.00.
  • Affectant
    • POST
      {base_url}/api/v4/site/{site_id}/invoice/addUpdate
    • POST
      {base_url}/api/v4/site/{site_id}/item/addUpdate
POST
{base_url}/api/v4/site/{site_id}/customer/addUpdate
  • Le notification_options Champ a été supprimé du client.
Produits → Articles
  • Le point de terminaison Produits a été renommé en Articles. Mettez à jour les demandes vers site/{site_id}/item/addUpdate Au lieu de site/{site_id}/product/addUpdate .
  • Affectant
    • POST
      {base_url}/api/v4/site/{site_id}/item/addUpdate
Pièces jointes
  • Le attachments Champ (une liste simple d'URL) a été remplacé par le attachmentRefs Objet, qui organise les pièces jointes en internal , external , et sourcePdf Sous-champs.
  • Affectant
    • POST
      {base_url}/api/v4/site/{site_id}/invoice/addUpdate
    • POST
      {base_url}/api/v4/site/{site_id}/customer/addUpdate
    • POST
      {base_url}/api/v4/site/{site_id}/subscription/addUpdate