56 lines
1 KiB
Go
56 lines
1 KiB
Go
package main
|
|
|
|
import "surdeus.su/core/amo"
|
|
import "surdeus.su/core/ss/urlenc"
|
|
import "surdeus.su/core/cli/mtool"
|
|
import "encoding/json"
|
|
import "strconv"
|
|
import "log"
|
|
import "fmt"
|
|
//import "os"
|
|
|
|
var getContacts = mtool.T("get-contacts").
|
|
Func(func(flags *mtool.Flags){
|
|
var (
|
|
secretPath string
|
|
)
|
|
|
|
flags.StringVar(
|
|
&secretPath,
|
|
"secret",
|
|
"",
|
|
"path to JSON file with AMO CRM secrets",
|
|
"AMO_SECRET",
|
|
)
|
|
idStrs := flags.Parse()
|
|
ids := make([]int, len(idStrs))
|
|
for i, idStr := range idStrs {
|
|
var err error
|
|
ids[i], err = strconv.Atoi(idStr)
|
|
if err != nil {
|
|
log.Printf("Error: Atoi(%q): %s\n", err)
|
|
return
|
|
}
|
|
}
|
|
|
|
c, err := amo.NewClient(secretPath)
|
|
if err != nil {
|
|
log.Fatalf("NewAmoClient(...): %s\n", err)
|
|
}
|
|
|
|
contacts, err := c.GetContacts(
|
|
urlenc.Array[int]{
|
|
"id",
|
|
ids,
|
|
},
|
|
)
|
|
if err != nil {
|
|
log.Fatalf("GetContacts(...): %s\n", err)
|
|
}
|
|
|
|
bts, err := json.MarshalIndent(contacts, "", " ")
|
|
if err != nil {
|
|
log.Fatalf("json.Marshal(...): %s\n", err)
|
|
}
|
|
fmt.Printf("%s\n", bts)
|
|
})
|