openapi: 3.0.0 info: title: WhatsApp API MultiDevice version: 3.3.0 description: This API is used for sending whatsapp via API servers: - url: http://localhost:3000 tags: - name: app description: Initial Connection to Whatsapp server - name: user description: Getting information - name: message description: Send or Manipulate Message (Text/Image/File/Video). paths: /app/login: get: operationId: appLogin tags: - app summary: Login to whatsapp server responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LoginResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /app/logout: get: operationId: appLogout tags: - app summary: Remove database and logout responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /app/reconnect: get: operationId: appReconnect tags: - app summary: Reconnecting to whatsapp server responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /user/info: get: operationId: userInfo tags: - user summary: User Info parameters: - name: phone in: query schema: type: integer example: '6289685028129@s.whatsapp.net' responses: '200': description: OK headers: Date: schema: type: string example: Sun, 13 Feb 2022 05:46:55 GMT Content-Type: schema: type: string example: application/json Content-Length: schema: type: integer example: '394' Vary: schema: type: string example: Origin Access-Control-Allow-Origin: schema: type: string example: '*' content: application/json: schema: type: object example: code: 200 message: Success results: verified_name: '' status: you are blocked picture_id: '1635239861' devices: - User: '6289685028129@s.whatsapp.net' Agent: 0 Device: UNKNOWN Server: s.whatsapp.net AD: true - User: '6289685028129@s.whatsapp.net' Agent: 0 Device: SAFARI Server: s.whatsapp.net AD: true - User: '6289685028129@s.whatsapp.net' Agent: 0 Device: IPAD Server: s.whatsapp.net AD: true '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /user/avatar: get: operationId: userAvatar tags: - user summary: User Avatar parameters: - name: phone in: query schema: type: integer example: '6289685028129@s.whatsapp.net' - name: is_preview in: query schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserAvatarResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /user/my/privacy: get: operationId: userMyPrivacy tags: - user summary: User My Privacy Setting responses: '200': description: OK headers: Date: schema: type: string example: Sun, 13 Feb 2022 04:01:41 GMT Content-Type: schema: type: string example: application/json Content-Length: schema: type: integer example: '147' Vary: schema: type: string example: Origin Access-Control-Allow-Origin: schema: type: string example: '*' content: application/json: schema: type: object example: code: 200 message: Success get privacy results: group_add: all last_seen: '' status: all profile: contacts read_receipts: all '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /user/my/groups: get: operationId: userMyGroups tags: - user summary: User My List Groups responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/message: post: operationId: sendMessage tags: - message summary: Send Message requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685028129@s.whatsapp.net' description: Phone number with country code message: type: string example: selamat malam description: Message to send responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/image: post: operationId: sendImage tags: - message summary: Send Image requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685028129@s.whatsapp.net' description: Phone number with country code caption: type: string example: selamat malam description: Caption to send view_once: type: boolean example: false description: View once image: type: string format: binary description: Image to send compress: type: boolean example: false description: Compress image responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/file: post: operationId: sendFile tags: - message summary: Send File requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685028129@s.whatsapp.net' description: Phone number with country code caption: type: string example: selamat malam description: Caption to send file: type: string format: binary description: File to send responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/video: post: operationId: sendVideo tags: - message summary: Send Video requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685028129@s.whatsapp.net' description: Phone number with country code caption: type: string example: ini contoh caption video description: Caption to send view_once: type: boolean example: 'false' description: View once video: type: string format: binary description: Video to send compress: type: boolean example: 'false' description: Compress video responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/contact: post: operationId: sendContact tags: - message summary: Send Contact requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685024051@s.whatsapp.net' description: Phone number with country code contact_name: type: string example: Aldino Kemal description: Contact name contact_phone: type: string example: '6289685024992' description: Contact phone number responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/link: post: operationId: sendLink tags: - message summary: Send Link requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685024051@s.whatsapp.net' description: Phone number with country code link: type: string example: "https://google.com" description: Link to send caption: type: string example: 'Halo ini contoh caption' description: Caption to send responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/location: post: operationId: sendLocation tags: - message summary: Send Location requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685024051@s.whatsapp.net' description: Phone number with country code latitude: type: string example: "-7.797068" description: Latitude coordinate longitude: type: string example: '110.370529' description: Longitude coordinate responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /message/:message_id/revoke: post: operationId: revokeMessage tags: - message summary: Send Link requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685024051@s.whatsapp.net' description: Phone number with country code message_id: type: string example: "3EB007D87686670344D7" description: Message ID responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' components: schemas: UserGroupResponse: type: object properties: message: type: string example: Success get list groups results: type: object properties: data: type: array items: type: object properties: JID: type: string OwnerJID: type: string Name: type: string NameSetAt: type: string NameSetBy: type: string GroupCreated: type: string ParticipantVersionID: type: string Participants: type: array items: properties: JID: type: string IsAdmin: type: boolean IsSuperAdmin: type: boolean Error: type: number UserAvatarResponse: type: object properties: message: type: string example: Success results: type: object properties: url: type: string example: 'https://pps.whatsapp.net/v/t61.24694-24/181358562_385581386633509_6230178822944778044_n.jpg?ccb=11-4&oh=df36c5b990497b8a5758a0f1ad8118a8&oe=620AA726' id: type: string example: '1635239861' type: type: string example: 'image' SendResponse: type: object properties: message: type: string example: Success results: type: object properties: message_id: type: string example: '3EB0B430B6F8F1D0E053AC120E0A9E5C' status: type: string example: ' success ....' GenericResponse: type: object properties: code: type: integer example: 200 message: type: string example: Success results: type: string example: null LoginResponse: type: object properties: code: type: string example: '200' message: type: string example: Success results: type: object properties: qr_duration: type: integer example: 30 qr_link: type: string example: 'http://localhost:3000/statics/images/qrcode/scan-qr-b0b7bb43-9a22-455a-814f-5a225c743310.png' ErrorInternalServer: type: object properties: code: type: integer example: 500 description: 'HTTP Status Code' message: type: string example: you are not loggin description: 'Detail error message' results: type: object example: null description: 'additional data' ErrorBadRequest: type: object properties: code: type: integer example: 400 description: 'HTTP Status Code' message: type: string example: phone cannot be blank description: 'Detail error message' results: type: object example: null description: 'additional data'