docage

package module
v0.0.0-...-d151928 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2020 License: MIT Imports: 12 Imported by: 0

README

godocage

A Go wrapper for the Docage API.

Configuration

Import the package like so:

import "github.com/georges760/godocage"

Then initiate an API struct with your credentials:

//explicitly
api := gobcy.API{}
api.Email = "your-api-email-here"
api.Key = "your-api-key-here"

//using a struct literal
api := gobcy.API{"your-api-email-here","your-api-key-here"}

//query away
var contactid string
var contact Contact
contact.Email = "moi@free.fr"
contact.FirstName = "John"
contact.LastName = "Doe"
contact.Country = "France"
contactid, err = api.CreateContact(contact)
if err != nil {
	log.Fatal("Error creating contact: ", err)
}
log.Println("contactid:", contactid)

Usage

You can check out Docage's documentation here. The godocage_test.go file also shows most of the API calls in action.

Testing

The aforementioned godocage_test.go file contains a number of tests to ensure the wrapper is functioning properly. If you run it yourself, you'll have to insert a valid API token.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API struct {
	Email string
	Key   string
}

func (*API) AbortTransaction

func (api *API) AbortTransaction(txid string) (status string, err error)

func (*API) AddTransactionDocument

func (api *API) AddTransactionDocument(txid string, filename string, file io.Reader) (err error)

func (*API) AddTransactionMember

func (api *API) AddTransactionMember(member TransactionMember) (id string, err error)

func (*API) CreateContact

func (api *API) CreateContact(contact Contact) (id string, err error)

func (*API) CreateTransaction

func (api *API) CreateTransaction(tx Transaction) (id string, err error)

func (*API) GetAllTransactionDocuments

func (api *API) GetAllTransactionDocuments(txid string) (docs string, err error)

func (*API) GetTransactionProof

func (api *API) GetTransactionProof(txid string) (proof string, err error)

func (*API) GetTransactionStatus

func (api *API) GetTransactionStatus(txid string) (status string, err error)

func (*API) LaunchTransaction

func (api *API) LaunchTransaction(txid string) (err error)

func (*API) SendTransactionReminders

func (api *API) SendTransactionReminders(txid string) (status string, err error)

type Contact

type Contact struct {
	Email                string `json:"Email,omitempty"`
	FirstName            string `json:"FirstName,omitempty"`
	LastName             string `json:"LastName,omitempty"`
	Address1             string `json:"Address1,omitempty"`
	Address2             string `json:"Address2,omitempty"`
	City                 string `json:"City,omitempty"`
	State                string `json:"State,omitempty"`
	ZipCode              string `json:"ZipCode,omitempty"`
	Country              string `json:"Country,omitempty"`
	Notes                string `json:"Notes,omitempty"`
	Phone                string `json:"Phone,omitempty"`
	Mobile               string `json:"Mobile,omitempty"`
	Company              string `json:"Company,omitempty"`
	Gender               string `json:"Gender,omitempty"`
	Civility             string `json:"Civility,omitempty"`
	ProfilePictureSmall  string `json:"ProfilePictureSmall,omitempty"`
	ProfilePictureMedium string `json:"ProfilePictureMedium,omitempty"`
	ProfilePictureLarge  string `json:"ProfilePictureLarge,omitempty"`
}

type Transaction

type Transaction struct {
	Name                   string              `json:"Name,omitempty"`
	EndDate                string              `json:"EndDate,omitempty"`  // Format "2020-05-30T00:00:00"
	Reminder               int                 `json:"Reminder,omitempty"` // Number of days between Reminders
	MaximumReminders       int                 `json:"MaximumReminders,omitempty"`
	InvitationEmailSubject string              `json:"InvitationEmailSubject,omitempty"` // default: "Vous êtes invité(e) à signer un document",
	InvitationEmailBody    string              `json:"InvitationEmailBody,omitempty"`    // default: "<p>Bonjour {firstName} {lastName},</p><p><br></p><p>Je vous invite à signer le document &quot;{transactionName}&quot;. Vous pouvez consulter et signer ce document en cliquant sur le bouton ci-dessous :</p><p><br></p><p>{accessLink}</p><p><br></p><p>Vous pourrez signer le document après consultation et vérification de votre identité au moyen d’un code de sécurité.</p>",
	ReminderEmailSubject   string              `json:"ReminderEmailSubject,omitempty"`   // default: "Rappel de signature de document",
	ReminderEmailBody      string              `json:"ReminderEmailBody,omitempty"`      // default: "<p>Bonjour {firstName} {lastName},</p><p><br></p><p>Le document &quot;{transactionName}&quot; est toujours en attente de signature de votre part. Vous pouvez consulter et signer ce document en cliquant sur le bouton ci-dessous :</p><p><br></p><p>{accessLink}</p><p><br></p><p>Pour rappel, après consultation vous pourrez signer ce document au moyen d’un simple code de sécurité.</p>",
	SignatureEmailSubject  string              `json:"SignatureEmailSubject,omitempty"`  // default: "Un utilisateur a signé un document",
	SignatureEmailBody     string              `json:"SignatureEmailBody,omitempty"`     // default: "<p>Bonjour {firstName} {lastName},</p><p><br></p><p>Je vous informe que {signatory.firstName} {signatory.lastName} vient de signer ou valider le document &quot;{transactionName}&quot; que vous avez émis.</p>",
	CompletionEmailSubject string              `json:"CompletionEmailSubject,omitempty"` // default: "Votre document est signé",
	CompletionEmailBody    string              `json:"CompletionEmailBody,omitempty"`    // default: "<p>Bonjour {firstName} {lastName},</p><p><br></p><p>Je vous informe que le document &quot;{transactionName}&quot; a bien été signé.</p>",
	RefusalEmailSubject    string              `json:"RefusalEmailSubject,omitempty"`    // default: "Votre document a été refusé",
	RefusalEmailBody       string              `json:"RefusalEmailBody,omitempty"`       // default: "<p>Bonjour {firstName} {lastName},</p><p><br></p><p>Je vous informe que le document &quot;{transactionName}&quot; a été refusé.</p>",
	Webhook                string              `json:"Webhook,omitempty"`
	IsTest                 bool                `json:"IsTest,omitempty"`
	TransactionMembers     []TransactionMember `json:"TransactionMembers,omitempty"`
}

type TransactionMember

type TransactionMember struct {
	TransactionId    string `json:"TransactionId,omitempty"`
	ContactId        string `json:"ContactId,omitempty"`
	NotifyInvitation bool   `json:"NotifyInvitation,omitempty"` // default: true
	NotifySignature  bool   `json:"NotifySignature,omitempty"`  // default: true
	NotifyRefusal    bool   `json:"NotifyRefusal,omitempty"`    // default: true
	NotifyCompletion bool   `json:"NotifyCompletion,omitempty"` // default: true
	MemberRole       int    `json:"MemberRole,omitempty"`       // default: 0=Signataire, 1=Observateur
	SignMode         int    `json:"SignMode,omitempty"`         // default: 0=SMS, 1=Email
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL