Skip to content

Golang SDK du Logiciel de Facturation en ligne VosFactures

License

Notifications You must be signed in to change notification settings

Squirrel-Entreprise/vosfactures

Repository files navigation

Golang VosFactures

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.

Doc officiel

https://github.com/vosfactures/api

Point de départ

t := "xxxyyyzz" // token Vosfactures
a := "votrecompte" // utilisateur Vosfactures
vf := vosfactures.New(t, a)

Catégories VosFactures

cmd/categories/main.go

Créer une catégorie

c := vosfactures.Category{
    Name: "Fruits",
}
vfCat, err := vf.CreateCategory(&c)
if err != nil {
    log.Println(err)
}

Voir une catégorie

vfCat, err := vf.GetCategory(1234)
if err != nil {
    log.Println(err)
}

Lister les catégories

vfCats, err := vf.ListCategories(1)
if err != nil {
    log.Println(err)
}

Mettre à jour une catégorie

c := vosfactures.Category{
    ID:   1234,
    Name: "Fruits",
}
vfCat, err := vf.UpdateCategory(&c)
if err != nil {
    log.Println(err)
}

Supprimer une catégorie

if err := vf.DeleteCategory(1234); err != nil {
    log.Println(err)
}

Produits VosFactures

cmd/products/main.go

Créer un produit

p := vosfactures.Product{
    Name: "Pomme",
}
vfProd, err := vf.CreateProduct(&p)
if err != nil {
    log.Println(err)
}

Voir un produit

vfProd, err := vf.GetProduct(1234)
if err != nil {
    log.Println(err)
}

Lister les produits

vfProds, err := vf.ListProducts(1)
if err != nil {
    log.Println(err)
}

Mettre à jour un produit

p := vosfactures.Product{
    ID:   1234,
    Name: "Pomme",
}
vfProd, err := vf.UpdateProduct(&p)
if err != nil {
    log.Println(err)
}

Supprimer un produit

if err := vf.DeleteProduct(1234); err != nil {
    log.Println(err)
}

Clients VosFactures

cmd/clients/main.go

Créer un client

p := vosfactures.Client{
    Name: "Jean Bon",
}
vfClient, err := vf.CreateClient(&p)
if err != nil {
    log.Println(err)
}

Voir un client

vfClient, err := vf.GetClient(1234)
if err != nil {
    log.Println(err)
}

Lister les clients

vfClients, err := vf.ListClients(1)
if err != nil {
    log.Println(err)
}

Mettre à jour un client

p := vosfactures.Client{
    ID:   1234,
    Name: "Jean Bon",
}
vfClient, err := vf.UpdateClient(&p)
if err != nil {
    log.Println(err)
}

Supprimer un client

if err := vf.DeleteClient(1234); err != nil {
    log.Println(err)
}

Département VosFactures

cmd/clients/main.go

Créer un département

p := vosfactures.Department{
    Name: "Légumes companie",
}
vfDep, err := vf.CreateDepartment(&p)
if err != nil {
    log.Println(err)
}

Voir un département

vfDep, err := vf.GetDepartment(1234)
if err != nil {
    log.Println(err)
}

Lister les départements

vfDeps, err := vf.ListDepartments(1)
if err != nil {
    log.Println(err)
}

Mettre à jour un département

p := vosfactures.Department{
    ID:   1234,
    Name: "Légumes companie",
}
vfDep, err := vf.UpdateDepartment(&p)
if err != nil {
    log.Println(err)
}

Supprimer un département

if err := vf.DeleteDepartment(1234); err != nil {
    log.Println(err)
}

Factures VosFactures

cmd/ivoices/main.go

Créer une facture

// 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)
	}

Voir une facture

vfInv, err = vf.GetInvoice(vfInv.ID)
if err != nil {
    log.Println(err)
}

Lister les factures

vfInvs, err := vf.ListInvoices(1)
if err != nil {
    log.Println(err)
}

Mettre à jour une facture

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)
}

Supprimer une facture

if err := vf.DeleteInvoice(vfInv.ID); err != nil {
    log.Println(err)
}

Envoyer une facture par email

if err := vf.SendInvoiceByMail(vfInv.ID); err != nil {
    log.Println(err)
}

About

Golang SDK du Logiciel de Facturation en ligne VosFactures

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages