· 3 years ago · Jul 22, 2022, 09:50 AM
1openapi: 3.0.3
2info:
3 title: referals
4 version: '1.0'
5 description: 'A través de este API, terceras partes autorizadas podrán gobernar el alta, modificación y baja de sus propios usuarios (referals) dentro de la plataforma SDM, con objeto de que dichos usuarios puedan hacer además uso de los servicios proporcionados por esa plataforma.'
6servers:
7 - url: 'http://localhost:3000'
8paths:
9 '/referals/{uid}':
10 parameters:
11 - schema:
12 type: string
13 name: uid
14 in: path
15 description: Id of an existing referal.
16 required: true
17 get:
18 summary: Get referal by referal uid
19 tags: []
20 responses:
21 '200':
22 description: Referal found
23 content:
24 application/json:
25 schema:
26 $ref: '#/components/schemas/Referal'
27 examples:
28 Get referal by uid 600112233:
29 value:
30 uid: '600112233'
31 extra_info:
32 id: e7a86ca9-4845-418f-bd86-4aa498050a68
33 attribute_name: color_preferido
34 attribute_value: verde
35 email: user@example.com
36 first_name: María
37 last_name: García Suárez
38 phone_prefix: '+34'
39 phone: '600112233'
40 birthdate: '1977-10-31'
41 document_type: NIF
42 country: ES
43 document_number: 72655396Y
44 effective_date: '2022-10-03T00:00:00+01:00'
45 expiration_date: '2023-01-03T00:00:00+01:00'
46 application/xml:
47 schema:
48 type: object
49 properties: {}
50 '404':
51 description: Referal Not Found
52 operationId: get-referal-by-uId
53 description: Retrieve the information of the referal with the matching uid.
54 patch:
55 summary: Actualizar la información de un `referal`
56 operationId: patch-referal-by-uid
57 responses:
58 '200':
59 description: Referal actualizado
60 content:
61 application/json:
62 schema:
63 $ref: '#/components/schemas/Referal'
64 '404':
65 description: User Not Found
66 description: Update the information of an existing referal.
67 requestBody:
68 content:
69 application/json:
70 schema:
71 $ref: '#/components/schemas/Referal'
72 examples:
73 Update Email:
74 value:
75 email: rebecca@gmail.com
76 Update Last Name & Date of Birth:
77 value:
78 lastName: Baker
79 dateOfBirth: '1985-10-02'
80 description: Patch user properties to update.
81 delete:
82 summary: ''
83 operationId: delete-referals-uid
84 responses:
85 '200':
86 description: OK
87 description: Baja de un `referal` de la plataforma SDM
88 /referals:
89 post:
90 summary: Alta de un nuevo `referal`
91 operationId: post-referal
92 responses:
93 '200':
94 description: Objeto `Referal` creado con éxito
95 content:
96 application/json:
97 schema:
98 $ref: '#/components/schemas/Referal'
99 examples:
100 Nuevo referal usando únicamente el número de teléfono como UID:
101 value:
102 uid: '600112233'
103 Nuevo referal completo:
104 value:
105 uid: '6001122233'
106 extra_info:
107 id: e7a86ca9-4845-418f-bd86-4aa498050a68
108 attribute_name: color_preferido
109 attribute_value: verde
110 email: user@example.com
111 first_name: María
112 last_name: García Suárez
113 phone_prefix: '+34'
114 phone: '600112233'
115 birthdate: '1977-10-31'
116 document_type: NIF
117 country: ES
118 document_number: 72655396Y
119 effective_date: '2022-10-03T00:00:00+01:00'
120 expiration_date: '2023-01-03T00:00:00+01:00'
121 '400':
122 description: Es necesario proporcionar un identificador unívoco para el referal (UID)
123 '409':
124 description: UID ya asignado a otro `referal`
125 requestBody:
126 content:
127 application/json:
128 schema:
129 $ref: '#/components/schemas/Referal'
130 examples:
131 Create User Bob Fellow:
132 value:
133 firstName: Bob
134 lastName: Fellow
135 email: bob.fellow@gmail.com
136 dateOfBirth: '1996-08-24'
137 description: ''
138 description: Alta de un nuevo usuario de un tercero (referal)
139 parameters: []
140 '/onboarding/{uid}':
141 get:
142 summary: Obtener información para el onboarding de un `referal`
143 tags: []
144 responses:
145 '200':
146 description: OK
147 content:
148 application/json:
149 schema:
150 $ref: '#/components/schemas/Onboarding'
151 operationId: get-onboarding
152 description: ''
153 parameters:
154 - $ref: '#/components/parameters/uid'
155 post:
156 summary: Realizar el onboarding de un `referal`
157 operationId: post-onboarding-uid
158 responses:
159 '200':
160 description: OK
161 requestBody:
162 content:
163 application/json:
164 schema:
165 $ref: '#/components/schemas/Onboarding'
166 examples: {}
167 security: []
168components:
169 schemas:
170 Referal:
171 title: Referal
172 type: object
173 description: 'Este es el modelo de los usuarios de terceras partes en la plataforma SDM. Como mínimo contiene el identificador unívoco de dicho usuario en el sistema de los terceros, pero para que dicho usuario pueda convertirse en un usuario en la plataforma SDM será necesario proporcionar el resto de los datos.'
174 example:
175 - uid: string
176 extra_info:
177 id: e7a86ca9-4845-418f-bd86-4aa498050a68
178 attribute_name: color_preferido
179 attribute_value: verde
180 email: user@example.com
181 first_name: María
182 last_name: García Suárez
183 phone_prefix: '+34'
184 phone: '600112233'
185 birthdate: '1977-10-31'
186 document_type: NIF
187 country: ES
188 document_number: 72655396Y
189 effective_date: '2022-10-03T00:00:00+01:00'
190 expiration_date: '2023-01-03T00:00:00+01:00'
191 properties:
192 uid:
193 type: string
194 description: Unique identifier for the given user.
195 extra_info:
196 $ref: '#/components/schemas/EAV'
197 email:
198 type: string
199 format: email
200 first_name:
201 type: string
202 last_name:
203 type: string
204 phone_prefix:
205 type: string
206 phone:
207 type: string
208 birthdate:
209 type: string
210 format: date
211 example: '1997-10-31'
212 document_type:
213 type: string
214 description: Set to true if the user's email has been verified.
215 enum:
216 - NIF
217 - NIE
218 - CIF
219 - Otros
220 - Pasaporte
221 country:
222 type: string
223 format: date
224 description: The date that the user was created.
225 default: ES
226 document_number:
227 type: string
228 effective_date:
229 type: string
230 expiration_date:
231 type: string
232 consent_commercial:
233 type: boolean
234 required:
235 - uid
236 EAV:
237 title: EAV
238 type: object
239 properties:
240 id:
241 type: string
242 attribute_name:
243 type: string
244 attribute_value:
245 type: string
246 description: A través de este modelo de Entidad Atributo Valor se puede proporcionar información adicional a una entidad indicando el nombre y el valor de un atributo arbitrario.
247 example:
248 - id: e7a86ca9-4845-418f-bd86-4aa498050a68
249 attribute_name: color_preferido
250 attribute_value: verde
251 Onboarding:
252 title: Onboarding
253 x-stoplight:
254 id: 3bkcu51uxbzh2
255 type: object
256 properties:
257 referal:
258 $ref: '#/components/schemas/Referal'
259 password:
260 type: string
261 description: la contraseña elegida por el `referal` para los posteriores accesos a SDM
262 anti_tampering_token:
263 type: string
264 description: 'este token sirve para verificar que la peticion se originó con la autorización del tercero, y que además determinados campos no hayan sido manipulados'
265 securitySchemes:
266 API Key - 1:
267 name: API Key
268 type: apiKey
269 in: header
270 parameters:
271 uid:
272 name: uid
273 in: path
274 required: true
275 schema:
276 type: string
277 description: Identificador unívoco del referal
278security:
279 - API Key - 1: []
280