API Напишем.ком Интеграция с сайтом агентства Подключение формы заказа Осуществлять доступ к API Напишем.ком лучше всего используя библиотеку cURL (http://ru.wikipedia.org/wiki/CURL) Доступ к API осуществляется обращением к адресу http://api.napishem.com/ Параметр command Принимаемые значения Одна из нижеописанных команд mode XML (по умолчанию) или JSON test_mode 0 (по умолчанию) или 1 Описание Команда к выполнению на сервере напишем.ком. Обязательный параметр формат возвращаемых значений Отключает/Включает тестовый режим Описание команд: getLanguages – Функция получения списка языков, используемых на сайте. Результат выполнения функции в формате XML <response> <status>0</status> <list> <element> <id>1</id> <name>русский</name> </element> <element> <id>2</id> <name>белорусский</name> </element> </list> </response> Результат выполнения функции в формате JSON {status: 0, list: [{id: 1, name:“русский”}, {id: 2, name:“ белорусский”}]}; Пример адреса запроса для доступа. http://api.napishem.com/?command=getLanguages&mode=JSON getCountries– Функция получения списка стран, используемых на сайте. Результат выполнения функции в формате XML <response> <status>0</status> <list> <element> <id>1</id> <name>Россия</name> </element> <element> <id>2</id> <name>Беларусь</name> </element> </list> </response> Результат выполнения функции в формате JSON {status: 0, list: [{id: 1, name:“Россия”}, {id: 2, name:“Беларусь”}]}; Пример адреса запроса для доступа. http://api.napishem.com/?command=getCountries getSubjects – Функция получения списка предметов учебных работ, используемых на сайте. Результат выполнения функции в формате XML <response> <status>0</status> <list> <element> <id>1</id> <name>Программирование</name> </element> <element> <id>2</id> <name>Русский язык и литература</name> </element> </list> </response> Результат выполнения функции в формате JSON {status: 0, list: [{id: 1, name:“Программирование”}, {id: 2, name:“Русский язык и литература”}]}; Пример адреса запроса для доступа. http://api.napishem.com/?command=getSubjects getOrdersType – Функция получения списка видов работ (Учебные, переводы и т.д.), используемых на сайте. Результат выполнения функции в формате XML <response> <status>0</status> <list> <element> <id>1</id> <name>Учебные работы</name> </element> <element> <id>2</id> <name>Переводы</name> </element> </list> </response> Результат выполнения функции в формате JSON {status: 0, list: [{id: 1, name:“Учебные работы”}, {id: 2, name:“Переводы”}]}; Пример адреса запроса для доступа. http://api.napishem.com/?command=getOrdersType getWorksType($order_type) – Функция получения типов работ. В качестве параметра принимает идентификатор вида, по которому необходимо получить тип Результат выполнения функции в формате XML <response> <status>0</status> <list> <element> <id>1</id> <name>Доклад</name> </element> <element> <id>2</id> <name>Диплом</name> </element> </list> </response> Результат выполнения функции в формате JSON {status: 0, list: [{id: 1, name:“Доклад”}, {id: 2, name:“Диплом”}]}; Пример адреса запроса для доступа. http://api.napishem.com/?command=getWorksType&order_type=1 createOrder($hash) – Функция создания. В качестве параметра принимает хэш с данными описания заказа. Содержание хэша, зависит от вида заказа. Для Учебных работ Название work_class owner_id Тип INT INT agency_id title type language INT String INT INT Описание Идентификатор существующего вида работ (Учебные работы) Идентификатор сотрудника агентства, от имени которого будет создан заказ Идентификатор агентства, которому принадлежит сотрудник Заголовок заказа Идентификатор типа работы (соответствующий виду) Язык subject volume_from volume_to task budget end_day email name Phone String INT INT String INT DATE STRING STRING STRING Название предмета Объем от Объем до Задание на работу Бюджет на работу Сроки заказчика (Формат даты ГГГГ-ММ-ДД) Email заказчика Имя заказчика Телефон заказчика Для копирайтинга и верстки документов Название work_class owner_id agency_id title type language volume_from task budget end_day email name Phone Тип INT Описание Идентификатор существующего вида работ (Копирайтинг/верстка) INT Идентификатор сотрудника агентства, от имени которого будет создан заказ INT Идентификатор агентства, которому принадлежит сотрудник String Заголовок заказа INT Идентификатор типа работы (соответствующий виду) INT Язык INT Объем String Задание на работу INT Бюджет на работу DATE Сроки заказчика (Формат даты ГГГГ-ММ-ДД) STRING Email заказчика STRING Имя заказчика STRING Телефон заказчика Для журналистики и региональных исследований Название work_class owner_id agency_id title type language volume_from task budget end_day email name Phone Тип INT Описание Идентификатор существующего вида работ (Копирайтинг/верстка) INT Идентификатор сотрудника агентства, от имени которого будет создан заказ INT Идентификатор агентства, которому принадлежит сотрудник String Заголовок заказа INT Идентификатор типа работы (соответствующий виду) INT Язык INT Объем String Задание на работу INT Бюджет на работу DATE Сроки заказчика (Формат даты ГГГГ-ММ-ДД) STRING Email заказчика STRING Имя заказчика STRING Телефон заказчика country_id city INT String Идентификатор страны, используемых на сайте Город Для Переводов Название work_class owner_id agency_id title type language to_language volume_from task budget end_day email name Phone Тип INT INT Описание Идентификатор существующего вида работ (Переводы) Идентификатор сотрудника агентства, от имени которого будет создан заказ INT Идентификатор агентства, которому принадлежит сотрудник String Заголовок заказа INT Идентификатор типа работы (соответствующий виду) INT Язык String Сериализованный массив языков, на который необходимо осуществить перевод INT Объем String Задание на работу INT Бюджет на работу DATE Сроки заказчика (Формат даты ГГГГ-ММ-ДД) STRING Email заказчика STRING Имя заказчика STRING Телефон заказчика Формат возвращаемых данных: JSON {"status":0,"order":{"id":"361","title":"Заголовок заказа"}} XML <response> <status>0</status> <order> <id>361</id> <title>Заголовок заказа</title> </order> </response> Id – Идентификатор заказа napishem.com Title – заголовок заказа Обработка результатов – актуально для всех команд Поле статус содержит код результата: 0 1 2 3 4 – – – – – Заказ успешно размещен. Ошибка. Запрошенная команда не существует. Ошибка. Не достаточно прав для завершения осуществления операции. Ошибка. Валидация создания заказа. Ошибка. Данные не найдены. 100 – Ошибка. Другая ошибка.