openapi: 3.2.0 info: version: 0.0.1 title: Provider callbacks Delivery Reports API description: 'An SAP Emarsys SMS Partner Service allows partners to host SMS message sends that are triggered by an SAP Emarsys SMS campaign launch. This OpenAPI specification describes the possible callback endpoints. ' contact: name: SAP Emarsys SMS Team email: team-sms@emarsys.com servers: - url: https://api.emarsys.net/sms/partner/v1 security: - oAuthAuthorization: [] tags: - name: Delivery Reports paths: /clients/{clientId}/deliveryReports: post: summary: Delivery reports callback operationId: sendDeliveryReports tags: - Delivery Reports security: - oAuthAuthorization: [] parameters: - $ref: ./common.yaml#/components/parameters/clientIdPathParam requestBody: description: The body of the delivery reports in JSON format required: true content: application/json: schema: $ref: '#/components/schemas/DeliveryReportBatch' responses: '202': $ref: ./common.yaml#/components/responses/AcceptedResponse '400': $ref: ./common.yaml#/components/responses/InvalidFormatResponse '401': $ref: ./common.yaml#/components/responses/AuthenticationFailedResponse '403': $ref: ./common.yaml#/components/responses/AuthorizationFailedResponse '404': $ref: ./common.yaml#/components/responses/ClientDoesNotExistResponse '429': $ref: ./common.yaml#/components/responses/TooManyRequestsResponse 5XX: $ref: ./common.yaml#/components/responses/ServerErrorResponse components: schemas: DeliveryReport: allOf: - $ref: ./common.yaml#/components/schemas/ReceivedAt - $ref: ./common.yaml#/components/schemas/EmarsysMessageId - type: object properties: status: type: string enum: - ACCEPTED - DELIVERED - SOFTBOUNCE - HARDBOUNCE - UNKNOWN - ERROR example: DELIVERED details: description: This property can be used to provide extra details about the status of the delivery type: object example: providerStatus: HARDBOUNCE providerCode: 5001 providerMessageIds: type: array items: type: string example: yqqKUsSSvr description: Original provider (vendor) message ID, used for troubleshooting directly with the vendor minItems: 1 description: Original message IDs from the provider (vendor) can be used to aid troubleshooting with the provider DeliveryReportSuccess: allOf: - $ref: '#/components/schemas/DeliveryReport' - type: object properties: status: type: string enum: - ACCEPTED - DELIVERED - SOFTBOUNCE - HARDBOUNCE - UNKNOWN example: DELIVERED required: - status DeliveryReportBatch: type: object properties: deliveryReports: type: array items: oneOf: - $ref: '#/components/schemas/DeliveryReportSuccess' - $ref: '#/components/schemas/DeliveryReportError' minItems: 1 maxItems: 1000 required: - deliveryReports DeliveryReportError: allOf: - $ref: '#/components/schemas/DeliveryReport' - type: object properties: status: type: string enum: - ERROR example: ERROR errorType: type: string enum: - AUTHENTICATION - INVALID_SENDER_ID - INSUFFICIENT_CREDIT - UNKNOWN example: AUTHENTICATION description: Type of the error. Used to determine how the user is notified. required: - status - errorType securitySchemes: oAuthAuthorization: type: oauth2 description: OAuth client credentials grant type authorization flows: clientCredentials: tokenUrl: https://smsemarsys.accounts.ondemand.com/oauth2/token scopes: {} x-sap-shortText: Process Partner service callbacks for the Emarsys SMS Partner API. Expected callbacks contain outbound message delivery reports and inbound messages.