Implémentation sommaire de l'API VosFactures en Golang.
Ce projet n'est pas complet, il l'est suffisamment pour les fonctionnalités de bases à savoir créer et modifier un département, un client, une catégorie, un produit, une facture, pour toutes corrections ou améliorations, je serai ravis de merge vos pull requests.
https://github.com/vosfactures/api
t := "xxxyyyzz" // token Vosfactures
a := "votrecompte" // utilisateur Vosfactures
vf := vosfactures.New(t, a)
cmd/categories/main.go
c := vosfactures.Category{
Name: "Fruits",
}
vfCat, err := vf.CreateCategory(&c)
if err != nil {
log.Println(err)
}
vfCat, err := vf.GetCategory(1234)
if err != nil {
log.Println(err)
}
vfCats, err := vf.ListCategories(1)
if err != nil {
log.Println(err)
}
c := vosfactures.Category{
ID: 1234,
Name: "Fruits",
}
vfCat, err := vf.UpdateCategory(&c)
if err != nil {
log.Println(err)
}
if err := vf.DeleteCategory(1234); err != nil {
log.Println(err)
}
cmd/products/main.go
p := vosfactures.Product{
Name: "Pomme",
}
vfProd, err := vf.CreateProduct(&p)
if err != nil {
log.Println(err)
}
vfProd, err := vf.GetProduct(1234)
if err != nil {
log.Println(err)
}
vfProds, err := vf.ListProducts(1)
if err != nil {
log.Println(err)
}
p := vosfactures.Product{
ID: 1234,
Name: "Pomme",
}
vfProd, err := vf.UpdateProduct(&p)
if err != nil {
log.Println(err)
}
if err := vf.DeleteProduct(1234); err != nil {
log.Println(err)
}
cmd/clients/main.go
p := vosfactures.Client{
Name: "Jean Bon",
}
vfClient, err := vf.CreateClient(&p)
if err != nil {
log.Println(err)
}
vfClient, err := vf.GetClient(1234)
if err != nil {
log.Println(err)
}
vfClients, err := vf.ListClients(1)
if err != nil {
log.Println(err)
}
p := vosfactures.Client{
ID: 1234,
Name: "Jean Bon",
}
vfClient, err := vf.UpdateClient(&p)
if err != nil {
log.Println(err)
}
if err := vf.DeleteClient(1234); err != nil {
log.Println(err)
}
cmd/clients/main.go
p := vosfactures.Department{
Name: "Légumes companie",
}
vfDep, err := vf.CreateDepartment(&p)
if err != nil {
log.Println(err)
}
vfDep, err := vf.GetDepartment(1234)
if err != nil {
log.Println(err)
}
vfDeps, err := vf.ListDepartments(1)
if err != nil {
log.Println(err)
}
p := vosfactures.Department{
ID: 1234,
Name: "Légumes companie",
}
vfDep, err := vf.UpdateDepartment(&p)
if err != nil {
log.Println(err)
}
if err := vf.DeleteDepartment(1234); err != nil {
log.Println(err)
}
cmd/ivoices/main.go
// Créer une facture
c := vosfactures.Document{
DepartmentID: 1234,
ClientID: 1234,
Positions: []*vosfactures.Position{
&vosfactures.Position{
ProductID: 1234,
Quantity: 2,
},
},
}
vfInv, err := vf.CreateInvoice(&c)
if err != nil {
log.Println(err)
}
vfInv, err = vf.GetInvoice(vfInv.ID)
if err != nil {
log.Println(err)
}
vfInvs, err := vf.ListInvoices(1)
if err != nil {
log.Println(err)
}
p := vosfactures.Document{
ID: vfInv.ID,
DepartmentID: 1234,
ClientID: 1234,
Positions: []*vosfactures.Position{
&vosfactures.Position{
ProductID: 1234,
Quantity: 2,
},
},
}
vfInv, err = vf.UpdateInvoice(&p)
if err != nil {
log.Println(err)
}
if err := vf.DeleteInvoice(vfInv.ID); err != nil {
log.Println(err)
}
if err := vf.SendInvoiceByMail(vfInv.ID); err != nil {
log.Println(err)
}