87 lines
1.8 KiB
Go
87 lines
1.8 KiB
Go
|
package suggest
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
)
|
||
|
|
||
|
type (
|
||
|
PartyByIDParams struct {
|
||
|
Query string `json:"query"`
|
||
|
Count *int `json:"count,omitempty"`
|
||
|
KPP *string `json:"kpp,omitempty"`
|
||
|
Type *PartyType `json:"type,omitempty"`
|
||
|
BranchType *PartyBranchType `json:"branch_type,omitempty"`
|
||
|
}
|
||
|
|
||
|
PartyType string
|
||
|
PartyBranchType string
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
PartyTypeLegal PartyType = "LEGAL"
|
||
|
PartyTypeIndividual PartyType = "INDIVIDUAL"
|
||
|
|
||
|
PartyBranchTypeMain PartyBranchType = "MAIN"
|
||
|
PartyBranchTypeBranch PartyBranchType = "BRANCH"
|
||
|
)
|
||
|
|
||
|
func NewPartyByIDParams(query string) *PartyByIDParams {
|
||
|
return &PartyByIDParams{
|
||
|
Query: query,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o *PartyByIDParams) SetQuery(query string) *PartyByIDParams {
|
||
|
o.Query = query
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *PartyByIDParams) SetCount(count int) *PartyByIDParams {
|
||
|
o.Count = &count
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *PartyByIDParams) SetKPP(kpp string) *PartyByIDParams {
|
||
|
o.KPP = &kpp
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *PartyByIDParams) SetType(t PartyType) *PartyByIDParams {
|
||
|
o.Type = &t
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *PartyByIDParams) SetBranchType(t PartyBranchType) *PartyByIDParams {
|
||
|
o.BranchType = &t
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
// Party try to return suggest parties by params
|
||
|
func (a *Api) Party(ctx context.Context, params *RequestParams) (ret []*PartySuggestion, err error) {
|
||
|
var result = &PartyResponse{}
|
||
|
|
||
|
err = a.Client.Post(ctx, "suggest/party", params, result)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
ret = result.Suggestions
|
||
|
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Party find parties by ID
|
||
|
// https://dadata.ru/api/find-party/
|
||
|
func (a *Api) PartyByID(ctx context.Context, params *PartyByIDParams) (ret []*PartySuggestion, err error) {
|
||
|
var result = &PartyResponse{}
|
||
|
|
||
|
err = a.Client.Post(ctx, "findById/party", params, result)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
ret = result.Suggestions
|
||
|
|
||
|
return
|
||
|
}
|