openapi: 3.2.0 info: title: Cendyn CRM (PUSHTech) REST Deliveries API version: v2 description: 'Token-authenticated REST API for the Cendyn CRM (formerly PUSHTech) hospitality CRM / CDP platform. Manage account balance, contacts and contact custom fields, companies, products, coupon lists, purchases, hotel data, audience lists and campaigns, and send email, SMS and push deliveries. This document was DERIVED by API Evangelist from the provider''s own published, server-rendered API reference at https://developers.cendyncrm.com/api/docs (Apitome / rspec_api_documentation). Cendyn CRM does not publish an OpenAPI document; every path, HTTP method, parameter name, parameter description and example payload here is copied verbatim from that reference. Nothing was invented.' contact: name: Cendyn url: https://www.cendyn.com/contact-us/ termsOfService: https://www.cendyn.com/terms-of-use/ x-provenance: publisher: API Evangelist method: derived derived_from: https://developers.cendyncrm.com/api/docs provider_published_openapi: false note: NOT published by Cendyn. Derived from the provider's public HTML API reference; verify against the live docs before production use. servers: - url: https://api.eu.cendyncrm.com description: EU data center - url: https://api.us.cendyncrm.com description: US data center security: - accountToken: [] tags: - name: Deliveries paths: /v2/account/{account_id}/email/deliveries: post: operationId: sendEmailDeliveries summary: Send Email — Deliveries tags: - Deliveries externalDocs: description: Cendyn CRM API reference url: https://developers.cendyncrm.com/api/docs/deliveries/send_email parameters: - name: account_id in: path required: true schema: type: string description: Your account unique identifier to access the API. This parameter is part of the authorization process requestBody: required: true content: application/json: schema: type: object properties: sender: description: Parameter containing the name of who sent the message. sender_email: description: Parameter containing the email of who sent the message. subject_holder: description: 'Parameter containing the subject of the message. This message can have interpolation''s containers inserted as %{name_of_variable}. Example: "Hi, good morning %{name}".' message_holder: description: 'Parameter containing the content of the message. This message can have interpolation''s containers inserted as %{name_of_variable}. Example: "Hi, good morning %{name}".' deliveries: description: 'Parameter containing an array of hashes. those hashes contains two key-value elements, email and replacements. The email value contains the destination of the email. The replacements contains a hash with the values of the interpolation''s containers. Example: [{ email: "[email protected]", replacements: {"name": "John"} }]' start_now: description: Parameter to schedule the deliveries with the date provided with the parameter start_at start_at: description: Time when to send the email required: - sender - sender_email - subject_holder - message_holder - deliveries - start_now example: sender: John Doe sender_email: '[email protected]' subject_holder: Hello %{name} message_holder:

Hey! This is a test %{name} %{surname}

start_now: true deliveries: - email: '[email protected]' replacements: name: Jane surname: Doe responses: '200': description: Successful response content: application/json: example: deliveries: - valid: true delivery_id: 550ab6a1a096734ce5000002 '401': description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.' /v2/account/{account_id}/push/deliveries: post: operationId: sendPushDeliveries summary: Send Push — Deliveries tags: - Deliveries externalDocs: description: Cendyn CRM API reference url: https://developers.cendyncrm.com/api/docs/deliveries/send_push parameters: - name: account_id in: path required: true schema: type: string description: Your account unique identifier to access the API. This parameter is part of the authorization process requestBody: required: true content: application/json: schema: type: object properties: app_id: description: Your app unique identifier to access the API. This parameter is part of the authorization process subject: description: Title of the push notification that will appear in the notification bar of the user's device. message_holder: description: 'parameter containing the content of the message. this message can have interpolation''s containers inserted as %{name_of_variable}. Example: "Hi, good morning %{name}".' deliveries: description: 'Parameter containing an array of hashes. those hashes contains two key-value elements, device_id and replacements . The device_id, user_id or contact_id that send the delivery. The replacements contains a hash with the values of the interpolation''s containers. Example: [{ device_id: "550ab6a1a096734ce5000002", replacements: {"name": "Your Name"} }]' start_now: description: Parameter to schedule the deliveries with the date provided with the parameter start_at send_all_devices: type: boolean description: If true, send all contact's devices, else send the last contact's device. Only available when use 'user_id' or 'contact_id' start_at: type: string format: date-time description: Parameter containing the date when the deliveries will be send. the date has to been formated following the ISO 8601. If the date introduced is before from now your deliveries will be send instantly alert: description: Parameter to set the title of the push notification. If it is blank, then we will send a silent push notification. (Only iOS) sound: description: Parameter to specify the file sound to play when a push notification is received. (Only iOS) url: description: Parameter to specify rich content in the push notification thumbnail_url: description: To send a big picture notification category_push: description: 'Interactive Notifications with Notification Actions, only the following strings are accepted: ''CATEGORY_OK'', ''CATEGORY_EDIT'', ''CATEGORY_FIND'', ''CATEGORY_LIKE_DISLIKE'', ''CATEGORY_LAUNCH'', ''CATEGORY_REMIND'', ''CATEGORY_DELETE'', ''CATEGORY_FORBID'', ''CATEGORY_LIKE_FOLLOW'', ''CATEGORY_LIKE_SHARE'', ''CATEGORY_SHARE'', ''CATEGORY_SHOP'', ''CATEGORY_YES'', ''CATEGORY_ACCEPT'', ''CATEGORY_SEND'', ''CATEGORY_BUY'', ''CATEGORY_SAVE''' badge: description: iOS only. The number to display as the badge of the app icon. If this property is absent, the badge is not changed. To remove the badge, set the value of this property to 0. silent: description: 'iOS only. If true, means that when your app is launched in the background or resumed, application:didReceiveRemoteNotification:fetchCompletionHandler: is called.' extra: description: Parameter to specify custom content that will be shown on delivery required: - app_id - subject - message_holder - deliveries - start_now example: app_id: '{{app_id}}' subject: PushMsg send_all_devices: true url: https://www.cendyncrm.com thumbnail_url: https://www.cendyncrm.com/assets/logo-light-daf5fc9918db1e811190d12aea30947d.png category_push: CATEGORY_FIND message_holder: Hello %{name}, this is a Push Notification start_now: 'true' alert: Hi %{name} silent: false deliveries: - device_id: '{{device_id}}' replacements: name: John responses: '200': description: Successful response content: application/json: example: deliveries: - - valid: true delivery_id: 550ab6a1a096734ce5000002 device_id: 5834114ff92ea112ad000001 - valid: true delivery_id: 550ab6a1a096734ce5000003 device_id: 5834167ff92ea112ad304059 '401': description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.' /v2/account/{account_id}/sms/deliveries: post: operationId: sendSMSDeliveries summary: Send SMS — Deliveries tags: - Deliveries externalDocs: description: Cendyn CRM API reference url: https://developers.cendyncrm.com/api/docs/deliveries/send_sms parameters: - name: account_id in: path required: true schema: type: string description: Your account unique identifier to access the API. This parameter is part of the authorization process requestBody: required: true content: application/json: schema: type: object properties: sender: description: MAX 11 characters. Parameter containing the name of who sent the message. message_holder: description: 'Parameter containing the content of the message. this message can have interpolation''s containers inserted as %{name_of_variable}. Example: "Hi, good morning %{name}"' deliveries: description: 'Parameter containing an array of hashes. those hashes contains key-value elements as phone number and replacements. Example: [{phone_number: "+447712345678", replacements: {"name": "Your name"}}]' deliveries[phone_number]: description: The phone number value has to be formated following the standart E164. deliveries[replacements]: description: The replacements contains a hash with the values of the interpolation's containers deliveries[multiple]: type: boolean description: if true send multiple sms items for unicode message or long messages.By default set to false. start_now: description: Parameter to schedule the deliveries with the date provided with the parameter start_at. start_at: type: string format: date-time description: Parameter containing the date when the deliveries will be send. the date has to been formated following the ISO 8601. If the date introduced is before from now your deliveries will be send instantly. required: - sender - message_holder - deliveries - deliveries[phone_number] - deliveries[replacements] - start_now example: sender: CocaCola message_holder: Hello %{name}, how are you? start_now: true deliveries: - phone_number: '+447712345678' replacements: name: John responses: '200': description: Successful response content: application/json: example: deliveries: - valid: true delivery_id: 550ab6a1a096734ce5000002 '401': description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.' /v2/account/{account_id}/delivery/{delivery_id}: get: operationId: showDeliveries summary: Show — Deliveries tags: - Deliveries externalDocs: description: Cendyn CRM API reference url: https://developers.cendyncrm.com/api/docs/deliveries/show parameters: - name: account_id in: path required: true schema: type: string description: Your account unique identifier to access the API. This parameter is part of the authorization process - name: delivery_id in: path required: true schema: type: string description: 'unique identifier of the Delivery you want to get all the information. This parameter have to replace: delivery_id in the example of the call.' responses: '200': description: Successful response content: application/json: example: delivery: id: 54f97ac2a09673c4b5000001 created_at: '2015-03-06T10:00:34Z' updated_at: '2015-03-06T10:00:42Z' channel: EMAIL status: sent refunded: false template_data: sender: John subject: Hey Jane! content: Hey! This is a test, Jane channel_data: '3': '[email protected]' price: amount: 0.01 currency: € '401': description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.' /v2/account/{account_id}/deliveries: get: operationId: listDeliveries summary: List — Deliveries tags: - Deliveries externalDocs: description: Cendyn CRM API reference url: https://developers.cendyncrm.com/api/docs/deliveries/list parameters: - name: account_id in: path required: true schema: type: string description: Your account unique identifier to access the API. This parameter is part of the authorization process - name: delivery_id in: query required: true schema: type: string description: 'Unique identifier of the Delivery you want to get all the information. This parameter have to replace: delivery_id in the example of the call.' - name: app_id in: query required: false schema: type: string description: Filter by app_id - name: campaign_id in: query required: false schema: type: string description: Filter by campaign_id - name: channel in: query required: false schema: type: string description: Filter by channel - name: status in: query required: false schema: type: string description: Filter by status - name: refunded in: query required: false schema: type: string description: Filter by refunded - name: contact_id in: query required: false schema: type: string description: Filter by contact_id - name: device_id in: query required: false schema: type: string description: Filter by device_id - name: created_since in: query required: false schema: type: string description: Created since inclusive - name: created_until in: query required: false schema: type: string description: Created until inclusive - name: updated_since in: query required: false schema: type: string description: Updated since inclusive - name: updated_until in: query required: false schema: type: string description: Updated until inclusive - name: limit in: query required: false schema: type: string description: Max number of deliveries returned, default max set to 200 - name: from_id in: query required: false schema: type: string description: Query deliveries after this delivery - name: until_id in: query required: false schema: type: string description: Query deliveries before this delivery - name: order in: query required: false schema: type: string description: Creation DESC or ASC order responses: '200': description: Successful response content: application/json: example: deliveries: - delivery: id: 54f97ac2a09673c4b5000001 created_at: '2015-03-06T10:00:34Z' updated_at: '2015-03-06T10:00:42Z' channel: EMAIL status: sent refunded: false template_data: sender: John subject: Hey Jane! content: Hey Jane! This is a test channel_data: '3': '[email protected]' price: amount: 0.01 currency: € - delivery: id: 54f97ac3a09673c4b5000003 created_at: '2015-03-06T10:00:35Z' updated_at: '2015-03-06T10:00:44Z' channel: EMAIL status: sent refunded: false template_data: sender: John subject: Hey Jane! content: Hey Jane! This is a test channel_data: '3': '[email protected]' price: amount: 0.01 currency: € '401': description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.' components: securitySchemes: accountToken: type: apiKey in: header name: Authorization description: 'Account token authentication. Send `Authorization: Token token={account.secret}`. Some operations require the account master secret (`Token token={account.master_secret}`).' externalDocs: description: Cendyn CRM Developers Central url: https://developers.cendyncrm.com/api