-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfactures_misc.go
86 lines (72 loc) · 3.48 KB
/
factures_misc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package choruspro
import (
"context"
"net/http"
)
// TelechargerGroupeFactureOptions est la structure de données utlisée
// pour la méthode TelechargerGroupeFacture.
type TelechargerGroupeFactureOptions struct {
// 2 values allowed: "OUI" or "NON"
AvecPiecesJointesComplementaires string `json:"avecPiecesJointesComplementaires,omitempty"`
Format FormatFichier `json:"format,omitempty"`
IdEspace int64 `json:"idEspace,omitempty"`
IdUtilisateurCourant int64 `json:"idUtilisateurCourant,omitempty"`
ListeFactures []*IdFacture `json:"listeFacture,omitempty"`
}
// TelechargerGroupeFactureResponse est la structure de données réprésentant
// la réponse de la méthode TelechargerGroupeFacture.
type TelechargerGroupeFactureResponse struct {
CodeRetour int `json:"codeRetour,omitempty"`
FichierResultat string `json:"fichierResultat,omitempty"` // base64 encoded
Libelle string `json:"libelle,omitempty"`
}
// La méthode TelechargerGroupeFacture permet de télécharger une ou plusieurs
// factures émises, reçues ou à valider en précisant le format de réception
// (XML, PDF ou ZIP) et les pièces jointes associées à ces factures. Le dossier
// téléchargé ne doit pas dépasser la taille maximum d'un dossier de facturation
// (120 Mo), quelque soit le nombre de factures téléchargées. Si le dossier
// récupéré dépasse cette taille, une erreur 413 sera remontée.
func (s *FacturesService) TelechargerGroupeFacture(ctx context.Context, opts TraiterFactureAValiderOptions) (*TelechargerGroupeFactureResponse, error) {
req, err := s.client.newRequest(ctx, http.MethodPost, "cpro/factures/v1/telecharger/groupe", opts)
if err != nil {
return nil, err
}
res := new(TelechargerGroupeFactureResponse)
err = s.client.doRequest(ctx, req, res)
if err != nil {
return nil, err
}
return res, nil
}
// RecupererStatutsVisiblesParValideurOptions est la structure de données utlisée
// pour la méthode RecupererStatutsVisiblesParValideur.
type RecupererStatutsVisiblesParValideurOptions struct {
IdUtilisateurCourant int64 `json:"idUtilisateurCourant"`
}
// StatutVisible est la structure de données réprésentant un statut visible
// par un valideur. Elle est utilisée dans la réponse de la méthode
// RecupererStatutsVisiblesParValideur.
type StatutVisible struct {
CodeStatut string `json:"codeStatutFacture"`
}
// RecupererStatutsVisiblesParValideurResponse est la structure de données réprésentant
// la réponse de la méthode RecupererStatutsVisiblesParValideur.
type RecupererStatutsVisiblesParValideurResponse struct {
CodeRetour int64 `json:"codeRetour"`
Libelle string `json:"libelle"`
ListeStatutFacture []StatutVisible `json:"listeStatutFacture"`
}
// La méthode RecupererStatutsFactureVisiblesParValideur permet à un valideur de
// récupérer la liste des statuts auxquels une facture peut être récupérée pour traitement.
func (s *FacturesService) RecupererStatutsVisiblesParValideur(ctx context.Context, opts RecupererStatutsVisiblesParValideurOptions) (*RecupererStatutsVisiblesParValideurResponse, error) {
req, err := s.client.newRequest(ctx, http.MethodPost, "cpro/factures/v1/recuperer/statutsFactureVisibles/valideur", opts)
if err != nil {
return nil, err
}
res := new(RecupererStatutsVisiblesParValideurResponse)
err = s.client.doRequest(ctx, req, res)
if err != nil {
return nil, err
}
return res, nil
}