Bonjour,
J’essaye d’appeler le endpoint /incomeBook pour créer automatiquement des entrées dans mon livre de recettes.
Malheureusement j’ai toujours une erreur 500 :
{
« statusCode »: 500,
« message »: « Internal server error »
}
Mes paramètres d’entrée sont les suivants :
{
« client »: « Jean Dupont »,
« priceWithoutTax »: 10,
« priceTotalTax »: 11,
« reference »: « reference123 »,
« productType »: 2
}
Mon authentifiaction est bonne car j’arrive bien a utiliser le endpoint /organization par exemple.
Quel est le problème ?
Pouvez-vous m’aider ?
Je vous remercie,
Bonne journée,
Clémence.
Bonjour Clémence,
Merci pour votre message. Une erreur 500 (Internal Server Error) signifie que le serveur d’Abby rencontre une erreur en traitant votre requête. Cela vient souvent d’un champ manquant ou mal formaté dans votre requête. Voici quelques conseils pour résoudre ce problème, suivis d’un exemple de code Python complet et fonctionnel.
Vérifications à faire :
- Champs obligatoires manquants : Vous devez inclure tous les champs attendus par l’API
/incomeBook
, même s’ils ne sont pas toujours documentés comme obligatoires.
- Date
paidAt
: Ce champ est requis et doit être au format ISO 8601 (YYYY-MM-DDTHH:MM:SSZ
).
paymentMethodUsed
: Doit être un objet, par exemple : { "value": 1 }
.
vatAmount
et vatId
: Requis, même si vos montants sont faibles ou exonérés.
isSap
: Peut être nécessaire (par défaut false
si non concerné).
file
: Peut être vide {}
, mais le champ doit exister.
Exemple de payload complet et valide :
{
"paidAt": "2025-05-08T12:00:00Z",
"paymentMethodUsed": { "value": 1 },
"vatAmount": 1,
"vatId": 1,
"client": "Jean Dupont",
"priceWithoutTax": 10,
"priceTotalTax": 11,
"reference": "reference123",
"productType": 2,
"isSap": false,
"file": {}
}
Exemple de code Python :
import requests
from datetime import datetime
def ajouter_entree(api_key):
url = "https://api.app-abby.com/incomeBook"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
payload = {
"paidAt": datetime.utcnow().isoformat() + "Z",
"paymentMethodUsed": { "value": 1 },
"vatAmount": 1,
"vatId": 1,
"client": "Jean Dupont",
"priceWithoutTax": 10,
"priceTotalTax": 11,
"reference": "reference123",
"productType": 2,
"isSap": False,
"file": {}
}
response = requests.post(url, headers=headers, json=payload)
print(f"Code réponse : {response.status_code}")
print(f"Réponse : {response.text}")
# Remplacez par votre clé API
api_key = "suk_..."
ajouter_entree(api_key)
Automatisation disponible
Si vous souhaitez automatiser complètement l’ajout d’entrées et de sorties (recettes/dépenses) dans Abby, sachez que nous avons :
- un outil IA prêt à l’emploi pour ça,
- possibilité d’intégration avec votre site e-commerce,
- et un analyseur de PDF/images pour convertir automatiquement en écritures comptables dans Abby.
N’hésitez pas à me dire si vous voulez une démo ou discuter de vos besoins spécifiques.
Bonne journée et bon courage avec votre intégration !
1 « J'aime »
Merci pour votre réponse, ce playload fonctionne bien.
Comment faire pour ajouter un fichier dans le paramètre « file » ?
Il faut fournir une url ?
Peut-on fournir un fichier de mes « justificatifs en attente » ?
Peut-on fournir un fichier d’un Google Drive ?
Est-ce que ce fichier externe peut-être importé/copié dans Abby ?
Merci encore, bonne journée.