· 6 years ago · Sep 22, 2019, 06:58 AM
1# pointer-play-api
2
3
4
5## Sample Request
6
7```json
8
9{
10
11"cpf": "22218435845",
12
13"reference": "abc123",
14
15"numbers": [ "11999762024" ],
16
17"vars": {
18
19"@PrimeiroNome": "guilherme"
20
21},
22
23"campaignId": 70
24
25}
26
27
28
29```
30
31
32
33## Sample Response
34
35```json
36
37{
38
39"success": true,
40
41"contactId":"65a81642-c67e-4aa0-970c-1abed71e2cf3"
42
43}
44
45
46
47```
48
49
50
51# API Autenticação
52
53
54
55Para realizar uma chamada via API (`POST`), você precisa se autenticar passando em sua requisição no `authorization` do tipo `Basic Auth` as seguintes credenciais.
56
57```
58
59
60"basic": {
61 "username": "slug",
62
63 "password": "apikey"
64}
65
66```
67
68# API: Descrição Body
69
70As informações necessárias no corpo da requsição devem manter a seguinte estrutura de informações:
71
72
73
74* Requisição `POST`
75
76
77
78Exemplo de Requisição `POST` na rota `/call` passando os parâmetros via `application/json` no corpo da requisição.
79
80
81
82* rota:
83
84
85
86```json
87
88
89
90host:8081/call
91
92
93
94```
95
96
97
98* corpo:
99
100
101
102```json
103
104
105
106{
107
108 "aggregatorName":"Teste 1"
109
110 "campaignId": 1
111
112 "reference": "abc123",
113
114 "numbers": [ "11123112323" ],
115
116 "cpf": "12345678910",
117
118 "vars": [
119
120 {
121
122 "type" : "string",
123
124 "key" : "@PrimeiroNome",
125
126 "value" : "ZENAIDE"
127
128 },
129
130 {
131
132 "type" : "string",
133
134 "key" : "@NomeCompleto",
135
136 "value" : "JOAO DA SILVA"
137
138 },
139
140 {
141
142 "type" : "number",
143
144 "key" : "@ParcelValue",
145
146 "value" : 101.36
147
148 }
149 ]
150}
151
152
153
154```
155
156Respeitar sempre as tipagens de cada propriedade. A seguir breve descritivo de cada propriedade.
157
158Propriedade `CPF` precisa ser passado o identificador do cliente de preferência (sem máscara).
159
160Propriedade `aggregatorName` é responsável por agrupar todas as discagens feitas para aquele agregador. Caso não exista, por default será agrupado no seguinte padrão referente a data de discagem `2019-09-01`. Informação posteriormente exibida na plataforma e relatórios.
161
162Propriedade `reference` é utilizada para apenas para alguns fins de relatórios ou configurações específicas do cliente. Não obrigatório.
163
164Propriedade `numbers` necessita de ser um array de string com N números de telefone.
165
166Propriedade `vars` necessita de ser um array de objetos com N posições onde deve ser seguido o exemplo acima, respeitando as necessidades de cada àrvore e tipagens de cada informação. Obrigatoriamente deve ser passado minimamente as informações @PrimeiroNome e @NomeCompleto.
167
168A propriedade `campaignId` deve ser passado o id da campanha em que deseja realizar a discagem, tipo Inteiro.
169
170
171# API: Resposta
172
173Ao término de uma discagem a API retornará o callback com um objeto que possue a chave `sucess` com valor `true` indicando sucesso e outra propriedade chamada `contactId` com o identificador único de cada contato discado.
174Em caso de erro será retornado um objeto com a mensagem do erro detalhado.
175* exemplo de resposta com sucesso:
176```json
177{
178
179 "success": true,
180
181 "contactId":"65a81642-c67e-4aa0-970c-1abed71e2cf3"
182}
183
184```